Cách cài đặt Fuel CMS với Nginx trên Fedora 31

theanh

Administrator
Nhân viên
Fuel CMS là một hệ thống quản lý nội dung nguồn mở dành cho các trang web và blog cao cấp. Hệ thống này được xây dựng trên CodeIgniter, một khuôn khổ web PHP phổ biến. Hướng dẫn này sẽ trình bày cách cài đặt Fuel CMS trên máy chủ chạy Fedora 31.

Điều kiện tiên quyết​


  • Máy chủ chạy Fedora 31 được cấu hình với LEMP Stack. Bạn có thểlàm theo hướng dẫn của chúng tôi để thực hiện.

  • Người dùng sudo không phải root.

  • Đảm bảo mọi thứ đã được cập nhật.
Mã:
$ sudo dnf upgrade

Cấu hình MariaDB cho Fuel CMS​

Đầu tiên, chúng ta cần thiết lập cơ sở dữ liệu để sử dụng cho Fuel CMS. Để thực hiện điều đó, hãy đăng nhập vào dấu nhắc MySQL.
Mã:
$ sudo mysql
Khi ở dấu nhắc, hãy nhập các lệnh sau để thiết lập cơ sở dữ liệu có tên fuelcms và người dùng cơ sở dữ liệu có tên fueluser và cấp cho người dùng đó quyền truy cập vào cơ sở dữ liệu.
Mã:
mysql> CREATE DATABASE fuelcms;mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';mysql> CẤP TẤT CẢ CÁC QUYỀN TRÊN fuelcms.* CHO 'fueluser'@'localhost';mysql> exit

Cấu hình PHP cho Fuel CMS​

Trong hướng dẫn của chúng tôi, chúng tôi đã cài đặt PHP 7.4 nhưng Fuel CMS vẫn chưa tương thích với nó tại thời điểm hướng dẫn này. Khi nó trở nên tương thích, bạn có thể bỏ qua bước này.

Bây giờ, chúng ta cần cài đặt PHP 7.3 cùng với PHP 7.4. Bạn có thể dễ dàng thực hiện lệnh sau.
Mã:
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Lệnh này cài đặt PHP 7.3 dưới dạng một bộ sưu tập cho phép bạn chạy đồng thời với PHP 7.4.

Khởi động và bật dịch vụ PHP 7.3.
Mã:
$ sudo systemctl start php73-php-fpm$ sudo systemctl enable php73-php-fpm
Để kiểm tra xem lệnh đã được cài đặt đúng chưa, hãy chạy lệnh sau.
Mã:
$ php73 --versionPHP 7.3.16 (cli) (được xây dựng: 17 tháng 3 năm 2020 10:18:38) ( NTS )Bản quyền (c) 1997-2018 Nhóm PHPZend Engine v3.3.16, Bản quyền (c) 1998-2018 Zend Technologies
Mở tệp /etc/opt/remi/php73/php-fpm.d/www.conf.
Mã:
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng user=apachegroup=apache trong tệp và đổi chúng thành nginx.
Mã:
...; Người dùng/nhóm quy trình Unix; Lưu ý: Người dùng là bắt buộc. Nếu nhóm không được đặt, nhóm người dùng mặc định; sẽ được sử dụng.; RPM: người dùng apache được chọn để cung cấp quyền truy cập vào cùng thư mục với httpduser = nginx; RPM: Giữ một nhóm được phép ghi vào thư mục nhật ký.group = nginx...
Ngoài ra, hãy định vị biến listen.acl_users và thay đổi giá trị của nó như sau.
Mã:
listen.acl_users = nginx
Ngoài ra, hãy ghi chú biến listen. Nó sẽ cung cấp cho bạn đường dẫn đến nơi lắng nghe quy trình PHP-FPM. Đối với chúng tôi, nó hiển thị như sau.
Mã:
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Sao chép đường dẫn vì chúng tôi sẽ cần nó.

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại quy trình PHP-fpm.
Mã:
$ sudo systemctl restart php73-php-fpm

Cấu hình Nginx​

Chạy lệnh sau để thêm tệp cấu hình cho Fuel CMS.
Mã:
$ sudo nano /etc/nginx/sites-available/fuel.conf
Dán mã sau vào biên tập viên.
Mã:
máy chủ { lắng nghe 80; lắng nghe [::]:80; gốc /var/www/fuel; chỉ mục index.php index.html index.htm; tên máy chủ fuel.example.com; kích thước thân máy tối đa của máy khách 100M; vị trí / { try_files $uri $uri/ /index.php?q=$uri&$args; }

 access_log /var/log/nginx/fuel.example.com.access.log;
 error_log /var/log/nginx/fuel.example.com.error.log; vị trí ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param TÊN_TỆP_KẾ_ĐỊNH $document_root$fastcgi_script_name; include fastcgi_params; }}
Tệp này giả định rằng chúng ta sẽ cài đặt Fuel CMS vào miền example.com và trong thư mục /var/www/fuel.Chúng ta cũng đã sử dụng giá trị của biếnlisten ở trên để chỉ định giá trị cho fastcgi_pass.

Kích hoạt tệp cấu hình này bằng cách liên kết tệp đó với thư mục sites-enabled.
Mã:
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Kiểm tra cấu hình Nginx.
Mã:
$ sudo nginx -t
Bạn sẽ thấy đầu ra sau cho biết cấu hình của bạn là chính xác.
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
Tải lại dịch vụ Nginx.
Mã:
$ sudo systemctl reload nginx

Cài đặt Fuel CMS​

Tạo thư mục gốc tài liệu trống cho Fuel CMS.
Mã:
$ sudo mkdir -p /var/www/fuel
Đối số -p đảm bảo rằng các thư mục cha varwww được tự động tạo nếu chúng không tồn tại.

Điều hướng đến thư mục gốc tài liệu.
Mã:
$ cd /var/www/fuel
Lấy phiên bản mới nhất của Fuel CMS từ kho lưu trữ Git của nó.
Mã:
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Giải nén tệp vào thư mục /var/www/fuel.
Mã:
$ sudo unzip master.zip$ sudo rm master.zip$ sudo mv FUEL-CMS-master/* .$ sudo rm -r FUEL-CMS-master
Tạo thư mục sessions.
Mã:
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Mở tệp /var/www/fuel/application/config/database.php.
Mã:
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Cấu hình các tham số cơ sở dữ liệu mà chúng ta đã tạo trước đó.
Mã:
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'fueluser', 'password' => 'yourpassword', 'database' => 'fuelcms', 'dbdriver' => 'mysqli',
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Nhập tệp /var/www/fuel/install/fuel_schema.sql vào cơ sở dữ liệu mới tạo.
Mã:
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Tạo khóa mã hóa ngẫu nhiên bằng OpenSSL. Bạn có thể sử dụng bất kỳ số nào thay vì 20.
Mã:
$ openssl rand -base64 20
Bạn sẽ nhận được khóa ngẫu nhiên làm đầu ra. Sao chép nó.

Mở tệp /var/www/fuel/fuel/application/config/config.php.
Mã:
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Thay đổi giá trị của $config[‘encryption_key’] thành khóa bạn lấy được từ bước trước.
Mã:
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Tiếp theo,xác định vị trí giá trị$config['sess_save_path'] và thay đổi giá trị của nó từ NULL thành đường dẫn phiên mà chúng ta đã tạo ở trên.
Mã:
$config['sess_save_path'] = APPPATH.'sessions/';
APPPATH ở đây đề cập đến thư mục /var/www/fuel/fuel/applications/. Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Tiếp theo, chúng ta cần bật bảng điều khiển Quản trị. Để làm như vậy, hãy mở tệp /var/www/fuel/fuel/application/config/MY_fuel.php.
Mã:
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Thực hiện thay đổi sau.
Mã:
// cho dù phần quản trị phụ trợ có được bật hay không$config['admin_enabled'] = TRUE;....$config['fuel_mode'] = 'tự động';
Đặt fuel_mode thành auto cho phép Fuel CMS kiểm tra cơ sở dữ liệu của nó trước để tìm trang và nếu không tìm thấy, nó sẽ chọn trang từ thư mục xem của nó. Bạn có thể thay đổi nhiều cài đặt khác như tên của trang web trong bảng điều khiển Quản trị, kích thước tải lên hình ảnh, đặt email, kích thước tải lên tệp, chọn trình soạn thảo văn bản, đặt công cụ phân tích cú pháp và cấu hình của nó cũng như đặt danh sách các mô-đun được phép.

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Bước cuối cùng là cấp quyền thích hợp cho thư mục /var/www/fuel.
Mã:
sudo chown -R nginx:nginx /var/www/fuel
Quá trình thiết lập hiện đã hoàn tất. Mở fuel.example.com/fuel trong trình duyệt của bạn và đăng nhập bằng thông tin đăng nhập bạn đã tạo ở trên và bắt đầu phát triển.

Cấu hình Fuel CMS​

Sau khi đăng nhập vào bảng quản trị, bạn sẽ được nhắc thay đổi mật khẩu. Nhấp vào Đổi mật khẩu để tiếp tục.



Trên trang mở ra, bạn có thể thay đổi mật khẩu của mình. Bạn cũng nên thay đổi tên người dùng mặc định và thêm địa chỉ email. Bạn cũng sẽ phải điền tên của mình để tiếp tục. Lưu để tiếp tục khi bạn hoàn tất.

Để biết thêm thông tin, hãy tham khảo tài liệu chính thức của Fuel CMS.

Thiết lập HTTPS bằng Let's Encrypt​

Để sử dụng Let's Encrypt, chúng ta cần cài đặt gói Certbot.

Cài đặt Certbot.
Mã:
$ sudo dnf install certbot certbot-nginx -y
Cài đặt chứng chỉ.
Mã:
$ sudo certbot --nginx -d fuel.example.com
Nếu đây là lần đầu tiên bạn sử dụng công cụ này trên máy chủ này, bạn cần đồng ý với các điều khoản và nhập địa chỉ email của mình. Hãy nói không khi được hỏi bạn có muốn chia sẻ email của mình với tổ chức EFF không.

Nếu thành công, certbot sẽ hỏi bạn muốn định cấu hình cài đặt HTTPS như thế nào.
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.----------------------------------------------------------------------------------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 tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.----------------------------------------------------------------------------------Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy):
Chọn 2 rồi nhấn ENTER. Chứng chỉ của bạn hiện đã được cài đặt và kích hoạt.

Chạy lệnh sau để thiết lập gia hạn tự động.
Mã:
$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null
Khởi chạy https://fuel.example.com trong trình duyệt của bạn để kiểm tra.


Kết luận​

Như vậy là kết thúc hướng dẫn của chúng tôi.Bây giờ bạn có thể sử dụng Fuel CMS để tạo trang web của mình.Nếu bạn có bất kỳ câu hỏi nào, hãy đăng câu hỏi trong phần bình luận.
 
Back
Bên trên