Hướng dẫn cài đặt October CMS trên Debian 9

0

October CMS là một nền tảng CMS tự lưu trữ, mã nguồn mở, miễn phí dựa trên framework PHP của Laravel. Mã nguồn October CMS  được lưu trữ trên  Github.  Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt October CMS trên hệ điều hành Debian 9  bằng cách sử dụng  NGINX làm máy chủ web, MariaDB làm máy chủ cơ sở dữ liệu và tùy chọn bạn có thể bảo mật lớp vận chuyển bằng cách sử dụng ứng dụng khách acme.sh và Hãy mã hóa quyền chứng chỉ để thêm hỗ trợ SSL.

Yêu cầu

Trước khi bạn tiến hành, bạn nên kiểm tra xem máy chủ của bạn có đáp ứng các yêu cầu hệ thống tối thiểu không. October CMS có các yêu cầu máy chủ sau đây để lưu trữ web :

  • Phiên bản PHP 7.0 trở lên
  • Phần mở rộng PDO của PHP
  • Phần mở rộng PHP của CURL
  • Phần mở rộng PHP OpenSSL
  • Thư viện PHP chuỗi
  • Thư viện Zip PHP
  • Thư viện GD PHP
  • Phần mở rộng XML PHP
  • Phần mở rộng JSON của JSON
  • Apache có hoặc  NGINX mod_rewrite
  • Máy chủ cơ sở dữ liệu (MariaDB, MySQL, PostgreSQL)

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

  • Một hệ thống chạy Debian 9 (stretch).
  • Một người dùng không root với đặc quyền sudo.

Các bước ban đầu

Kiểm tra phiên bản hệ thống Debian của bạn:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Thiết lập múi giờ:

dpkg-reconfigure tzdata

Cập nhật các gói hệ điều hành (phần mềm) của bạn. Đây là bước đầu tiên quan trọng vì nó đảm bảo bạn có các bản cập nhật mới nhất và các bản sửa lỗi bảo mật cho các gói phần mềm mặc định của hệ điều hành của bạn:

apt update && apt upgrade -y

Cài đặt một số gói thiết yếu cần thiết cho quản trị cơ bản của hệ điều hành Debian:

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

Bước 1 – Cài đặt PHP và các phần mở rộng PHP cần thiết

Nền tảng October CMS yêu cầu phiên bản PHP 7.0 trở lên. Theo mặc định, Debian 9 có phiên bản PHP 7.0 trong kho phần mềm mặc định, rất phù hợp với October CMS.

Cài đặt PHP, cũng như các phần mở rộng PHP cần thiết:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring

Để hiển thị PHP được biên dịch trong các mô-đun, bạn có thể chạy:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Kiểm tra phiên bản PHP:

php --version

# PHP 7.0.33-0+deb9u1 (cli) (built: Dec  7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
#     with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Dịch vụ PHP-FPM được tự động khởi động và kích hoạt khi khởi động lại trên hệ thống Debian 9, do đó không cần phải khởi động và kích hoạt thủ công. Chúng ta có thể chuyển sang bước tiếp theo, đó là cài đặt và thiết lập cơ sở dữ liệu.

Bước 2 – Cài đặt MariaDB và tạo cơ sở dữ liệu cho October

October CMS hỗ trợ cơ sở dữ liệu MySQL / MariaDB, PostgreSQL, SQLite và SQL. Nhóm Debian đã thay thế MySQL bằng MariaDB làm cơ sở dữ liệu mặc định từ Debian 9, vì vậy trong  hướng dẫn này, chúng tôi sẽ sử dụng MariaDB làm máy chủ cơ sở dữ liệu. Nếu bạn muốn cài đặt MySQL gốc, bạn có thể thêm và sử dụng kho lưu trữ MySQL chính thức được duy trì bởi Oracle.

Cài đặt máy chủ cơ sở dữ liệu MariaDB từ repo MariaDB chính thức:

sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server

Kiểm tra phiên bản MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Chạy tập lệnh để cải thiện bảo mật MariaDB và đặt mật khẩu cho người dùng MariaDB : mysql_secure installation  root

sudo mysql_secure_installation

Trả lời từng câu hỏi:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Đăng nhập vào MariaDB với tư cách là người dùng root:

sudo mysql -u root -p
# Enter password

Tạo cơ sở dữ liệu MariaDB và người dùng mà bạn sẽ sử dụng để cài đặt vào October và ghi nhớ thông tin đăng nhập:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Thoát khỏi MariaDB shell:

quit

Bước 3 – Cài đặt ứng dụng khách Acme.sh và lấy chứng chỉ Encrypt (tùy chọn)

Bảo mật trang web của bạn bằng HTTPS là không cần thiết, nhưng đó là một cách tốt để bảo mật lưu lượng truy cập trang web của bạn. Để có được chứng chỉ SSL từ Let Encrypt, chúng tôi sẽ sử dụng ứng dụng khách Acme.sh. Acme.sh là một phần mềm shell UNIX thuần để lấy chứng chỉ SSL từ Let Encrypt với độ phụ thuộc bằng không.

Tải xuống và cài đặt  Acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail your_email@example.com
source ~/.bashrc
cd ~

Kiểm tra phiên bản acme.sh:

acme.sh --version
# v2.8.0

Nhận chứng chỉ RSA và ECC / ECDSA cho tên miền / tên máy chủ của bạn:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Nếu bạn muốn chứng chỉ giả để kiểm tra, bạn có thể thêm   cờ vào các lệnh trên.–staging

Sau khi chạy các lệnh trên,  chứng chỉ  và  khóa của  bạn sẽ ở trong:

  • Với RSA: ~/example.com directory.
  • Với ECC/ECDSA: ~/example.com_ecc directory.

Để liệt kê các certs đã ban hành của bạn, bạn có thể chạy:

acme.sh --list

Tạo một thư mục để lưu trữ certs của bạn. Chúng tôi sẽ sử dụng  /etc/letsencrypt thư mục.

mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Cài đặt / sao chép chứng chỉ vào / etc / allowencrypt  thư mục .

# RSA
acme.sh --install-cert -d example.com \ 
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Tất cả các chứng chỉ sẽ được tự động gia hạn sau mỗi 60 ngày.

Sau khi có được certs, thoát khỏi người dùng root và quay trở lại người dùng sudo bình thường:

exit

Bước 4 – Cài đặt NGINX và định cấu hình NGINX cho October CMS

Cài đặt máy chủ web NGINX:

sudo apt install -y nginx

Kiểm tra phiên bản NGINX:

sudo nginx -v
# nginx version: nginx/1.10.3

Định cấu hình  NGINX cho October bằng cách chạy:

sudo vim /etc/nginx/sites-available/october.conf

Và điền vào tệp với cấu hình sau:

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;
    
    index index.php index.html;
    root /var/www/october;
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_read_timeout 120s;
    }

    location ~ ^/favicon\.ico { try_files $uri /index.php; }
    location ~ ^/sitemap\.xml { try_files $uri /index.php; }
    location ~ ^/robots\.txt { try_files $uri /index.php; }
    location ~ ^/humans\.txt { try_files $uri /index.php; }
    location ~ ^/storage/app/uploads/public { try_files $uri 404; }
    location ~ ^/storage/app/media { try_files $uri 404; }
    location ~ ^/storage/temp/public { try_files $uri 404; }
    location ~ ^/modules/.*/assets { try_files $uri 404; }
    location ~ ^/modules/.*/resources { try_files $uri 404; }
    location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
    location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
    location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
    location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
    location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
    location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
    location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
    location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
    location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
    location ~ ^/themes/.*/assets { try_files $uri 404; }
    location ~ ^/themes/.*/resources { try_files $uri 404; }
    
}

Kích hoạt cấu hình mới bằng cách liên kết tệp vào thư mục. october.conf  sites-enabled

sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled

Kiểm tra  cấu hình NGINX để biết lỗi cú pháp:

sudo nginx -t

Tải lại  dịch vụ NGINX :

sudo systemctl reload nginx.service

Bước 5 – Tải xuống và cài đặt nền tảng October CMS

Tạo một thư mục gốc tài liệu:

sudo mkdir -p /var/www/october

Thay đổi quyền sở hữu của thư mục thành /var/www/october  [your_user]:

sudo chown -R [your_user]:[your_user] /var/www/october

Điều hướng đến tài liệu gốc:

cd /var/www/october

Tải xuống trình cài đặt October CMS:

wget https://octobercms.com/download -O october.zip

Giải nén trình cài đặt October CMS:

unzip october.zip
rm october.zip
mv install-master/* .

Thay đổi quyền sở hữu của thư mục thành /var/www/october  www-data:

sudo chown -R www-data:www-data /var/www/october

Điều hướng đến tập lệnh trong trình duyệt web của bạn, thích và làm theo hướng dẫn cài đặt. install.php  example.com/install.php

Bước 6 – Hoàn tất thiết lập October CMS

Đảm bảo Kiểm tra hệ thống của bạn ổn, và tiếp tục bằng cách nhấn nút ” Đồng ý & Tiếp tục “.

Cấu hình cơ sở dữ liệu và cài đặt người dùng quản trị của bạn.

Bạn cũng có thể định cấu hình một số cài đặt nâng cao hoặc bạn có thể để các giá trị mặc định.

Và cuối cùng khi mọi thứ được cấu hình, nhấn nút ” Tiếp tục ” màu xanh lam .

Tiếp theo, bạn sẽ được hỏi ” Bạn muốn thiết lập trang web của mình như thế nào? “. Bạn sẽ có 3 tùy chọn: Bắt đầu từ đầu , Bắt đầu từ một chủ đề , Sử dụng ID dự án . Chọn tùy chọn ưa thích của bạn.

Để truy cập khu vực quản trị của nền tảng October CMS, chỉ cần thêm vào URL / IP của bạn. /backend

Sau khi cài đặt, vì lý do bảo mật, bạn nên xóa các tệp cài đặt, tập lệnh và thư mục: install.php  install_files

sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files

Leave a Reply

Your email address will not be published. Required fields are marked *