Cài đặt Apache trên Ubuntu 20 – Apache là máy chủ web được sử dụng rộng rãi nhất trên thế giới. Nó cung cấp nhiều tính năng mạnh mẽ với các modules, hỗ trợ và tích hợp rộng rãi với các phần mềm phổ biến khác.
Trong bài viết này, HOSTVN sẽ hướng dẫn các bạn cài đặt Apache trên máy chủ đang sử dụng Ubuntu 20.
Mục lục
Cài đặt Apache trên Ubuntu 20
1. Bước 1: Cài đặt Apache
Apache có sẵn trong kho phần mềm của Ubuntu, cho phép bạn cài đặt nó bằng các công cụ quản lý gói thông thường như apt. Hãy bắt đầu bằng cách cập nhật gói apt:
sudo apt update
Sau đó, cài đặt apache2 bằng cách chạy lệnh sau:
sudo apt install apache2 -y
Lệnh trên sẽ cài đặt Apache và tất cả các thành phần phụ thuộc cần thiết của nó. Tiếp theo các bạn cần bật một số mod cần thiết như SSL, rewrite, header
sudo a2enmod rewrite sudo a2enmod ssl sudo a2enmod headers sudo systemctl restart apache2
2. Bước 2: Cấu hình tường lửa
Trước khi kiểm tra Apache, các bạn cần phải sửa đổi các cài đặt tường lửa để có thể truy cập vào các cổng web mặc định. Trong quá trình cài đặt, Apache tự đăng ký với UFW để cung cấp một vài cấu hình ứng dụng có thể được sử dụng để bật hoặc tắt quyền truy cập vào Apache thông qua tường lửa.
Các bạn có thể liệt kê các hồ sơ ứng dụng trong ufw bằng cách chạy lệnh sau:
sudo ufw app list
Bạn 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 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:
sudo ufw allow 'Apache'
3. Bước 3 – Kiểm tra máy chủ web của bạn
Sau khi kết thúc quá trình cài đặt, Ubuntu 20.04 sẽ tự khởi động Apache và bạn không cần chạy thêm bất kỳ lệnh nào để khởi động Apache. Để kiểm tra xem Apache đã thực sự hoạt động hay chưa các bạn sử dụng lệnh sau:
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.
Nếu bạn thấy trang mặc định của Apache nghĩa là cấu hình của bạn đã hoạt động chính xác. Trang mặc định của Apache cũng bao gồm một số thông tin cơ bản về các tệp và vị trí thư mục quan trọng của Apache.
4. Bước 4 – Quản lý Apache
Bây giờ bạn đã có máy chủ web của mình, để quản lý Apache các bạn có thể tham khảo các lệnh dưới đây.
- Để dừng Apache các bạn dùng lệnh:
sudo systemctl stop apache2
- Để khởi động Apache các bạn dùng lệnh:
sudo systemctl start apache2
- Để khởi động lại Apache các bạn dùng lệnh:
sudo systemctl restart apache2
- Nếu bạn chỉ đơn giản là thực hiện thay đổi cấu hình, Apache có thể tải lại mà không làm mất kết nối. Để làm điều này, sử dụng lệnh sau:
sudo systemctl reload apache2
- Theo mặc định, Apache được cấu hình khởi động cùng máy chủ (Auto start). Nếu bạn không muốn Apache khởi động cùng máy chủ hãy dùng lệnh sau:
sudo systemctl disable apache2
- Để kích hoạt cấu hình khởi động cùng máy chủ hãy dùng lệnh sau:
sudo systemctl enable apache2
5. Bước 5 – 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 như sau:
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:
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 sau
sudo chmod -R 755 /var/www/your_domain
Tiếp theo, tạo trang index.html:
sudo nano /var/www/your_domain/index.html
Dán nội dung sau đây vào:
<!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.
Tiếp theo các bạn cần tạo file Virtual Hosts /etc/apache2/sites-available/your_domain.conf
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. Sau đó tiến hành enbale Virtual Hosts với công cụ a2ensite:
sudo a2ensite your_domain.conf
Vô hiệu hóa trang web mặc định của Apache:
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 sau đây:
sudo apache2ctl configtest
Khởi động lại Apache để các thay đổi của bạn có hiệu lực:
sudo systemctl restart apache2
Truy cập http://your_domain bằng trình duyệt web để kiểm tra
6. Bước 6 – Làm quen với các tệp và thư mục quan trọng của Apache
Bây giờ bạn đã biết cách tự quản lý dịch vụ Apache của mình, bạn nên dành vài phút để làm quen với một vài thư mục và tệp quan trọng của Apache.
6.1. Thư mục chứa mã nguồn
/var/www/html: Theo mặc định thì mã nguồn của website có thể được đặt trong thư mục này, bạn cũng có thể thay đổi nếu muốn.
6.2. Cấu hình máy chủ
- /etc/apache2: Thư mục cấu hình Apache. Tất cả các tệp cấu hình Apache nằm ở đây.
- /etc/apache2/apache2.conf: Tệp cấu hình chính của Apache. Tệp này có thể được sửa đổi để thay đổi cấu hình toàn cầu của Apache. Tệp này chịu trách nhiệm tải nhiều tệp khác trong thư mục cấu hình.
- /etc/apache2/site-available/: Thư mục lưu trữ Virtual Hosts của mỗi trang web có thể được lưu trữ. Apache sẽ không sử dụng các tệp cấu hình được tìm thấy trong thư mục này nếu bạn không bật cấu hình với lệnh a2ensite.
- /etc/apache2/sites-enabled/: Thư mục nơi lưu trữ các Virtual Host đã được enable và đang hoạt động.
- /etc/apache2/conf-available, /etc/apache2/conf-enabled/: Thư mục này chứa các config được sử dùng chung. Các tệp trong thư mục conf-available có thể được kích hoạt bằng lệnh a2enconf và bị vô hiệu hóa bằng lệnh a2disconf.
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Các thư mục này chứa các modules có sẵn và được kích hoạt. Các modules có thể được kích hoạt và vô hiệu hóa bằng lệnh a2enmod và a2dismod.
6.3. Server Logs
- /var/log/apache2/access.log: Theo mặc định, mọi yêu cầu (Request) đến máy chủ web của bạn được ghi lại trong tệp này.
- /var/log/apache2/error.log: Theo mặc định, tất cả các lỗi sẽ được ghi lại trong tệp này. Lệnh LogLevel trong cấu hình Apache chỉ định mức độ chi tiết của các bản ghi lỗi.
7. Link tham khảo
8. Kết luận
Qua bài viết này HOSTVN đã hướng dẫn các bạn cài đặt Apache trên máy chủ sử dụng Ubuntu 20. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm hướng dẫn cài đặt Nginx trên Ubuntu 20. Nếu như bạn đang sử dụng dịch vụ quản trị máy chủ có thể liên hệ với chúng tôi để được hỗ trợ.
>> Tham khảo dịch vụ Cloud VPS – Máy chủ ảo SSD tốc độ nhanh x10 lần