Cách cài đặt Craft CMS trên Debian 9

theanh

Administrator
Nhân viên
Craft là một CMS nguồn mở được viết bằng PHP. Craft cho phép bạn dễ dàng tạo và quản lý nội dung đẹp mắt, cũng như thiết kế và xây dựng chính xác những gì bạn cần. Đây là CMS an toàn và có thể mở rộng với hệ sinh thái plugin lớn và mã nguồn Craft được lưu trữ trên GitHub. Hướng dẫn này sẽ hướng dẫn bạn quy trình cài đặt Craft CMS trên máy chủ Debian 9 mới sử dụng Nginx làm máy chủ web và chúng tôi sẽ bảo mật trang web bằng chứng chỉ SSL Let's encrypt.

Yêu cầu​

CraftCMS yêu cầu những điều sau:
  • Phiên bản PHP 7.0 trở lên với các phần mở rộng PHP sau: (ctype, cURL, GD hoặc ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, Trình điều khiển PDO MySQL hoặc Trình điều khiển PDO PostgreSQL, PDO, Reflection, SPL, Zip, Intl, DOM)
  • MySQL 5.5 trở lên với InnoDB, MariaDB 5.5 trở lên hoặc PostgreSQL 9.5 trở lên
  • Ít nhất 256MB bộ nhớ được phân bổ cho PHP
  • Ít nhất 200MB dung lượng đĩa trống

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

  • Hệ điều hành chạy Debian 9.
  • Người dùng không phải root có quyền sudo.

Các bước ban đầu​

Kiểm tra phiên bản Debian của bạn:
Mã:
lsb_release -ds
# Debian GNU/Linux 9.8 (stretch)
Thiết lập múi giờ:
Mã:
sudo dpkg-reconfigure tzdata
Cập nhật các gói hệ điều hành của bạn (phần mềm). Đây là bước đầu tiên quan trọng vì nó đảm bảo bạn có bản cập nhật mới nhất và 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:
Mã:
sudo apt update && sudo apt upgrade -y
Cài đặt một số gói thiết yếu cần thiết cho việc quản trị cơ bản hệ điều hành Debian:
Mã:
sudo apt install -y curl wget vim gitunzip socat apt-transport-https

Bước 1 - Cài đặt PHP và các tiện ích mở rộng PHP cần thiết​

Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Mã:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-curl php7.0-gd php-imagick php7.0-json php7.0-mbstring php7.0-mysql php7.0-pgsql php7.0-zip php7.0-intl php7.0-xml
Kiểm tra phiên bản PHP:
Mã:
php --version

#PHP 7.0.33-0+deb9u3 (cli) (xây dựng: 8 tháng 3 năm 2019 10:01:24) (NTS)
# Bản quyền (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Bản quyền (c) 1998-2017 Zend Technologies
# với Zend OPcache v7.0.33-0+deb9u3, Bản quyền (c) 1999-2017, của Zend Technologies
Chạy sudo vim /etc/php/7.0/fpm/php.ini và đặt memory_limit thành ít nhất 256MB.

Ngoài ra, đặt max_execution_time thành ít nhất 120 giây và tải lại dịch vụ PHP-FPM.
Mã:
memory_limit = 256M
max_execution_time = 120
Dịch vụ PHP-FPM được tự động khởi động và bậ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à bậ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 MySQL/MariaDB và tạo cơ sở dữ liệu​

Craft CMS hỗ trợ cơ sở dữ liệu MySQL/MariaDB và PostgreSQL. Trong hướng dẫn này, chúng ta sẽ sử dụng MariaDB làm máy chủ cơ sở dữ liệu.

Cài đặt máy chủ cơ sở dữ liệu MariaDB:
Mã:
sudo apt install -y mariadb-server
Kiểm tra phiên bản MariaDB:
Mã:
mysql --version
#mysql Ver 14.14 Distrib 5.7.24, dành cho Linux (x86_64) bằng trình bao bọc EditLine
Chạy tập lệnh mysql_secure installation để cải thiện tính bảo mật MariaDB và đặt mật khẩu cho MariaDB root người dùng:
Mã:
sudo mysql_secure_installation
Trả lời từng câu hỏi sau:
Mã:
Bạn có muốn thiết lập plugin VALIDATE PASSWORD không? [B]N[/b]
Mật khẩu mới: [B]your_secure_password[/b]
Nhập lại mật khẩu mới: [B]your_secure_password[/b]
Xóa người dùng ẩn danh? [Y/n] [B]Y[/b]
Không cho phép đăng nhập root từ xa? [Y/n] [B]Y[/b]
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] [B]Y[/b]
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] [B]Y[/b]
Kết nối với shell MariaDB với tư cách là người dùng root:
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Tạo cơ sở dữ liệu MariaDB trống và người dùng cho Craft CMS và ghi nhớ thông tin đăng nhập:
Mã:
mysql>CREATE DATABASE dbname;
mysql>GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql>FLUSH PRIVILEGES;
Thoát khỏiMariaDB:
Mã:
mysql>exit
Thay thếdbname,usernamepassword bằng tên của riêng bạn.

Bước 3 - Cài đặt máy khách acme.sh và lấy chứng chỉ Let's Encrypt (tùy chọn)​

Không nhất thiết phải bảo mật trang web của bạn bằng HTTPS, nhưng đây là một biện pháp tốt để bảo mật lưu lượng truy cập trang web. Để có được chứng chỉ TLS từ Let's Encrypt, chúng tôi sẽ sử dụng máy khách Acme.sh. Acme.sh là phần mềm shell Unix thuần túy để lấy chứng chỉ TLS từ Let's Encrypt mà không cần bất kỳ sự phụ thuộc nào.

Tải xuống và cài đặtAcme.sh:
Mã:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [emailprotected]
cd ~
Kiểm tra phiên bản Acme.sh:
Mã:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Lấy chứng chỉ RSAECC/ECDSA cho tên miền/tên máy chủ của bạn:
Mã:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue--standalone--home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Sau khi chạy các lệnh trên, chứng chỉkhóa của bạn sẽ nằm trong:
  • Đối với RSA: thư mục /etc/letsencrypt/example.com.
  • Đối với ECC/ECDSA: thư mục /etc/letsencrypt/example.com_ecc.

Bước 4 - Cài đặt và cấu hình Nginx​

Craft CMS có thể hoạt động tốt với nhiều phần mềm máy chủ web phổ biến. Trong hướng dẫn này, chúng tôi đã chọn Nginx.

Tải xuống và cài đặt bản phát hành chính thức mới nhất của Nginx từ kho lưu trữ Nginx chính thức.

Bắt đầu bằng cách tải xuống khóa PGP của kho lưu trữ Nginx:
Mã:
wget https://nginx.org/keys/nginx_signing.key
Thêm khóa vào aptchương trình keyring:
Mã:
sudo apt-key add nginx_signing.key
Thêm và thiết lập kho lưu trữ APT chính thức của Nginx:
Mã:
sudo -s
printf "deb https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
Cập nhật danh sách kho lưu trữ:
Mã:
sudo apt update
Cài đặt các gói Nginx chính mới nhất:
Mã:
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Khởi động và kích hoạt dịch vụ Nginx:
Mã:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Kiểm tra phiên bản Nginx:
Mã:
sudo nginx -v
#nginx phiên bản: nginx/1.15.10
Cấu hình Nginx forCraft CMS bằng cách chạy:
Mã:
sudo vim /etc/nginx/conf.d/craft.conf
Và điền cấu hình sau vào tệp:
Mã:
server {

 listen 80;
 listen [::]:80;
 listen 443 ssl;
 listen [::]:443 ssl;

 server_name example.com;

 root /var/www/craft/web;

 index index.php;

 ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
 ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
 ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
 khóa chứng chỉ ssl /etc/letsencrypt/example.com_ecc/example.com.key;

 vị trí / {
 tệp_thử $uri/index.html $uri $uri/ /index.php?$query_string;
 }

 vị trí ~ [^/]\.php(/|$) {
 tệp_thử $uri $uri/ /index.php?$query_string;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param TÊN_TỆP_KỆNH $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTP_PROXY "";
 }

}
LƯU Ý: Để có cấu hình Nginx hoàn chỉnh và sẵn sàng cho sản xuất cho Craft, hãy truy cậphttps://github.com/nystudio107/nginx-craft. Cấu hình được cố tình đơn giản hóa để giữ cho cấu hình dày đặc và đơn giản.

Mở tệpnginx.conf và đặt user thành www-data.
Mã:
sudo vim /etc/nginx/nginx.conf
Mã:
[B]user www-data www-data;[/b]
Cấu hình TestNginx:
Mã:
sudo nginx -t
Tải lại Nginx:
Mã:
sudo systemctl reload nginx.service

Bước 5 - Cài đặt Composer​

Cài đặt Composer, trình quản lý phụ thuộc PHP toàn cầu:
Mã:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Đã xác minh trình cài đặt'; } else { echo 'Trình cài đặt bị hỏng'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer
Kiểm tra phiên bản Composer:
Mã:
composer --version
#Composer phiên bản 1.8.4 2019-02-11 10:52:10
LƯU Ý: Các lệnh cài đặt Composer sẽ thay đổi trong tương lai, vì vậy hãy kiểm tra https://getcomposer.org/download/ để biết các lệnh mới nhất nếu các lệnh trên không hoạt động.

Bước 6 - Cài đặt Craft CMS​

Craft CMS có thể được tải xuống bằng Composer hoặc bằng cách tải xuống thủ công tệp lưu trữ .zip hoặc tar.gz. Trong hướng dẫn này, chúng ta sẽ sử dụng Composer để tải xuống Craft CMS.

Tạo thư mục gốc của tài liệu nơi Craft CMS sẽ nằm:
Mã:
sudo mkdir -p /var/www/craft
Điều hướng đến thư mục gốc của tài liệu:
Mã:
cd /var/www/craft
Thay đổi quyền sở hữu của thư mục /var/www/craft thành [jour_username]:
Mã:
sudo chown -R [your_username]:[your_username] /var/www/craft
Để tạo một dự án Craft mới, hãy chạy lệnh này:
Mã:
composer create-project craftcms/craft .
Thay đổi quyền sở hữu thư mục /var/www/craft thành www-data:
Mã:
sudo chown -R www-data:www-data /var/www/craft
Trong trình duyệt web của bạn, hãy truy cập http:///index.php?p=admin/install (thay thế bằng tên máy chủ web của bạn). Nếu bạn đã thực hiện đúng mọi thứ cho đến nay, bạn sẽ thấy Trình hướng dẫn thiết lập của Craft.

Bước 7 - Hoàn tất thiết lập Craft CMS​

Sau khi mở URL cài đặt của bạn, trang như bên dưới sẽ xuất hiện. Nhấp vào nút "Cài đặt Craft":



Chấp nhận giấy phép bằng cách nhấp vào nút "Đã hiểu":



Điền thông tin chi tiết về cơ sở dữ liệu và nhấp vào nút "Tiếp theo":



Tạo tài khoản Craft và nhấp vào nút "Tiếp theo":



Thiết lập trang web của bạn và nhấp vào nút "Hoàn tất":



Sau đó, bạn sẽ được chuyển hướng đến trang quản trị Craft:


Liên kết​

 
Back
Bên trên