Hướng dẫn cài đặt Pagekit trên CentOS 7

0

Pagekit là CMS hiện đại, trực quan, mô-đun và mã nguồn mở ( giấy phép MIT )  được xây dựng với các thành phần Symfony và Vue.js. Nó cung cấp cho bạn các công cụ để tạo ra các trang web đẹp. Nó có một chủ đề phong phú và hệ sinh thái plugin.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt Pagekit CMS trên hệ điều hành CentOS 7  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à Let Encrypt cơ quan cấp chứng chỉ để thêm hỗ trợ SSL.

Yêu cầu

Để cài đặt Pagekit, đảm bảo máy chủ của bạn đáp ứng các yêu cầu sau:

  • Apache phiên bản 2.2 trở lên hoặc máy chủ web NGINX.
  • Phiên bản MySQL 5.1 trở lên hoặc SQLite 3.
  • Phiên bản PHP 5.5.9 trở lên.
  • Các tiện ích mở rộng PHP bắt buộc: JSON, Phiên, ctype, Tokenizer, SimpleXML, DOM, mbopes, PCRE 8.0+, ZIP và PDO với trình điều khiển MySQL hoặc SQLite.
  • Các phần mở rộng PHP tùy chọn: cURL, iconv và XML Parser, cũng như APC hoặc XCache để lưu trữ.
  • Một hệ thống chạy  CentOS 7 .
  • 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 CentOS của bạn:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

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

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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:

sudo yum update -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 CentOS:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

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

Thiết lập repo YUM của Webtatic:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

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

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-zip php72w-mysql php72w-sqlite3 php72w-curl php72w-xml

Để 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.2.14 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
#     with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Bắt đầu và kích hoạt dịch vụ PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

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 Pagekit

Pagekit CMS hỗ trợ cơ sở dữ liệu MySQL, MariaDB và SQLite. Tôi n  hướng dẫn này, chúng tôi sẽ sử dụng MariaDB như các 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  :

sudo yum install -y mariadb-server

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

mysql --version

Bắt đầu và kích hoạt dịch vụ MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Chạy  mysql_secure installation 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 : root

sudo mysql_secure_installation

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

Would you like to setup VALIDATE PASSWORD plugin? N
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

Kết nối với  vỏ 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 và người dùng MariaDB trống   cho Bolt CMS và ghi nhớ thông tin đăng nhập:

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

Thoát khỏi  MariaDB :

MariaDB> exit

Thay thế , và với tên của riêng bạn. dbname username  password

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 [email protected]
source ~/.bashrc
cd ~

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

acme.sh --version
# v2.8.1

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

Để 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"

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

  • Đối với thư mục RSA :  / etc / letencrypt . /example.com
  • Đối với thư mục ECC / ECDSA :  / etc / letencrypt . /example.com_ecc

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 Pagekit

Tải xuống và cài đặt Nginx từ kho lưu trữ CentOS:

sudo yum install -y nginx

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

nginx -v
# nginx version: nginx/1.12.2

Bắt đầu và kích hoạt dịch vụ Nginx:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

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

sudo vim /etc/nginx/conf.d/pagekit.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/pagekit;
    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$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        try_files $fastcgi_script_name =404;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_index index.php; include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
    }
    
}

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 Pagekit CMS

Tạo một thư mục gốc tài liệu nơi Pagekit sẽ nằm trong:

sudo mkdir -p /var/www/pagekit

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

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

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

cd /var/www/pagekit

Tải xuống bản phát hành ổn định mới nhất của Pagekit CMS qua : wget

wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip

Giải nén nội dung CMS của Pagekit và xóa tệp đã tải xuống . .zip

unzip pagekit-1.0.16.zip
rm pagekit-1.0.16.zip

Cung cấp quyền sở hữu phù hợp:

sudo chown -R nginx:nginx /var/www/pagekit

Chạy và thiết lập người dùng và nhóm . Ban đầu, chúng sẽ được đặt thành sudo vim /etc/php-fpm.d/www.conf  nginx apache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Khởi động lại dịch vụ PHP-FPM:

sudo systemctl restart php-fpm.service

Điều hướng đến thư mục nơi bạn đã tải lên Bolt CMS trong trình duyệt web của bạn và thực hiện theo các hướng dẫn trên màn hình.

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

Mở trang web của bạn trong trình duyệt web và bạn sẽ thấy trang sau:

Nhấp vào biểu tượng mũi tên bên phải để tiến hành cài đặt. Chọn ngôn ngữ của bạn và nhấp vào nút “Tiếp theo”:

Tiếp theo, chọn cơ sở dữ liệu của bạn là SQLite hoặc MySQL và điền vào các trường bắt buộc và nhấp vào nút “Tiếp theo”:

Sau đó, thiết lập trang web của bạn bằng cách nhập Tiêu đề trang web và tạo tài khoản người dùng quản trị viên:

Và sau đó bạn sẽ được chuyển hướng đến trang đăng nhập Pagekit. Cung cấp tên người dùng và mật khẩu của bạn để đăng nhập vào bảng điều khiển Pagekit.

 

Leave a Reply

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