Skip to content Skip to main navigation Skip to footer

Hướng dẫn cài đặt và sử dụng Webinoly

Hướng dẫn cài đặt và sử dụng Webinoly cho người mới!

Chào các bạn, mình là Quân đây. Tiếp tục bài viết hôm nay mình sẽ giới thiệu đến bạn một script, một bộ công cụ quản lý website rất tốt, rất nhiều tính năng mà mình mà mình muốn chia sẽ đến bạn và đó là chính là Webinoly. Hãy cùng mình tìm hiểu nhé.

Ở bài này mình sẽ chia ra làm 2 Phần chính đó là giới thiệu, cài đặt và cách sử dụng. Hãy cùng mình bắt đầu nhé.

Phần 1: Giới thiệu và cài đặt Webinoly

I. Giới thiệu Webinoly

Giống như các script khác được cài đặt LEMP (Linux, Nginx, MariaDB, PHP), nhưng khác với những script như (hocvps, vpssim, larvps, centmin mod…) Ở Webinoly có gì hay và nổi bật hãy cùng mình cài đặt và khám phá ngay bây giờ nha.

Các tính năng nổi bật

  • SSL miễn phí với Let’s Encrypt, tự động gia hạn SSL.
  • Hỗ trợ HTTP/2
  • Hộ trợ các phiên bản PHP mới nhất
  • Sử dụng FastCgi Cache và Redis Cache
  • Đạt điểm A tại SSLlabs
  • Tự động tối ưu hóa máy chủ để tận dụng các tài nguyên tối đa

Quản lý website dễ dàng

  • Các lệnh quản lý website dễ dàng và duy nhất như tạo, xóa, vô hiệu hóa các trang web.
  • Hỗ trợ các tính năng nâng cao cho các trang WordPress. (One-third of the Internet runs on WP)
  • Hỗ trợ nhiều loại trang web như HTML, PHP, Reverse-Proxy hoặc bất kỳ cấu hình nào bạn muốn trong môi trường LEMP.
  • Hỗ trợ APP như: Laravel, Node, Angular, React, Vue, v.v. trong thiết lập NGINX
  • Cài đặt Chứng chỉ SSL honà toàn tự động
  • Trình quản lý chuyển hướng NGINX, Sao lưu, SMTP và nhiều tính năng khác.
  • Tích hợp Datadog để theo dõi và phân tích.
  • Trình xem nhật ký trong thời gian thực (real time).

II. Cài đặt Webinoly

Yêu cầu máy chủ:

  • Hệ điều hành: Ubuntu 20.04 hoặc 18.04
  • CPU: 1core
  • RAM: 1GB RAM
  • Disk: 10GB

Bước 1: SSH vào máy chủ

Để cài đặt Webinoly, việc đầu tiên chúng ta cần làm là SSH vào VPS hoặc máy chủ của bạn với quyền root trước. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

Bước 2: Cài đặt Webinoly trên Ubuntu

Thời gian cài đặt Webinoly có thể mất hơn 10phút nhưng để không bị tắt đột ngột bạn nên sử dụng screen để chạy là an toàn nhất.

AZDIGI Tutorial
wget -qO weby qrok.es/wy && sudo bash weby 3
    
cài đặt và sử dụng Webinoly

Mình mất hơn 10 phút để cài đặt vì mình chọn cấu hình máy chủ thấp nhất để test với script này. Khi hoàn tất bạn sẽ nhận được một thông báo bên dưới, ở thông báo này bạn hãy lưu lại thông tin root và admin nhé.

cài đặt và sử dụng Webinoly

Bây giờ mình sẽ netstat lên để xem các dịch vụ được cài vào và đang hoạt động. Nếu như bạn không gỏ được lệnh netstat hãy cài net-tools vào nhé.

AZDIGI Tutorial
apt install net-tools -y
    

Lưu ý: Nếu bạn gặp lỗi như ảnh bên dưới hãy thực hiện fix như sau.

Bạn mở file /etc/nginx/nginx.conf và thêm vào dòng server_names_hash_bucket_size: 32 như ảnh nhé.

Bên dưới là một số dịch vụ quan trọng có trong Webinoly

  • NGINX: Webserver là NGINX
  • PHP-FPM: PHP-FPM viết tắt của FastCGI Process Manager là chương trình có chức năng phiên dịch PHP khi chạy trang web cho web server. PHP-FPM được hình thành dựa trên sự mở rộng của CGI và hiện đang được đông đảo người dùng lựa chọn
  • MARIADB: MariaDB 10.x Phiên bản nâng cấp hiệu suất MySQL được sử dụng theo mặc định như một giải pháp thay thế cho Máy chủ Oracle MySQL chính thức và được cài đặt thông qua MariaDB RPM chính thức.
  • Redis: Redis (REmote DIctionary Server) là một mã nguồn mở được dùng để lưu trữ dữ liệu có cấu trúc, có thể sử dụng như một database, bộ nhớ cache hay một message broker.
  • Memcached: Memcached là một hệ thống lưu trữ bản sao các đối tượng (objects) và dữ liệu được truy cập nhiều lần để tăng tốc độc truy xuất. Mục đích chính của nó là để tăng tốc độ ứng dụng web bằng cách truy vấn cơ sở dữ liệu bộ nhớ đệm, nội dung, hoặc kết quả tính toán khác.
cài đặt và sử dụng Webinoly

Phần 2: Hướng dẫn sử dụng

Tiếp theo phần 2 hãy cùng mình tìm hiểu cách sử dụng Webinoly nhé. Ở đây mình sẽ hướng dẫn một số lệnh chung dùng để thiết lập nhanh và các mô tả đi kèm trên các dòng lệnh.

AZDIGI Tutorial
# Cài đặt nhanh Webinoly
wget -qO weby qrok.es/wy && sudo bash weby 3

# Tạo website WordPress với FastCGI Cache
sudo site example.com -wp -cache=on

# Cài đặt SSL Certificate (HTTPS) cho website
sudo site example.com -ssl=on

# Truy cập website https://example.com và hoàn tất thiết lập WordPress
# Webinoly sẽ bảo vệ trang đăng nhập WordPress(wp-admin / wp-login), và bạn cần tạo một người dùng để xác thực HTTP
sudo httpauth -add

# Kích hoạt cho phép user www-data upload và sửa file qua SFTP.
sudo webinoly -login-www-data=on
    

1. HTTP Authentication (Xác thực HTTP)

Lệnh “HttpAuth” cho phép bạn quản lý người dùng có quyền truy cập vào các trang được bảo vệ bởi phương thức xác thực HTTP, ngoài việc kiểm soát việc kích hoạt lớp bảo mật bổ sung này trong các công cụ truy cập trang như phpMyAdmin và wp-admin hoặc wp-login.

Cú pháp thực hiện

AZDIGI Tutorial
sudo httpauth 

Các tùy chọn đi kèm

  • -add
  • -delete
  • -list
  • -path
  • -whitelist
  • -wp-admin

Ví dụ

# Tạo user sudo httpauth -add # Vô hiệu WP Auth sudo httpauth -wp-admin=off # Bảo vệ folder/file sudo httpauth example.com -path=/folder

1.1 Tạo User

Để tạo người dùng và mật khẩu để truy cập vào các phần được bảo vệ bằng Xác thực HTTP, hãy sử dụng lệnh này.

AZDIGI Tutorial
sudo httpauth -add
    
Ví dụ:
sudo httpauth -add=[user,password]

Bạn cũng có thể tạo một người dùng với các quyền hạn chế để chỉ truy cập vào một tên miền cụ thể.

sudo httpauth example.com -add

Sau khi bạn đã tạo một hoặc nhiều người dùng cho một tên miền cụ thể. Thì chỉ những người dùng này được phép truy cập vào tên miền này, những người dùng có quyền truy cập toàn cầu sẽ bị vô hiệu hóa đối với trang web này.

1.2 Delete user

Để xóa user bạn sử dụng lệnh sau

AZDIGI Tutorial
sudo httpauth -delete
    
#Xóa bỏ user
 sudo httpauth -delete=user

#Xóa user khỏi tên miền chỉ định
 sudo httpauth example.com -delete

1.3 Lists from anything (Hiển thị danh sách tất cả User)

Để hiển thị tất cả danh sách các user đã được tạo vơi quyền xác thực HTTP bạn sử dụng lệnh sau.

AZDIGI Tutorial
sudo httpauth -list
    

Sử dụng tùy chọn -raw

#Xóa định dạng khỏi danh sách
sudo httpauth -list -raw

#Liệt kê user từ tên miền cụ thể
sudo httpauth example.com -list

#Liệt kê tất cả các đường dẫn thư mục, file được bảo vệ.
sudo httpauth example.com -list=protected

#Liệt kê tất cả các IP trong danh sách trắng
sudo httpauth -whitelist -list

1.4 HTTP Authentication in WordPress Login (Xác thực WordPress Login)

Theo mặc định khi bạn khởi tạo WordPress thì thư mục wp-admin thư mục để login vào WordPress sẽ được khóa lại. Việc này có lẽ khá phiền toái cho bạn khi thiết lập. Nhưng nếu nhìn theo chiều hướng tích cực thì khi một website hoạt động public trên internet sẽ phải đối diện các mối nguy hiểm. Do đó webinoly thiết lập xác minh này mình thấy rất hữu dụng và mình rất thích cũng như tin tưởng vào sự bảo mật của webinoly.

Và để tắt xác minh bạn thực hiện như sau

#Bặt/Tắt xác minh wp-admin cho mọi trang web
 sudo httpauth -wp-admin = off

#Bật/tắt xác minh cho một trang web được chỉ định
 sudo httpauth example.com -wp-admin = off

1.5 Protect a custom folder or file (Bảo vệ thư mục hoặc tệp tin)

Để bảo vệ thư mục hoặc tệp tin bạn sử dụng cú pháp như sau.

AZDIGI Tutorial
 sudo httpauth example.com -path=/folder
    

1.6 Whitelist IP (Danh sách trắng IP)

Để thêm IP vào danh sách trắng, danh sách an toàn không bị hỏi khi đăng nhập bạn thực hiện như sau.

AZDIGI Tutorial
sudo httpauth -whitelist
    

Hoặc bạn có thể thêm trực tiếp IP như sau

sudo httpauth -whitelist=123.123.123.123

Để xóa IP đã thêm trước bạn sử dụng lệnh sau.

sudo httpauth -whitelist -purge

2. Real-Time Logs

Với bất kỳ một hệ thống nào thì Logs là một công cụ thông thể thiếu được. Với xem Log giúp bạn kiểm tra kiếm soát và gở lỗi. Hoặc có thể theo dỏi giám sát website, các dịch vụ dưới thời gian thực.

Cú pháp thực hiện.

AZDIGI Tutorial
sudo log  

Các tùy chọn đi kèm

  • -error
  • -le
  • -mail
  • –mysql
  • -only-error
  • –php
  • -purge
  • -ssh
  • -syslog
  • -wp

Ví dụ

#Bật chế độ Debug WP
sudo log example.com -wp=on

#Bật access log
sudo log example.com -only-error=off

#Xem log của web dưới dạng real-time
sudo log example.com

2.1 Nginx Access Logs

Mặc định Access Logs Nginx sẽ tắt bạn để xem bạn cần bật nó lên.

Để kích hoạt nhật ký truy cập chung và áp dụng cho tất cả các trang web mới được tạo bạn sử dụng lệnh sau.

sudo log -only-error=off

Kích hoạt cho một website cụ thể

sudo log example.com -only-error=off

Để hủy kích hoạt bạn thay đổi tùy chọn bằng -only-error=on nhé.

2.2 Website access log (Xem access log website)

Để xem access log một website cụ thể bạn sử dụng lệnh sau.

sudo log example.com

Để xem access log của tất cả các website bạn sử dụng lệnh sau.

sudo log

2.3 How can I view the error log (Xem error log)

Nếu bạn muốn thấy “warning” hoặc “error” của trang web WordPress do PHP tạo ra trong quá trình thực thi bạn sử dụng lệnh sau để hiển thị.

sudo log example.com -error

Nếu bạn muốn xem error log của tất cả các website được tạo ra hãy sử dụng lệnh sau.

sudo log -error

2.4 WordPress Debug

Sau khi bạn đã cấu hình Debug trong wp-config.php bạn hãy tạo một file debug.log trong /wp-content/

Để xem trong thời gian thực từ dòng lệnh các sự kiện được tạo trong tệp này, bạn sử dụng lệnh sau:

sudo log example.com -wp

Để bật tắt (on/off) WordPress debug bạn sử dụng lệnh sau nhé.

sudo log example.com -wp=on

2.5 Xem log ứng dụng.

Webinoly hỗ trợ trực quan hóa các sự kiện được tạo bởi PHP, MySQL, mail, syslog, SSH và Let’s Encrypt và để xem bạn hãy sử dụng các lệnh sau.

sudo log -php
sudo log -ssh
sudo log -mail
sudo log -syslog
sudo log -le

2.6 MySQL logs

Ở Webinoly MySQL logs luôn được bật, và để xem bạn hãy dùng lệnh sau.

sudo log -mysql=error

The general log 

sudo log -mysql=general
sudo log -mysql=general -enable
sudo log -mysql=general -disable

The slow query log

sudo log -mysql=slow
sudo log -mysql=slow -enable
sudo log -mysql=slow -disable

Binary log

sudo log -mysql=binary
sudo log -mysql=binary -enable
sudo log -mysql=binary -disable

3. Sites Manager

Lệnh site cho phép bạn thực hiện thao tác quản lý các website trên server như tạo mới các website, kích hoạt FastCGI Cache, thêm SSL và nhiều tính năng khác để bạn quản lý kiếm soát website một cách an toàn và tin cậy.

Cú pháp thực hiện

AZDIGI Tutorial
sudo site  

Các tùy chọn đi kèm

  • -cache
  • -clone-from
  • -delete
  • -delete-all
  • -force-redirect
  • -forward
  • –html
  • -info
  • -list
  • -multisite-convert
  • –mysql
  • -on
  • -off
  • -parked
  • –php
  • -proxy
  • -redirection
  • –ssl
  • -wp

Ví dụ về lệnh.

#Tạo site PHP
 sudo site example.com -php

#Tạo site WordPress và bật cache
 sudo site example.com -wp -cache=on

#Vô hiệu cache
 sudo site example.com -cache=off

#SSL Cert
 sudo site example.com -ssl=on

#Liệt kê các website
 sudo site -list

#Clone website WordPress
 sudo site example.com -clone-from=staging.example.com

#Page redirect
 sudo site example.com -redirection

3.1 Create a new site (Tạo mới website)

Tạo website HTML bạn thực hiện lệnh sau

sudo site example.com -html

Tạo website hỗ trợ PHP bạn sử dụng lệnh sau

sudo site example.com -php

Tạo website PHP kết nối Database bạn sử dụng lệnh sau.

sudo site example.com -mysql

Dữ liệu để kết nối với cơ sở dữ liệu sẽ được hiển thị sau khi thực bạn hiện lệnh xong.

#Sử dụng option -mysql không có tên miền để tạo DB và User (MySQL)
sudo site -mysql

#Dữ liệu tùy chỉnh
 sudo site example.com -mysql=custom

#Dữ liệu tùy chỉnh
 sudo site -mysql=[host,dbname,dbuser,password]
 sudo site example.com -mysql=[host,dbname,dbuser,password,external_dbuser,external_dbpass]

3.2 WordPress

Với WordPress thì trên Webinoly rất dễ dàng, Webinoly sẽ tự động cài đặt và cấu hình cho bạn. Bạn chỉ cần setup các bước còn lại cho website.

Cú pháp thực hiện

AZDIGI Tutorial
sudo site example.com -wp
    

Để tùy chỉnh riêng bạn hãy sử dụng thêm tùy chọn custom. Khi đó mọi thao tác sẽ được gợi ý cho bạn trong quá trình nhập liệu

#Cài đặt và cấu hình WordPress với tùy chọn custom
sudo site example.com -wp=custom -cache=on
#Cài đặt WordPress với dữ liệu  tùy chỉnh
 sudo site example.com -wp=[,,,,,,,,]

#Ví dụ
sudo site example.com -wp=[true,true,localhost,example_com,example_user,password,wp_]

3.3 FastCGI Cache

Cùng với Nginx, FastCGI là cách tối ưu hóa tốt nhất mà bạn có thể làm để tăng tốc trang web WordPress của mình. webinoly sử dụng duy nhất FastCGI nên bạn sẽ không thể sử dụng các plugin như W3 Total Cache, Super Cache hoặc WP Rocket.

Bật tắt on/off FastCGI

sudo site example.com -cache=on

Bạn cũng có thể kích hoạt khi cài WordPress

sudo site example.com -wp -cache=on

Với FastCGI cache bạn nên sử dụng Plugin Nginx Helper cấu hình cache nhé.

3.4 Cloning website WordPress

Tính năng này cho phép bạn nhân bản một website đã xây dựng hoàn tất sang một website khác. Để sử dụng bạn dùng lệnh sau.

AZDIGI Tutorial
sudo site example.com -clone-from=dev.example.com
    

3.5 Parked domain or alias

Parked domain hay là alias cho phép bạn truy cập với 2 tên miền khác nhau nhưng sẽ hiện cùng một nội dung. Để sử dụng bạn dùng lệnh sau.

AZDIGI Tutorial
sudo site example.com -parked
    

Ví dụ:

sudo site example.com -parked=mainsite.com

3.6 Domain forwarding

Chức năng này giống như Redirect trên các control. Khi bạn truy cập domain A sẽ tự động chuyển tiếp sáng domain B. Để sử dụng bạn dùng cú pháp sau.

AZDIGI Tutorial
sudo site example.com -forward=example.org
    

3.7 Vô hiệu website

Với webinoly cho phép bạn bật tắt một website, nói cách khác là tạm ngưng một website nhất định. Bạn sử dụng cú pháp sau để thực hiện nhé.

#Enable website
sudo site example.com -on

#Disable website
 sudo site example.com -off

3.8 Delete a website (Xóa bỏ website)

Để xóa bỏ một trang web bạn sử dụng lệnh với cú pháp sau. Bạn nên lưu ý với tùy lệnh này vì khi xóa sẽ không thể phục hồi được.

AZDIGI Tutorial
sudo site example.com -delete
    

3.9 Site Info

Để xem thông tin website bạn sử dụng lệnh sau.

AZDIGI Tutorial
sudo site example.com -info
    

3.10 List of your sites (Liệt kê website)

Để liệt kê website bạn sử dụng lệnh sau nhé.

AZDIGI Tutorial
sudo site -list
    

3.11 Cấu hình WWW hoặc non-WWW

Theo mặc định webinoly sẽ định cấu hình hỗ trợ www và non-www. Có nghĩa là bạn đều sử dụng được www và no-www. (Lưu ý không phải là sub.domain nhé)

Cú pháp thực hiện

AZDIGI Tutorial
sudo site example.com -force-redirect=
    

Các tùy chọn.

  • www
  • root
  • off

3.12 SSL Certificates with Let’s Encrypt (Chứng chỉ SSL với Let’s Encrypt)

Let’s Encrypt đúng là một tổ chức cung cấp chứng chỉ SSL miễn phí mạnh nhất thế giới. Với các control nói chung và webinoly nói riêng, bạn vẫn có thể cài đặt Let’s Encrypt. Để cài đặt bạn sử dụng cú pháp sau.

Trong quá trình tạo chứng chỉ, Webinoly sẽ hỏi tài khoản email của bạn, email này sẽ được dùng để đăng ký chứng chỉ mới, ngoài ra còn giúp bạn theo dõi quá trình gia hạn định kỳ.

Lưu ý: Để cài đặt SSL bắt buộc bạn phải trỏ domain/subdomain về IP máy chủ.

AZDIGI Tutorial
sudo site example.com -ssl=on
    

3.13 Disable SSL on a site (Vô hiệu SSL)

Nếu vì lý do nào đó, bạn cần hủy kích hoạt việc sử dụng chứng chỉ SSL trong trang web của mình, chỉ cần thực hiện lệnh sau.

AZDIGI Tutorial
sudo site example.com -ssl=off
    

3.14 Certificates in parked sites (SSL cho parked site)

Tùy chọn này chỉ thực hiện khi bạn cài ssl cho parked domain nhé.

AZDIGI Tutorial
sudo site example.com -ssl=on -root=mainsite.com
    

3.15 Wildcard Certificates

Khi bạn cần một chứng chỉ để bao gồm tất cả các miền phụ (* .example.com). Đây là loại chứng chỉ sử dụng phổ biến trong cài đặt WordPress Multisite trong cấu hình miền phụ của bạn, để cài đặt bạn sử dụng cú pháp lệnh như sau.

AZDIGI Tutorial
sudo site example.com -ssl=on -wildcard
    

3.16 Renewing certificates (Gia hạn chứng chỉ)

Mặc dù Webinoly có một hệ thống dự phòng cho quá trình gia hạn tự động, nhưng bạn vẫn có một tùy chọn gia hạn thủ công như sau.

AZDIGI Tutorial
sudo site -ssl=renew
    

Để gia hạn tất cả các chứng chỉ SSL trên máy chủ bạn sử dụng cú pháp sau để gia hạn tất cả.

AZDIGI Tutorial
sudo site -ssl=force-renewal-all
    

Để gia hạn một chứng chỉ chỉ định bạn sử dụng cú pháp sau để gia hạn nhé.

AZDIGI Tutorial
sudo site example.com -ssl=force-renewal
    

3.17 Custom SSL Certificate (Cấu hình SSL tùy chỉnh)

Trước hợp này chỉ sử dụng khi bạn có SSL riêng và muốn cài đặt ssl này vào website. Để cài đặt bạn thực hiện như sau.

AZDIGI Tutorial
sudo site example.com -ssl=on -ssl-key=/path/cert.key -ssl-crt=/path/cert.crt -ssl-ocsp=/path/cert.pem
    

Tổng kết

Kết thúc bài Hướng dẫn cài đặt và sử dụng Webinoly với 2 phần trên hy vọng bài viết này sẽ giúp bạn cài đặt thành công và quản lý được script này. Với các bài viết sau của Webinoly mình sẽ hướng dẫn bạn cài đặt mã nguồn WordPress và tạo SSL. Còn ở bài viết này mình xin tạm dừng tại đây nhé.

Chúc bạn thực hiện thành công.

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới: