October CMS là nền tảng CMS tự lưu trữ, mã nguồn mở, miễn phí dựa trên Laravel PHP Framework. Mã nguồn October CMS được lưu trữ trênGithub.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 (stretch)bằng cách sử dụngNGINX làm máy chủ web, MariaD 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 truyền tải bằng cách sử dụng máy khách acme.sh và cơ quan cấp chứng chỉ Let's Encrypt để thêm hỗ trợ SSL.
Thiết lập múi giờ:
Cập nhật hệ điều hành của bạn packages (phần mềm). Đâ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 và bản sửa lỗi bảo mật mới nhất cho các gói phần mềm mặc định của hệ điều hành:
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:
Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Để hiển thị PHP đã biên dịch trong các mô-đun, bạn có thể chạy:
Kiểm tra phiên bản PHP:
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 cơ sở dữ liệu và thiết lập.
Cài đặt máy chủ cơ sở dữ liệu MariaDB từ kho lưu trữ MariaDB chính thức:
Kiểm tra phiên bản MariaDB:
Chạy tập lệnh
Trả lời từng câu hỏi sau:
Đăng nhập vào MariaDB với tư cách là người dùng root:
Tạo cơ sở dữ liệu MariaDB và người dùng mà bạn sẽ sử dụng để cài đặt October và ghi nhớ thông tin đăng nhập:
Thoát khỏi shell MariaDB:
Tải xuống và cài đặtAcme.sh:
Kiểm tra phiên bản acme.sh:
Lấy chứng chỉ RSA và ECC/ECDSA cho tên miền/tên máy chủ của bạn:
Nếu bạn muốn có chứng chỉ giả để thử nghiệm, bạn có thể thêm
Sau khi chạy các lệnh trên, chứng chỉvàkhóacủa bạn sẽ nằm trong:
Tạo một thư mục để lưu trữ chứng chỉ của bạn. Chúng tôi sẽ sử dụng thư mục
Cài đặt/sao chép chứng chỉ vào/etc/letsencryptthư mục.
Tất cả các chứng chỉ sẽ được tự động gia hạn sau mỗi 60 ngày.
Sau khi lấy được chứng chỉ, hãy thoát khỏi người dùng root và quay lại người dùng sudo bình thường:
Kiểm tra phiên bản NGINX:
Cấu hìnhNGINX cho tháng 10 bằng cách chạy:
Và điền vào tệp với cấu hình sau:
Kích hoạt cấu hình
Kiểm tra cấu hình NGINX để tìm lỗi cú pháp:
Tải lại dịch vụ NGINX:
Thay đổi quyền sở hữu thư mục
Điều hướng đến thư mục gốc của tài liệu:
Tải xuống trình cài đặt October CMS:
Giải nén trình cài đặt October CMS:
Thay đổi quyền sở hữu thư mục
Điều hướng đến tập lệnh
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ể cấu hình một số cài đặt nâng cao hoặc bạn có thể giữ nguyên các giá trị mặc định.
Và cuối cùng khi mọi thứ đã được cấu hình, hãy 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 bạn muốn.
Để truy cập vào khu vực quản trị của nền tảng October CMS, chỉ cần thêm
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
Yêu cầu
Trước khi tiếp tục, bạn nên kiểm tra xem máy chủ của mình có đáp ứng các yêu cầu hệ thống tối thiểu hay không. October CMS có các yêu cầu máy chủ sau để lưu trữ web:- Phiên bản PHP 7.0 trở lên
- Phần mở rộng PHP PDO
- cURL PHP Tiện ích mở rộng
- Tiện ích mở rộng OpenSSL PHP
- Thư viện PHP Mbstring
- Thư viện PHP Zip
- Thư viện PHP GD
- Tiện ích mở rộng XML PHP
- Tiện ích mở rộng JSON PHP
- Apache với
mod_rewrite
hoặcNGINX - Máy chủ cơ sở dữ liệu (MariaDB, MySQL, PostgreSQL)
Điều kiện tiên quyết
- Hệ thống chạy Debian 9 (stretch).
- 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 hệ thống Debian của bạn:
Mã:
lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)
Mã:
dpkg-reconfigure tzdata
Mã:
apt update && apt upgrade -y
Mã:
apt install -y curl wget vim gitsudo unzip socat bash-completion dirmngr apt-transport-https
Bước 1 - Cài đặt PHP và các tiện ích mở rộng PHP cần thiết
Nền tảng CMS tháng 10 yêu cầu PHP phiên bản 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, phù hợp với October CMS.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-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring
Mã:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Mã:
php --version
#PHP 7.0.33-0+deb9u1 (cli) (xây dựng: 7 tháng 12 năm 2018 11:36:49) (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+deb9u1, Bản quyền (c) 1999-2017, của Zend Technologies
Bước 2 - Cài đặt MariaDB và tạo cơ sở dữ liệu cho tháng 10
Tháng 10 hỗ trợ các 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 (stretch), vì vậy tronghướng dẫn này, chúng ta 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 do Oracle quản lý.Cài đặt máy chủ cơ sở dữ liệu MariaDB từ kho lưu trữ MariaDB chính thức:
Mã:
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
Mã:
mysql --version
#mysql Ver 15.1 Distrib 10.2.21-MariaDB, dành cho debian-linux-gnu (x86_64) sử dụng readline 5.2
mysql_secure installation
để cải thiện bảo mật MariaDB và đặt mật khẩu cho người dùng root
của MariaDB:
Mã:
sudo mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có): [B]Nhấn Enter[/b]
Đặt mật khẩu root? [Y/n] [B]Y[/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]
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Mã:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Mã:
quit
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ủa bạn. Để có được chứng chỉ SSL 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ỉ SSL từ Let's Encrypt mà không phụ thuộc vào bất kỳ thứ gì.Tải xuống và cài đặtAcme.sh:
Mã:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [emailprotected]
source ~/.bashrc
cd ~
Mã:
acme.sh --version
# v2.8.0
Mã:
# RSA 2048
acme.sh --issue--standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
--staging
flag vào các lệnh trên.Sau khi chạy các lệnh trên, chứng chỉvàkhóacủa bạn sẽ nằm trong:
- Đối với RSA: thư mục
~/example.com
. - Đối với ECC/ECDSA: thư mục
~/example.com_ecc
.
Mã:
acme.sh --list
/etc/letsencrypt
.
Mã:
mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Mã:
# 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 lấy được chứng chỉ, hãy thoát khỏi người dùng root và quay lại người dùng sudo bình thường:
Mã:
exit
Bước 4 - Cài đặt NGINX và cấu hình NGINX cho tháng 10
Cài đặt máy chủ web NGINX:
Mã:
sudo apt install -y nginx
Mã:
sudo nginx -v
# phiên bản nginx: nginx/1.10.3
Mã:
sudo vim /etc/nginx/sites-available/october.conf
Mã:
máy chủ {
lắng nghe [::]:443 ssl http2;
lắng nghe 443 ssl http2; lắng nghe [::]:80; lắng nghe 80; tên máy chủ example.com; chỉ mục index.php index.html; gốc /var/www/tháng mười;
chứng chỉ ssl /etc/letsencrypt/example.com/fullchain.pem;
khóa chứng chỉ ssl /etc/letsencrypt/example.com/private.key;
chứng chỉ ssl /etc/letsencrypt/example.com_ecc/fullchain.pem;
khóa chứng chỉ ssl /etc/letsencrypt/example.com_ecc/private.key;
vị trí / { tệp_thử $uri $uri/ /index.php?$query_string; }
vị trí ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120 giây;
}
vị trí ~ ^/favicon\.ico { try_files $uri /index.php; }
vị trí ~ ^/sitemap\.xml { try_files $uri /index.php; }
vị trí ~ ^/robots\.txt { try_files $uri /index.php; }
vị trí ~ ^/humans\.txt { try_files $uri /index.php; }
vị trí ~ ^/storage/app/uploads/public { try_files $uri 404; }
vị trí ~ ^/storage/app/media { try_files $uri 404; }
vị trí ~ ^/storage/temp/public { try_files $uri 404; }
vị trí ~ ^/modules/.*/assets { try_files $uri 404; }
vị trí ~ ^/modules/.*/resources { try_files $uri 404; }
vị trí ~ ^/modules/.*/hành vi/.*/assets { try_files $uri 404; }
vị trí ~ ^/modules/.*/hành vi/.*/resources { try_files $uri 404; }
vị trí ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
vị trí ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
vị trí ~ ^/modules/.*/formwidgets/.*/tài sản { try_files $uri 404; }
vị trí ~ ^/modules/.*/formwidgets/.*/tài nguyên { try_files $uri 404; }
vị trí ~ ^/modules/.*/reportwidgets/.*/tài sản { try_files $uri 404; }
vị trí ~ ^/modules/.*/reportwidgets/.*/tài nguyên { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/tài sản { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/tài nguyên { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
vị trí ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
vị trí ~ ^/themes/.*/assets { try_files $uri 404; }
vị trí ~ ^/themes/.*/resources { try_files $uri 404; }}
october.conf
mới bằng cách liên kết tệp đến thư mục sites-enabled
.
Mã:
sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled
Mã:
sudo nginx -t
Mã:
sudo systemctl reload nginx.service
Bước 5 - Tải xuống và cài đặt nền tảng October CMS
Tạo thư mục gốc của tài liệu:
Mã:
sudo mkdir -p /var/www/october
/var/www/october
thành [your_user]:
Mã:
sudo chown -R [your_user]:[your_user] /var/www/october
Mã:
cd /var/www/october
Mã:
wget https://octobercms.com/download -O october.zip
Mã:
giải nén october.zip
rm october.zip
mv install-master/* .
/var/www/october
thành www-data:
Mã:
sudo chown -R www-data:www-data /var/www/october
install.php
trong trình duyệt web của bạn, như example.com/install.php
và làm theo hướng dẫn cài đặt.Bước 6 - Hoàn tất thiết lập tháng 10
Đả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ể cấu hình một số cài đặt nâng cao hoặc bạn có thể giữ nguyên các giá trị mặc định.
Và cuối cùng khi mọi thứ đã được cấu hình, hãy 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 bạn muốn.
Để truy cập vào khu vực quản trị của nền tảng October CMS, chỉ cần thêm
/backend
vào URL/IP của bạn.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
install.php
và thư mục install_files
:
Mã:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files