Fuel CMS là một hệ thống quản lý nội dung nguồn mở được sử dụng cho các trang web. Nó dựa trên khuôn khổ web CodeIgniter PHP và được sử dụng để phát triển web nâng cao. Nó giúp người dùng tạo các mô-đun tùy chỉnh và xem và sử dụng phần CMS theo yêu cầu của họ. Nó cung cấp một giao diện web đơn giản và thân thiện với người dùng để quản lý các trang web từ bất kỳ thiết bị nào.
Bài viết này sẽ giải thích cách cài đặt hệ thống Fuel CMS với Nginx và Let's Encrypt SSL trên Ubuntu 22.04.
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và thay đổi một số cài đặt PHP mặc định:
Thay đổi các mục sau dòng:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Sau khi kết nối, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau lệnh:
Tại thời điểm này, MariaDB được cấu hình cho Fuel CMS. Bây giờ bạn có thể tiến hành bước tiếp theo.
Tiếp theo, điều hướng đến thư mục Fuel CMS và tải xuống phiên bản Fuel CMS mới nhất bằng lệnh sau:
Sau khi tải xuống hoàn tất, giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển toàn bộ nội dung từ thư mục đã giải nén vào thư mục hiện tại của bạn bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp database.php và xác định cơ sở dữ liệu của bạn cài đặt:
Thay đổi các dòng sau:
Tiếp theo, nhập lược đồ Fuel CMS vào cơ sở dữ liệu nhiên liệu bằng lệnh sau lệnh:
Tiếp theo, chỉnh sửa MY_fuel.php và bật chức năng đăng nhập quản trị:
Đổi FALSE thành TRUE như hình minh họa bên dưới:
Lưu và đóng tệp sau đó tạo thư mục phiên và thiết lập quyền sở hữu phù hợp:
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 sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Bây giờ bạn có thể xác minh trạng thái của Nginx bằng lệnh sau lệnh:
Bạn sẽ thấy đầu ra sau:
Tại thời điểm này, Nginx được cấu hình để lưu trữ Fuel CMS. Bây giờ bạn có thể tiếp tục truy cập Fuel CMS.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22337%22%3E%3C/svg%3E
Cung cấp tên người dùng và mật khẩu quản trị viên mặc định là admin và nhấp vào nút Đăng nhập. Bạn sẽ thấy màn hình đặt lại mật khẩu:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22339%22%3E%3C/svg%3E
Nhấp vào nút đặt lại mật khẩu. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Cung cấp mật khẩu mới của bạn và nhấp vào nút Lưu để lưu các thay đổi. Bây giờ, hãy nhấp vào nút Bảng điều khiển. Bạn sẽ thấy bảng điều khiển Fuel CMS trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22339%22%3E%3C/svg%3E
Đầu tiên, hãy cài đặt Certbot bằng lệnh sau lệnh:
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để cài đặt Let's Encrypt SSL trên trang web của bạn:
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 quá trình cài đặt. Bạn sẽ thấy kết quả sau:
Bây giờ, trang web 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
Bài viết này sẽ giải thích cách cài đặt hệ thống Fuel CMS với Nginx và Let's Encrypt SSL trên Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04.
- Một tên miền được trỏ đến IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Cập nhật hệ thống
Trước tiên, bạn nên cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Cài đặt Nginx, MariaDB và PHP
Tiếp theo, bạn phải cài đặt Nginx web server, MariaDB, PHP và các tiện ích mở rộng PHP khác vào hệ thống của bạn. Bạn có thể cài đặt tất cả các gói bằng lệnh sau:
Mã:
apt-get install nginx mariadb-server php php-cli php-fpm php-mysqli php-curl php-gd php-xml php-common unzip -y
Mã:
nano /etc/php/8.1/fpm/php.ini
Mã:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = UTC
Mã:
systemctl restart php8.1-fpm
Cấu hình cơ sở dữ liệu MariaDB
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho Fuel CMS. Trước tiên, hãy đăng nhập vào bảng điều khiển MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> CREATE DATABASE fuel;
MariaDB [(none)]> GRANT ALL ON fuel.* TO 'fuel'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Cài đặt Fuel CMS
Trước tiên, tạo một thư mục để lưu trữ nội dung Fuel CMS bằng lệnh sau:
Mã:
mkdir -p /var/www/html/fuel
Mã:
cd /var/www/html/fuel
wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Mã:
unzip master.zip
Mã:
mv FUEL-CMS-master/* .
Mã:
nano fuel/application/config/database.php
Mã:
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'fuel', 'password' => 'password', 'database' => 'fuel', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE,
Mã:
mysql -u fuel -p fuel < fuel/install/fuel_schema.sql
Mã:
nano fuel/application/config/MY_fuel.php
Mã:
$config['admin_enabled’] = TRUE;
Mã:
mkdir -p /var/lib/php/session
chown -R www-data:www-data /var/lib/php/session
chown -R www-data:www-data /var/www/html/fuel
Cấu hình Nginx cho Fuel CMS
Đầu tiên, hãy tạo tệp cấu hình máy chủ ảo Nginx để phục vụ Fuel CMS.
Mã:
nano /etc/nginx/conf.d/fuel.conf
Mã:
server {
listen 80;
root /var/www/html/fuel;
index index.php index.html index.htm;
server_name fuelcms.example.com;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
} location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
}
Mã:
nginx -t
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
systemctl reload nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-11-20 11:20:17 UTC; 8min ago Docs: man:nginx(8) Process: 77816 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS) Main PID: 76763 (nginx) Tasks: 2 (limit: 2242) Memory: 3.0M CPU: 62ms CGroup: /system.slice/nginx.service ??76763 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??77817 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Nov 20 11:20:17 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 20 11:20:17 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Nov 20 11:28:14 ubuntu2204 systemd[1]: Reloading A high performance web server and a reverse proxy server...
Nov 20 11:28:14 ubuntu2204 systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Truy cập Giao diện web Fuel CMS
Bây giờ, hãy mở trình duyệt web của bạn và truy cập Fuel CMS bằng URL Bạn sẽ được chuyển hướng đến trang đăng nhập Fuel CMS:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22337%22%3E%3C/svg%3E
Cung cấp tên người dùng và mật khẩu quản trị viên mặc định là admin và nhấp vào nút Đăng nhập. Bạn sẽ thấy màn hình đặt lại mật khẩu:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22339%22%3E%3C/svg%3E
Nhấp vào nút đặt lại mật khẩu. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Cung cấp mật khẩu mới của bạn và nhấp vào nút Lưu để lưu các thay đổi. Bây giờ, hãy nhấp vào nút Bảng điều khiển. Bạn sẽ thấy bảng điều khiển Fuel CMS trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22339%22%3E%3C/svg%3E
Bảo mật Fuel CMS bằng Let's Encrypt
Tiếp theo, bạn sẽ cần cài đặt gói máy khách Certbot để cài đặt và quản lý Let's Encrypt SSL.Đầu tiên, hãy cài đặt Certbot bằng lệnh sau lệnh:
Mã:
apt-get install python3-certbot-nginx -y
Mã:
certbot --nginx -d fuelcms.example.com
Mã:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [emailprotected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for fuelcms.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/fuel.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Mã:
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/fuel.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://fuelcms.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=fuelcms.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/fuelcms.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/fuelcms.example.com/privkey.pem Your cert will expire on 2023-02-20. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.