Trong hướng dẫn này, chúng tôi sẽ cài đặt và định cấu hình Apache trên Máy chủ Ubuntu 20.04. Bạn có thể sử dụng hướng dẫn này cho một hoặc nhiều tên miền bằng Máy chủ ảo.
Install Apache
Cập nhật danh sách gói và cài đặt Apache trên Ubuntu 20.04.
Dưới đây chúng tôi có hai lệnh được phân tách bằng &&. Lệnh đầu tiên sẽ cập nhật danh sách gói để đảm bảo bạn có được phiên bản mới nhất cho Apache. Lệnh thứ hai sẽ tải xuống và cài đặt Apache.
Nhấn y
và ENTER
để tiếp tục.
sudo apt update && sudo apt install apache2
Quá trình cài đặt có thể mất vài phút. Sau khi cài đặt, tiếp tục đến tiếp theo để cấu hình tường lửa.
Cấu hình tường lửa (Firewall)
Chúng tôi khuyên bạn nên cấu hình tường lửa để tăng cường bảo mật.
Chúng tôi sẽ bắt đầu bằng cách thêm các quy tắc tường lửa cho dịch vụ SSH. Lý do là nếu bạn định cấu hình máy chủ từ xa, bạn không muốn bị khóa truy cập qua SSH khi tường lửa đang hoạt động. Nếu bạn đã thực hiện điều này trong hướng dẫn Khởi tạo máy chủ Ubuntu 20.04, việc thêm lại nó một lần nữa là một biện pháp phòng ngừa. Nếu đã cấu hình tường lửa, hãy bỏ qua nó
sudo ufw allow OpenSSH
Nếu bạn gặp lỗi “ERROR: could find a profilematch openSSH”, điều này có thể có nghĩa là bạn không định cấu hình máy chủ từ xa và có thể bỏ qua nó.
Bây giờ chúng ta có thể thêm các quy tắc tường lửa cho Apache.
sudo ufw allow in "Apache Full"
Bật tường lửa nếu nó chưa có.
sudo ufw enable
Nhấn y
nếu bạn thấy thông báo “Command may disrupt existing ssh connections”.
Nếu tường lửa được kích hoạt chính xác, bạn sẽ thấy “Firewall is active and enabled on system startup”.
Bạn cũng có thể kiểm tra trạng thái tường lửa hiện tại bằng:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
Ở trên chúng ta có thể thấy tường lửa đang hoạt động và có hai quy tắc cho mỗi dịch vụ. v6 là viết tắt của IPv6.
Test Apache
Để xem Apache đã được cài đặt chính xác, chúng ta có thể kiểm tra trạng thái dịch vụ Apache hiện tại.
sudo service apache2 status
Bạn sẽ thấy trạng thái đang hoạt động màu xanh lục.
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2020-03-31 08:44:04 CEST; 15min ago
Main PID: 5727 (apache2)
Tasks: 55 (limit: 4915)
CGroup: /system.slice/apache2.service
├─5727 /usr/sbin/apache2 -k start
├─5728 /usr/sbin/apache2 -k start
└─5729 /usr/sbin/apache2 -k start
Mar 31 08:44:04 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Mar 31 08:44:04 ubuntu2004 apachectl[5675]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.
Mar 31 08:44:04 ubuntu2004 systemd[1]: Started The Apache HTTP Server.
Cấu hình Virtual Host
Nếu bạn muốn lưu trữ nhiều tên miền trên máy chủ Ubuntu 20.04 của mình, bạn nên thiết lập một máy chủ ảo.
Tạo một thư mục mới trong /var/www/ cho tên miền của bạn. Chỉ cần thay thế mydomain.com bằng tên miền của bạn.
sudo mkdir -p /var/www/mydomain.com/public_html
Tạo file index.html để test.
sudo nano /var/www/mydomain.com/public_html/index.html
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome to mydomain.com!</h2>
</body>
</html>
Lưu lại và thoát (nhấn CTRL
+ X
, nhấn Y
rồi nhấn ENTER
)
Tạo tệp cấu hình máy chủ ảo thay thế mydomain.com bằng tệp của riêng bạn.
sudo nano /etc/apache2/sites-available/mydomain.com.conf
Nhập thông tin sau, thay thế mydomain.com bằng tên miền của bạn.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Lưu lại và thoát (nhấn CTRL
+ X
, nhấn Y
rồi nhấn ENTER
)
Kiểm tra lỗi.
apachectl configtest
Bật máy chủ ảo trên 1 tên miền dựa vào tệp đã cấu hình trước đó
sudo a2ensite mydomain.com.conf
Vô hiệu hóa trang web Apache mặc định, nếu không nó sẽ ghi đè lên cấu hình trước đó của bạn.
sudo a2dissite 000-default
Khởi động lại Apache
sudo systemctl reload apache2
Nếu bạn đã trỏ bản ghi A cho tên miền của bạn tới IP của máy chủ, kiểm tra trang web trong trình duyệt.
Bây giờ bạn có thể thêm nhiều tên miền hơn bằng cách lặp lại các bước trên.
Cấu hình khác trên Apache
Enable mod_rewrite
sudo a2enmod rewrite
Restart Apache
sudo systemctl restart apache2