Cách cài đặt WonderCMS với Apache và Let's Encrypt SSL trên CentOS 8

theanh

Administrator
Nhân viên
WonderCMS là một hệ thống quản lý nội dung miễn phí, mã nguồn mở, đơn giản và nhẹ để xây dựng các trang web và blog đơn giản. Đây là một CMS dạng tệp phẳng và không yêu cầu bất kỳ cơ sở dữ liệu nào. Quá trình cài đặt rất đơn giản và không yêu cầu bất kỳ cấu hình ban đầu nào. Nó cung cấp một bộ tính năng phong phú bao gồm hỗ trợ WYSIWYG, khung CSS linh hoạt, thân thiện với SEO và nhiều tính năng khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt WonderCMS trên CentOS 8 và bảo mật bằng Let's Encrypt SSL.

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

  • Máy chủ chạy CentOS 8.
  • Mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt Apache và PHP​

Trước tiên, hãy cài đặt máy chủ web Apache, PHP và các tiện ích mở rộng PHP khác bằng lệnh sau:
Mã:
dnf install httpd php php-mysqlnd php-curl php-opcache php-xml php-xmlrpc php-gd php-mbstring php-zip php-json wget unzip git -y
Sau khi cài đặt hoàn tất, hãy mở tệp php.ini và thay đổi một số cài đặt:
Mã:
nano /etc/php.ini
Thay đổi giá trị theo yêu cầu của bạn:
Mã:
memory_limit = 128Mpost_max_size = 32Mupload_max_filesize = 16Mmax_execution_time = 300date.timezone = Asia/Kolkata
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ Apache và khởi động lại để bắt đầu sau khi hệ thống khởi động lại bằng lệnh sau:
Mã:
systemctl start httpd
 systemctl enable httpd

Tải xuống WonderCMS​

Trước tiên, hãy tải xuống phiên bản mới nhất của WonderCMS từ kho lưu trữ Git:
Mã:
cd /var/www/html
 git clone https://github.com/robiso/wondercms.git
Sau khi quá trình tải xuống hoàn tất, hãy cấp quyền thích hợp cho thư mục đã tải xuống bằng lệnh sau:
Mã:
chown -R apache:apache /var/www/html/wondercms
 chmod -R 775 /var/www/html/wondercms

Cấu hình Apache cho WonderCMS​

Trước tiên, hãy tạo tệp cấu hình máy chủ ảo Apache mới cho WonderCMS với lệnh sau:
Mã:
nano /etc/httpd/conf.d/wondercms.conf
Thêm các dòng sau:
Mã:
 ServerName wonder.linuxbuz.com DirectoryIndex index.php DocumentRoot /var/www/html/wondercms Redirect /wondercms/loginURL /loginURL ErrorLog /var/log/httpd/linuxbuz.com-error.log CustomLog /var/log/httpd/linuxbuz.com-access.log combined  Options FollowSymLinks AllowOverride All Require all granted
Lưu và đóng tệp. Sau đó, khởi động lại dịch vụ Apache bằng lệnh sau:
Mã:
systemctl restart httpd
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Apache bằng lệnh sau:
Mã:
systemctl status httpd
Bạn sẽ thấy đầu ra sau:
Mã:
? httpd.service - Máy chủ HTTP Apache Đã tải: đã tải (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, ngày 19 tháng 02 năm 2020 lúc 08:51:34 EST; 1 phút 25 giây trước Tài liệu: man:httpd.service(8) PID chính: 4716 (httpd) Trạng thái: "Tổng số yêu cầu: 6; Công nhân nhàn rỗi/bận rộn 100/0; Yêu cầu/giây: 0,0759; Số byte được phục vụ/giây: 812 B/giây" Nhiệm vụ: 278 (giới hạn: 12558) Bộ nhớ: 43,1M CGroup: /system.slice/httpd.service ??4716 /usr/sbin/httpd -DFOREGROUND ??4718 /usr/sbin/httpd -DFOREGROUND ??4719 /usr/sbin/httpd -DFOREGROUND ??4720 /usr/sbin/httpd -DFOREGROUND ??4721 /usr/sbin/httpd -DFOREGROUND ??4935 /usr/sbin/httpd -DFOREGROUND19 tháng 2 08:51:34 centos8 systemd[1]: Đang khởi động Máy chủ HTTP Apache...

Bảo mật WonderCMS với Let's Encrypt SSL​

Tiếp theo, cài đặt máy khách Certbot Let's Encrypt bằng lệnh sau:
Mã:
wget https://dl.eff.org/certbot-auto
 mv certbot-auto /usr/local/bin/certbot-auto
 chown root /usr/local/bin/certbot-auto
 chmod 0755 /usr/local/bin/certbot-auto
Bây giờ, hãy chạy lệnh sau để lấy và cài đặt chứng chỉ SSL cho trang web WonderCMS của bạn.
Mã:
certbot-auto --apache -d wonder.linuxbuz.com
Lệnh trên sẽ cài đặt tất cả các phụ thuộc bắt buộc trên máy chủ của bạn. Sau khi cài đặt, bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:

Lưu ý: Nếu bạn gặp bất kỳ lỗi nào liên quan đến chứng chỉ SSL, hãy khởi động lại dịch vụ Apache và chạy lại lệnh trên.
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Installer apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho wonder.linuxbuz.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/wondercms.conf
Tiếp theo, bạn sẽ cần chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
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): 2
Nhập 2 và nhấn Enter để tiếp tục. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy kết quả sau:
Mã:
Đang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/conf.d/wondercms.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://wonder.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=wonder.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/wonder.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/wonder.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-03-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot-auto với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot-auto renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le

Cấu hình Tường lửa và SELinux​

Tiếp theo, bạn sẽ cần tạo một quy tắc tường lửa để cho phép dịch vụ HTTP và HTTPS từ các mạng bên ngoài. Bạn có thể cho phép bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-service=http
Mã:
firewall-cmd --permanent --add-service=https
 firewall-cmd --reload
Tiếp theo, bạn sẽ cần cấu hình SELinux cho WonderCMS. Bạn có thể cấu hình SELinux bằng lệnh sau:
Mã:
setsebool httpd_can_network_connect on -P
 chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/wondercms
Cuối cùng, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart httpd

Truy cập WonderCMS​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://wonder.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang chủ WonderCMS:



Bây giờ, hãy sao chép mật khẩu từ trang trên và nhấp vào nút CClick to login. Bạn sẽ thấy trang sau:



Dán mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:



Tiếp theo, nhấp vào Cài đặt = > Bảo mật. Bạn sẽ thấy trang sau:



Thay đổi URL đăng nhập, mật khẩu và nhấp vào nút THAY ĐỔI MẬT KHẨU.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và bảo mật WonderCMS thành công trên CentOS 8 với Let's Encrypt SSL. Bây giờ bạn có thể dễ dàng lưu trữ blog và trang web của riêng mình bằng WonderCMS.
 
Back
Bên trên