WordPress là một trong những nền tảng linh hoạt nhất để tạo các trang web hấp dẫn và thú vị. Hôm nay hãy cùng BKNS tham khảo cách cài đặt WordPress bằng dòng lệnh nhé!
Tóm Tắt Bài Viết
- 1 WordPress là gì?
- 2 1. Chuẩn bị máy chủ để cài đặt WordPress bằng dòng lệnh
- 2.1 t. Chuyển tiếp HTTP sang HTTPS trong tệp cấu hình SSL.
- 2.2 u. Thêm mã bên dưới để chuyển tiếp http đến https:
- 2.3 w. Sau khi thiết lập cấu hình SSL, hãy khởi động lại các dịch vụ apache.
- 2.4 x. Khởi động lại các dịch vụ Apache:
- 2.5 y. Để đảm bảo độ tin cậy về bảo mật, tôi khuyên bạn nên kiểm tra cấu hình SSL của mình bằng ssllabs.com.
- 3 2. Cài đặt WordPress
- 3.1 a. Tải xuống WordPress:
- 3.2 b. Giải nén kho lưu trữ:
- 3.3 c. Tạo thư mục WordPress:
- 3.4 d. Khôi phục ngữ cảnh bảo mật SELinux mặc định:
- 3.5 e. Tạo thư mục tải lên:
- 3.6 f. Chọn quyền chính xác cho các thư mục:
- 3.7 g. Sao chép cấu hình WordPress mẫu vào tệp cấu hình WordPress mới:
- 3.8 h. Chỉnh sửa tệp cấu hình WordPress:
- 3.9 i. Chèn người dùng và mật khẩu cơ sở dữ liệu đã xác định trước đó:
- 3.10 j. Trộn và băm mật khẩu
- 3.11 k. Sao chép và dán các khóa bí mật từ trang web.
- 3.12 l. Cài đặt WordPress bằng dòng lệnh của bạn hiện đã hoàn tất một phần, vì vậy bây giờ bạn có thể hoàn tất quá trình cài đặt thông qua trình duyệt của mình.
- 4 Bước tiếp theo
- 5 Phần kết luận
WordPress là gì?
WordPress là cách đơn giản nhất, phổ biến nhất để tạo một trang web hoặc blog mới cho chính bạn. Nó cung cấp hơn 38% tất cả các trang web và 63% tất cả các hệ thống quản lý nội dung được sử dụng trên thế giới. Không nghi ngờ gì, nó được yêu thích như một hệ thống quản lý nội dung mã nguồn mở cho phép sửa đổi cấp độ mã nâng cao. Sau cùng là WordPress làm cho việc xây dựng trang web trở nên dễ dàng và thú vị. Hầu hết cho tất cả mọi người, ngay cả những người không phải là nhà phát triển.
1. Chuẩn bị máy chủ để cài đặt WordPress bằng dòng lệnh
b. Cập nhật CentOS lên phiên bản mới nhất:
sudo dnf update -y
c. Đặt tên máy chủ:
sudo hostnamectl set-hostname server.example.com
d. Cài đặt các gói bổ sung không có trong cài đặt CentOS tiêu chuẩn:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
e. Cài đặt tất cả các thành phần bắt buộc khác:
sudo dnf install httpd mariadb mariadb-server php php-common php-gd php-xml php-mbstring mod_ssl php php-pdo php-mysqlnd php-opcache php-xml php-gd php-devel php-json mod_ssl fail2ban nano firewalld certbot wget -y
f. Khởi động và kích hoạt firewalld:
sudo systemctl start firewalld sudo systemctl enable firewalld sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
g. Bật fail2ban:
udo systemctl enable fail2ban
h. Khởi chạy trình soạn thảo văn bản của bạn để chỉnh sửa tệp cấu hình:
sudo nano /etc/fail2ban/jail.conf
i. Nhận xét ra iptables và thêm firewalld:
#banaction = iptables-multiport #banaction_allports = iptables-allports banaction = firewallcmd-multiport banaction_allports = firewallcmd-allports
j. Cuộn xuống sshd và chuyển sang chế độ đã bật:
[sshd]
enabled = true
k. Thoát khỏi trình chỉnh sửa của bạn bằng ‘ctrl + x’, nhấn ‘y’ và sau đó ‘enter’ để lưu.
l. Khởi động lại fail2ban sau khi cấu hình:
sudo systemctl restart fail2ban
m. Kiểm tra xem fail2ban đang hoạt động. Các clients bị cấm bây giờ sẽ bằng 0. Nhưng nếu bạn kiểm tra sau khi cài đặt xong với các lệnh này, sẽ có nhiều IP bị cấm. Vì các chương trình có lỗ hổng bảo mật tự động đang quét mọi thứ.
sudo tail -n 100 /var/log/secure | grep -i failed | tail -n 5 sudo fail2ban-client status sshd
n. Khởi động và kích hoạt Apache, Mariadb và bắt đầu cài đặt bảo mật MySQL:
sudo systemctl start httpd sudo systemctl start mariadb sudo systemctl enable httpd sudo systemctl enable mariadb sudo mysql_secure_installation
o. Bạn nên bảo mật cài đặt SQL của mình bằng các mục sau và đảm bảo thay đổi mật khẩu thành mật khẩu phức tạp của riêng bạn.
Answers to mysql secure installation: Set root password? [Y/n] Y 3iMC2GVavHJ^u8#rx#mA 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 Create database for mariadb, you should use different password for both root mariadb password and wordpress database password: mysql -u root -p CREATE DATABASE wordpress; GRANT ALL PRIVILEGES on wordpress.* to 'wordpress_user'@'localhost' identified by 'UyWqwqrK5rysYXFQGoNHF'; FLUSH PRIVILEGES; Exit
p. Tạo tệp cấu hình SSL và tạo chứng chỉ Let’s Encrypt:
grep DocumentRoot /etc/httpd/conf.d/ssl.conf sudo certbot certonly --webroot -w / var / www / html / --renew-by-default --email webmaster@example.com --text --agree-tos -d example.com -d www.example.com sudo ls /etc/letsencrypt/live/example.com/
q. Định cấu hình lịch gia hạn Let’s mã hóa:
crontab -e
r. Dán lịch chạy hàng tuần:
0 0 * * 0 /usr/bin/certbot renew >> /var/log/certbot-renew.log
s. Định cấu hình cấu hình SSL:
sudo nano /etc/httpd/conf.d/ssl.conf
t. Chuyển tiếp HTTP sang HTTPS trong tệp cấu hình SSL.
u. Thêm mã bên dưới để chuyển tiếp http đến https:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ </VirtualHost>
v. Nhận xét về cài đặt SSL được tạo trước và cung cấp vị trí tệp chứng chỉ SSL và xác định các giao thức SSL và bộ mật mã.
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256: DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256: AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES: !RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLOptions +StrictRequire
w. Sau khi thiết lập cấu hình SSL, hãy khởi động lại các dịch vụ apache.
x. Khởi động lại các dịch vụ Apache:
sudo apachectl -t sudo systemctl restart httpd
y. Để đảm bảo độ tin cậy về bảo mật, tôi khuyên bạn nên kiểm tra cấu hình SSL của mình bằng ssllabs.com.
2. Cài đặt WordPress
a. Tải xuống WordPress:
sudo wget http://wordpress.org/latest.tar.gz
b. Giải nén kho lưu trữ:
tar -xzvf latest.tar.gz
c. Tạo thư mục WordPress:
sudo cp -avr wordpress / * / var / www / html /
d. Khôi phục ngữ cảnh bảo mật SELinux mặc định:
restorecon -r / var / www / html
e. Tạo thư mục tải lên:
sudo mkdir / var / www / html / wp-content / uploads
f. Chọn quyền chính xác cho các thư mục:
sudo chown -R apache:apache /var/www/html/ sudo chmod -R 755 /var/www/html/ cd /var/www/html/
g. Sao chép cấu hình WordPress mẫu vào tệp cấu hình WordPress mới:
sudo mv wp-config-sample.php wp-config.php
h. Chỉnh sửa tệp cấu hình WordPress:
sudo nano wp-config.php
i. Chèn người dùng và mật khẩu cơ sở dữ liệu đã xác định trước đó:
define( 'DB_NAME', 'wordpress' ); /** MySQL database username */ define( 'DB_USER', 'wordpress_user' ); /** MySQL database password */ define( 'DB_PASSWORD', 'UyWqwqrK5rysYXFQGoNHF' )
j. Trộn và băm mật khẩu
Đây là một bước quan trọng để đảm bảo rằng không ai có thể đoán được những gì bạn đã chạy về mật khẩu và khóa.
k. Sao chép và dán các khóa bí mật từ trang web.
l. Cài đặt WordPress bằng dòng lệnh của bạn hiện đã hoàn tất một phần, vì vậy bây giờ bạn có thể hoàn tất quá trình cài đặt thông qua trình duyệt của mình.
Bạn sẽ được kiểm tra xem có bất kỳ bản cập nhật nào không.
Bước tiếp theo
Bạn nên kiểm tra cài đặt của mình để tìm các lỗ hổng bảo mật và các vấn đề bảo mật bằng WPSEC. WPSEC là một trang web tuyệt vời, nơi bạn có thể tiến hành quét lỗ hổng bảo mật miễn phí. Hãy kiểm tra và làm bất cứ điều gì bạn có thể để sửa chữa bất cứ điều gì xuất hiện, vì đây là những lỗ hổng tương tự mà tin tặc tấn công và những kẻ khác sẽ tìm cách khai thác để hack trang web của bạn hoặc biến trang web của bạn thành một phần của mạng botnet để cho thuê.
Phần kết luận
Trên đây là cách cài đặt WordPress bằng dòng lệnh. Bạn hoàn toàn có thể tự cài đặt theo hướng dẫn của BKNS. Lưu ý rằng, mấu chốt để giảm thiểu mối đe dọa luôn hiện hữu đó là duy trì các bản cập nhật và nâng cấp thường xuyên. Đồng thời tải xuống một plugin có tên Wordfence để giúp bạn luôn được bảo vệ và cấm những kẻ xấu đó gõ cửa nhà bạn.
==>Xem thêm: