1. Giới thiệu
Cài đặt Apache trên Ubuntu
Apache là phần mềm máy chủ web được sử dụng rộng rãi nhất trên thế giới. Đây là một phần mềm mã nguồn mở với nhiều tính năng mạnh mẽ và độ ổn định cao, được sử dụng từ các dự án cá nhân đến các trang web doanh nghiệp quy mô lớn. Đặc biệt, trên các bản phân phối Linux như Ubuntu, việc cài đặt và cấu hình Apache khá đơn giản, giúp người mới bắt đầu dễ dàng tiếp cận.
Bài viết này sẽ hướng dẫn chi tiết cách cài đặt Apache trên Ubuntu. Ngoài ra, chúng tôi cũng sẽ đề cập đến các cài đặt cơ bản sau khi cài đặt cũng như cách khắc phục sự cố. Mục tiêu là giúp ngay cả những người mới làm quen với máy chủ web cũng có thể dễ dàng triển khai Apache.
Tại sao chọn Apache?
Apache được sử dụng rộng rãi vì những lý do sau:
- Mã nguồn mở: Hoàn toàn miễn phí và liên tục được cải thiện bởi cộng đồng phát triển.
- Tùy chỉnh linh hoạt: Hệ thống module cho phép thêm các chức năng cần thiết.
- Tương thích cao: Hỗ trợ nhiều ngôn ngữ lập trình và phần mềm trung gian (PHP, MySQL, v.v.), rất phù hợp để xây dựng môi trường LAMP.
Đặc biệt, Ubuntu là hệ điều hành phổ biến từ người mới bắt đầu đến chuyên gia và có sự tương thích tốt với Apache, giúp đây trở thành lựa chọn lý tưởng để xây dựng máy chủ web.

2. Apache là gì? Tổng quan và ứng dụng
Tổng quan về Apache
Apache lần đầu tiên được phát hành vào năm 1995 và từ đó đã trở thành máy chủ web phổ biến nhất trên internet. Là một phần mềm mã nguồn mở, bất kỳ ai cũng có thể tải xuống và sử dụng miễn phí. Apache cũng rất ổn định, được sử dụng để vận hành nhiều trang web quy mô lớn trên toàn thế giới.
Ứng dụng của Apache
Apache chủ yếu được sử dụng làm máy chủ web để phục vụ các nội dung như HTML, hình ảnh, video và các tệp PHP. Một số ứng dụng phổ biến bao gồm:
- Lưu trữ trang web: Hỗ trợ nhiều loại nội dung web như trang web doanh nghiệp, blog cá nhân, trang tin tức, v.v.
- Chạy ứng dụng PHP: Apache kết hợp với PHP và MySQL để vận hành các ứng dụng web động như WordPress.
- Hỗ trợ SSL: Tạo các trang web HTTPS để đảm bảo an toàn cho dữ liệu truyền tải.
Hơn nữa, Apache có kiến trúc mô-đun linh hoạt, cho phép mở rộng chức năng theo nhu cầu. Ví dụ, bạn có thể sử dụng mod_ssl
để triển khai SSL/TLS hoặc mod_rewrite
để thiết lập quy tắc chuyển hướng URL.
So sánh với các máy chủ web khác
Một số đối thủ cạnh tranh của Apache bao gồm Nginx và LiteSpeed. Đặc biệt, Nginx có khả năng xử lý kết nối đồng thời tốt hơn và thường được sử dụng cho các trang web có lưu lượng truy cập cao. Mặt khác, Apache có lịch sử lâu đời, cộng đồng hỗ trợ rộng lớn và thông tin phong phú, giúp việc cài đặt và quản lý trở nên dễ dàng hơn.
3. Chuẩn bị trước khi cài đặt
Cấu hình ban đầu của Ubuntu
Trước khi cài đặt Apache trên Ubuntu, bạn cần thực hiện một số bước chuẩn bị. Đầu tiên, hãy kiểm tra xem hệ thống Ubuntu có hoạt động ổn định hay không và cập nhật hệ thống nếu cần. Điều này giúp bạn sử dụng các gói phần mềm mới nhất và tránh các vấn đề khi cài đặt.
Cập nhật hệ thống
- Chạy lệnh sau để cập nhật danh sách gói phần mềm.
sudo apt update
- Để nâng cấp toàn bộ hệ thống, sử dụng lệnh sau.
sudo apt upgrade
Thực hiện bước này sẽ đảm bảo các gói phụ thuộc cần thiết cho Apache được cài đặt đúng phiên bản.
Kết nối SSH
Trong hầu hết các trường hợp, bạn sẽ cần truy cập từ xa vào máy chủ Ubuntu. Vì vậy, bạn có thể sử dụng SSH (Secure Shell) để kết nối với máy chủ một cách an toàn. Chạy lệnh sau để kết nối với máy chủ:
ssh tên_người_dùng@địa_chỉ_IP_máy_chủ
Sau khi kết nối thành công qua SSH, bạn có thể tiếp tục bước cài đặt Apache.

4. Hướng dẫn cài đặt Apache
Cách cài đặt Apache
Cài đặt Apache trên Ubuntu rất đơn giản nhờ công cụ quản lý gói apt. Hãy làm theo các bước sau.
1. Cài đặt Apache
Nhập lệnh sau vào terminal để cài đặt Apache2.
sudo apt install apache2
Lệnh này sẽ cài đặt Apache2 và tất cả các gói phụ thuộc cần thiết.
2. Kiểm tra cài đặt
Sau khi cài đặt xong, kiểm tra trạng thái của Apache bằng lệnh sau:
sudo systemctl status apache2
Nếu kết quả hiển thị active (running)
, điều đó có nghĩa là Apache đang chạy bình thường.
Cấu hình tự động khởi động
Để Apache tự động khởi động khi máy chủ được bật lại, chạy lệnh sau:
sudo systemctl enable apache2
Sau khi thực hiện bước này, Apache sẽ tự động chạy mỗi khi máy chủ khởi động lại.
Cấu hình tường lửa (UFW)
Nếu tường lửa được bật, bạn cần mở cổng 80 (HTTP) và 443 (HTTPS) để Apache có thể nhận yêu cầu từ bên ngoài. Sử dụng lệnh sau để mở cổng:
sudo ufw allow 'Apache'
Sau khi thực hiện lệnh này, Apache có thể chấp nhận kết nối từ bên ngoài.
5. Cấu hình và thao tác cơ bản với Apache
Quản lý dịch vụ Apache
Sau khi cài đặt Apache, bạn nên biết một số thao tác cơ bản để quản lý dịch vụ, bao gồm khởi động, dừng và khởi động lại.
Khởi động dịch vụ
Để khởi động Apache theo cách thủ công, sử dụng lệnh sau:
sudo systemctl start apache2
Dừng dịch vụ
Nếu cần tạm dừng Apache, bạn có thể thực hiện lệnh sau:
sudo systemctl stop apache2
Khởi động lại dịch vụ
Để áp dụng các thay đổi cấu hình, bạn có thể khởi động lại Apache bằng lệnh:
sudo systemctl restart apache2
Kiểm tra hoạt động của máy chủ web
Để kiểm tra xem Apache có hoạt động đúng hay không, bạn có thể mở trình duyệt và truy cập vào địa chỉ:
http://localhost
Nếu bạn đang làm việc với một máy chủ từ xa, hãy thay thế localhost
bằng địa chỉ IP của máy chủ.

6. Cấu hình quyền và bảo mật
Thiết lập quyền trên máy chủ web
Sau khi cài đặt Apache, bạn cần thiết lập quyền chính xác cho thư mục gốc của máy chủ web (/var/www/html
) để đảm bảo Apache có thể truy cập tệp tin.
sudo chown -R www-data:www-data /var/www/html
Lệnh này giúp Apache có quyền đọc và ghi vào thư mục tài liệu web.
Các thiết lập bảo mật cơ bản
Việc bảo mật máy chủ web là rất quan trọng, đặc biệt khi bạn triển khai trên môi trường trực tuyến. Dưới đây là một số biện pháp bảo mật quan trọng:
- Vô hiệu hóa danh sách thư mục: Chỉnh sửa tệp cấu hình
/etc/apache2/apache2.conf
để ngăn chặn việc hiển thị danh sách tệp trong thư mục.
Options -Indexes
- Cấu hình tường lửa: Chỉ mở các cổng cần thiết và đóng các cổng không sử dụng.
- Cài đặt SSL/TLS: Sử dụng
Let's Encrypt
để bảo vệ dữ liệu truyền tải bằng HTTPS.
7. Xử lý sự cố và lỗi phổ biến
Các lỗi thường gặp và cách khắc phục
Ngay cả khi cài đặt Apache đúng cách, bạn có thể gặp phải một số vấn đề phổ biến. Dưới đây là một số lỗi thường gặp và cách khắc phục.
1. Apache không khởi động được
Vấn đề: Khi chạy lệnh sudo systemctl start apache2
, Apache không thể khởi động.
Nguyên nhân: Một dịch vụ khác có thể đang chiếm cổng 80.
Cách khắc phục: Kiểm tra xem cổng 80 có bị chiếm dụng không.
sudo lsof -i :80
Nếu có tiến trình khác đang sử dụng cổng này, hãy dừng nó bằng lệnh sau:
sudo kill [PID]
Sau đó thử khởi động lại Apache.
sudo systemctl start apache2
2. Không thể truy cập Apache từ trình duyệt
Vấn đề: Apache đã khởi động nhưng không thể truy cập từ trình duyệt.
Nguyên nhân: Tường lửa có thể đang chặn kết nối.
Cách khắc phục: Kiểm tra trạng thái tường lửa bằng lệnh:
sudo ufw status
Nếu cổng 80 và 443 chưa được mở, hãy chạy lệnh sau:
sudo ufw allow 'Apache'
3. Lỗi quyền truy cập
Vấn đề: Không thể tải lên hoặc chỉnh sửa tệp trong thư mục web.
Nguyên nhân: Quyền sở hữu thư mục không đúng.
Cách khắc phục: Đặt quyền sở hữu thư mục web về Apache.
sudo chown -R www-data:www-data /var/www/html
Nếu cần, cấp quyền truy cập:
sudo chmod -R 755 /var/www/html
8. Tổng kết và bước tiếp theo
Tóm tắt bài viết
Bài viết này đã hướng dẫn chi tiết cách cài đặt và cấu hình Apache trên Ubuntu. Dưới đây là những điểm chính:
- Chuẩn bị hệ thống: Cập nhật Ubuntu và thiết lập kết nối SSH.
- Cài đặt Apache: Sử dụng lệnh
apt
để cài đặt dễ dàng. - Cấu hình tường lửa: Mở cổng 80 và 443 để Apache có thể nhận kết nối.
- Quản lý Apache: Cách khởi động, dừng và khởi động lại dịch vụ.
- Cấu hình quyền và bảo mật: Đặt quyền chính xác và tăng cường bảo mật.
- Xử lý sự cố: Giải quyết các vấn đề phổ biến.
Bước tiếp theo
Sau khi cài đặt Apache, bạn nên xem xét các biện pháp bảo mật nâng cao như:
- Cài đặt SSL/TLS: Sử dụng
Let's Encrypt
để kích hoạt HTTPS. - Cấu hình môi trường LAMP: Cài đặt MySQL và PHP để chạy các ứng dụng web động.
- Mở rộng Apache: Thêm các mô-đun như
mod_rewrite
vàmod_ssl
.
Với những bước này, bạn đã sẵn sàng triển khai và quản lý máy chủ web Apache trên Ubuntu. Chúc bạn thành công!