Triển khai LEMP Stack (Nginx, MariaDB, PHP) trên Arch Linux từng bước

cach cai dat lemp stack tren arch linux
Hướng dẫn này giải thích cách cài đặt Nginx, MariaDB và PHP trên Arch Linux (LEMP) và bảo mật website bằng chứng chỉ Let’s Encrypt miễn phí.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, vui lòng:
Tạo một bản ghi DNS “A” trỏ đến địa chỉ IP của máy chủ bạn.
Hướng dẫn này sử dụng app.example.com làm tên DNS ví dụ của máy chủ.

Cài đặt tường lửa UFW

UFW (uncomplicated firewall) là một Firewall đơn giản và dễ cấu hình.
1. Cài đặt UFW.
$ sudo pacman -S --noconfirm ufw
2. Cấu hình UFW để cho phép lưu lượng truy cập đi ra, nhưng từ chối mọi lưu lượng truy cập đến hoặc lưu lượng được định tuyến theo mặc định.
$ sudo ufw default allow outgoing
$ sudo ufw default deny incoming
$ sudo ufw default deny routed
Cho phép lưu lượng trên các cổng TCP 22 (SSH), 80 (HTTP) và 443 (HTTPS).
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
3. Kích hoạt Firewall để cấu hình mới có hiệu lực. Nếu bạn kết nối qua SSH, sẽ hiển thị một cảnh báo về khả năng gián đoạn kết nối. Bạn có thể bỏ qua cảnh báo này vì cổng TCP 22 (SSH) đã được cho phép.
$ sudo ufw enable

Cài đặt Nginx

1. Cài đặt gói Nginx.
$ sudo pacman -S --noconfirm nginx
2. Khởi động dịch vụ Nginx và kích hoạt nó để tự động khởi động cùng hệ thống.
$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service

Cài đặt MariaDB

1. Cài đặt gói MariaDB.
$ sudo pacman -S --noconfirm mariadb
2. Khởi tạo cơ sở dữ liệu nội bộ và các bảng hệ thống của MariaDB.
$ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
3. Khởi động dịch vụ MariaDB và kích hoạt nó để tự động khởi động cùng hệ thống.
$ sudo systemctl start mariadb.service
 $ sudo systemctl enable mariadb.service
4. Chạy script cài đặt bảo mật để cấu hình an toàn cho MariaDB.
$ sudo mysql_secure_installation
Khi được hỏi mật khẩu hiện tại cho root, nhấn Enter nếu không có. Khi được yêu cầu đặt mật khẩu mới cho root, hãy sử dụng một mật khẩu an toàn. Trả lời Y hoặc nhấn Enter cho các câu hỏi còn lại.

Cài đặt PHP

1. Cài đặt các gói PHP và PHP-FPM.
$ sudo pacman -S --noconfirm php php-fpm
2. Khởi động dịch vụ PHP-FPM và kích hoạt nó để tự động khởi động cùng hệ thống.
$ sudo systemctl start php-fpm.service
$ sudo systemctl enable php-fpm.service

Cài đặt Certbot

Certbot được sử dụng để yêu cầu chứng chỉ SSL/TLS miễn phí từ Let’s Encrypt. Cách khuyến nghị để cài đặt Certbot trên Arch là sử dụng Snap.
Thực hiện theo hướng dẫn tại eff.org để cài đặt Certbot cho Nginx trên Arch Linux.
Yêu cầu chứng chỉ SSL/TLS với Certbot. Thay thế user@example.com bằng email của bạn và app.example.com bằng tên miền đầy đủ của bạn.
$ sudo certbot certonly --agree-tos --no-eff-email --nginx -m user@example.com -d app.example.com

Kiểm tra PHP

1. Tạo một trang thử PHP trong thư mục gốc của web.
$ sudo nano /srv/http/index.php
2. Dán các dòng sau vào tệp:
<?php
phpinfo();
3. Lưu và thoát khỏi tệp.
Để xem trang thử, hãy truy cập tên miền đầy đủ của bạn trên trình duyệt web. Trang này sẽ hiển thị phiên bản PHP cũng như các thông tin hệ thống khác.
Việc cài đặt LEMP stack đã hoàn tất. Tiếp theo, hãy tải các trang web của bạn lên thư mục /srv/http.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *