Apache2 HTTP Server là máy chủ web phổ biến nhất được sử dụng.
Bước 1: Để cài đặt Apache2 HTTP trên máy chủ Ubuntu sau khi đăng nhập bằng tài khoản quản trị
chúng ta chạy lệnh sudo apt update
Chạy lệnh sudo apt install apache2 -y
Bật một số mod cần thiết như rewrite, SSL, header
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod headers
Khởi động lại Apache bằng lệnh sudo systemctl restart apache2
Bước 2: Cấu hình tường lửa
Chúng ta có thể liệt kê các hồ sơ ứng dụng trong ufw bằng cách chạy lệnh sudo ufw app list
Chúng ta nên kích hoạt cấu hình hạn chế nhất để đảm bảo vừa cho phép lưu lượng truy cập mà bạn đã cấu hình vừa đảm bảo vấn đề bảo mật thông qua sudo ufw allow ‘Apache’. Thông thường đổi với dịch vụ web các bạn chỉ cần mở port 80 cho giao thức HTTP và port 443 cho giao thức HTTPS
Kiểm tra máy chủ web của bạn thông qua lệnh sudo systemctl status apache2
Ngoài ra, để xác định việc cấu hình UFW Firewall đã thành công và có thể truy cập website từ bên ngoài hãy truy cập http://<your_server_ip> trên trình duyệt của bạn để kiểm tra.
Bước 3: Thiết lập Virtual Hosts
Khi sử dụng Apache, bạn có thể sử dụng Virtual Hosts riêng cho từng website giúp cho việc quản lý cấu hình được dễ dàng hơn.
Đầu tiên tạo thư mục cho your_domain thông qua lệnh sudo mkdir -p /var/www/your_domain
Tiếp theo, gán quyền sở hữu thư mục với user Apache www-data thông qua lệnh sudo chown -R www-data:www-data /var/www/your_domain
Để đảm bảo thư mục your_domain của bạn được phân quyền chính xác hãy sử dụng lệnh sudo chmod -R 755 /var/www/your_domain
Tiếp theo, tạo trang index.html bằng lệnh sudo nano /var/www/your_domain/index.html
Copy nội dung sau
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>First Website</title> </head> <body> <h1>First Website</h1> </body> </html>
Bấm Ctrl + O và nhấn Enter để lưu file, Ctrl + X để thoát nano
Tạo file Virtual Hosts /etc/apache2/sites-available/your_domain.conf bằng lệnh sudo nano /etc/apache2/sites-available/your_domain.conf
Dán nội dung sau đây vào
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/your_domain_error.log CustomLog ${APACHE_LOG_DIR}/your_domain_access.log combined </VirtualHost>
Bấm Ctrl + O và nhấn Enter để lưu file, Ctrl + X để thoát nano
tiến hành enbale Virtual Hosts với công cụ a2ensite thông qua lệnh sudo a2ensite your_domain.conf
Vô hiệu hóa trang web mặc định của Apache bằng lệnh sudo a2dissite 000-default.conf
Để chắc chắn Virtual Hosts được cấu hình chính xác hãy thử nghiệm cấu hình bằng lệnh sudo apache2ctl configtest
Khởi động lại Apache để các thay đổi của bạn có hiệu lực bằng lệnh sudo systemctl restart apache2
Truy cập http://your_domain bằng trình duyệt web để kiểm tra