Bolt là một hệ thống quản lý nội dung miễn phí, mã nguồn mở, nhẹ và đơn giản dựa trên PHP. Nó được thiết kế để dễ sử dụng và giúp bạn dễ dàng tạo các trang web có nội dung mạnh mẽ và năng động. Nó được xây dựng trên microframework Silex và là một giải pháp thay thế tuyệt vời cho những ai đang tìm kiếm một hệ thống PHP hiện đại. Nó được tạo bằng các thư viện mã nguồn mở hiện đại và phù hợp nhất để xây dựng các trang web trong HTML5 với đánh dấu hiện đại.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Bolt CMS với Nginx và Let's Encrypt SSL trên Ubuntu 20.04.
Sau khi tất cả các gói được cập nhật, hãy cài đặt các gói phụ thuộc khác bằng cách chạy lệnh sau:
Sau khi cài đặt tất cả các gói phụ thuộc, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, bạn sẽ cần cài đặt phiên bản PHP 7.2 trong máy chủ của mình. Theo mặc định, Ubuntu 20.04 đi kèm với phiên bản PHP 7.4. Vì vậy, bạn sẽ cần thêm kho lưu trữ Ondrej PHP vào hệ thống của mình.
Bạn có thể thêm kho lưu trữ PHP bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cập nhật kho lưu trữ và cài đặt PHP cùng các tiện ích mở rộng cần thiết khác bằng lệnh sau:
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Bolt bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi tải xuống Bolt, hãy thay đổi thư mục thành bolt và sao chép tệp cấu hình mẫu:
Tiếp theo, chỉnh sửa tệp config.yml và xác định cài đặt cơ sở dữ liệu của bạn:
Xóa dòng cơ sở dữ liệu sqlite mặc định và thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, bạn sẽ cần cài đặt Composer trong hệ thống của mình. Composer là trình quản lý phụ thuộc cho PHP. Bạn có thể cài đặt bằng lệnh sau:
Sau khi cài đặt Composer, bạn sẽ nhận được kết quả sau:
Tiếp theo, cài đặt các phụ thuộc PHP cần thiết cho Bolt CMS bằng lệnh sau:
Sau khi tất cả các phụ thuộc được cài đặt, hãy thay đổi quyền sở hữu và quyền của thư mục in đậm:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó bật tệp máy chủ ảo Nginx bằng lệnh sau:
Tiếp theo, hãy xác minh Nginx xem có lỗi cấu hình nào không bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Cuối cùng, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Tại thời điểm này, Nginx được cấu hình để phục vụ Bolt CMS. Bây giờ bạn có thể tiến hành bước tiếp theo.
Cung cấp tên người dùng, mật khẩu, email mong muốn và nhấp vào nút Tạo người dùng đầu tiên. Bạn sẽ thấy bảng điều khiển Bolt CMS trong trang sau:
Bây giờ, hãy nhấp vào nút Xem trang web. Bạn sẽ thấy trang trang web đơn giản Bolt CMS trong trang sau:
Sau khi cài đặt, hãy bảo mật trang web của bạn bằng Let's Encrypt SSL bằng cách chạy lệnh sau:
Bạn sẽ được yêu cầu cung cấp địa chỉ email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Nhập 2 và nhấn Enter để hoàn tất cài đặt. Bạn sẽ thấy kết quả sau:
Bây giờ, trang web BoltCMS của bạn đã được bảo mật bằng Let's Encrypt SSL. Bạn có thể truy cập trang web một cách an toàn bằng URL
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Bolt CMS với Nginx và Let's Encrypt SSL trên Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn nên cập nhật hệ thống của mình lên phiên bản gói mới nhất. Bạn có thể cập nhật bằng lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install software-properties-common gnupg2 unzip git -y
Cài đặt LEMP Server
Trước tiên, hãy cài đặt Nginx và MariaDB server bằng cách chạy lệnh sau:
Mã:
apt-get install nginx mariadb-server -y
Bạn có thể thêm kho lưu trữ PHP bằng lệnh sau:
Mã:
add-apt-repository ppa:ondrej/php
Mã:
apt-get update -y
Mã:
apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml -y
Mã:
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Tạo Cơ sở dữ liệu cho Bolt
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho Bolt. Trước tiên, hãy đăng nhập vào MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> CREATE DATABASE boltdb;
MariaDB [(none)]> CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> GRANT ALL ON boltdb.* TO 'bolt'@'localhost';
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Tải xuống Bolt CMS
Trước tiên, bạn sẽ cần tải xuống phiên bản Bolt CMS mới nhất từ kho lưu trữ Git. Bạn có thể tải xuống thư mục gốc Nginx bằng cách chạy lệnh sau:
Mã:
cd /var/www/html
git clone https://github.com/bolt/bolt.git
Mã:
cd bolt
cp app/config/config.yml.dist app/config/config.yml
Mã:
nano app/config/config.yml
Mã:
database: driver: mysql username: bolt password: password databasename: boltdb host: localhost prefix: prefix_
Tiếp theo, bạn sẽ cần cài đặt Composer trong hệ thống của mình. Composer là trình quản lý phụ thuộc cho PHP. Bạn có thể cài đặt bằng lệnh sau:
Mã:
wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Mã:
Tất cả các thiết lập đều đúng để sử dụng ComposerĐang tải xuống...Composer (phiên bản 2.0.2) đã được cài đặt thành công vào: /usr/local/bin/composerSử dụng: php /usr/local/bin/composer
Mã:
composer install
Mã:
chown -R www-data:www-data /var/www/html/bolt
chmod -R 755 /var/www/html/bolt
Cấu hình Nginx cho Bolt
Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx cho Bolt CMS. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/bolt.conf
Mã:
server { listen 80; root /var/www/html/bolt; index index.php index.html index.htm; server_name bolt.example.com; vị trí / { try_files $uri $uri/ /index.php?$query_string; }vị trí ~ [^/]\.php(/|$) { try_files /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } vị trí = /bolt { try_files $uri /index.php?$query_string; } vị trí ^~ /bolt/ { try_files $uri /index.php?$query_string; }}
Mã:
ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/bolt.conf
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl restart nginx
Truy cập Bolt CMS
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến trang sau:Cung cấp tên người dùng, mật khẩu, email mong muốn và nhấp vào nút Tạo người dùng đầu tiên. Bạn sẽ thấy bảng điều khiển Bolt CMS trong trang sau:
Bây giờ, hãy nhấp vào nút Xem trang web. Bạn sẽ thấy trang trang web đơn giản Bolt CMS trong trang sau:
Bảo mật BoltCMS bằng Let's Encrypt SSL
Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Trước tiên, hãy cài đặt ứng dụng khách Certbot Let's Encrypt trên máy chủ của bạn bằng lệnh sau:
Mã:
apt-get install python3-certbot-nginx -y
Mã:
certbot --nginx -d bolt.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho bolt.example.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/sites-enabled/bolt.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác thay đổi nàybằng cách chỉnh sửa cấu hình máy chủ web của bạn.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] sau đó [enter] (nhấn 'c' để hủy): 2
Mã:
Chuyển hướng tất cả lưu lượng trên cổng 80 sang ssl trong /etc/nginx/sites-enabled/bolt.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://bolt.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=bolt.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/bolt.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/bolt.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 30-10-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* các chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.