Hướng dẫn thiết lập máy chủ ảo Apache trên Debian 9

0

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách thiết lập các máy chủ ảo Apache trên Debian 9. Apache là một máy chủ web mã nguồn mở và miễn phí. Đây là máy chủ web phổ biến nhất và được sử dụng rộng rãi trên thế giới, và nó thường được sử dụng trong các máy chủ Linux. Nó được phát triển và duy trì bởi Apache Software Foundation, hơn một nửa số máy chủ trên khắp thế giới đang chạy máy chủ web nhanh và an toàn này.

Yêu cầu

– Truy cập SSH với các đặc quyền root cho máy chủ Debian 9 của bạn
– Được cài đặt và cấu hình đúng máy chủ web Apache

1. Đăng nhập vào máy chủ của bạn

Trước tiên, hãy đăng nhập vào máy chủ của bạn thông qua SSH:

ssh root @ server_ip

2. Kiểm tra cài đặt Apache

Kiểm tra xem apache đã được cài đặt và đang chạy trên máy chủ của bạn chưa. Bạn có thể thực hiện điều này bằng lệnh sau:

dpkg -l apache2

Nếu apache không được cài đặt, bạn có thể làm điều này bằng cách chạy các lệnh sau. Trước tiên, hãy đảm bảo rằng các kho lưu trữ hệ thống được cập nhật:

apt-get update

Để cài đặt máy chủ web Apache, hãy thực hiện như sau:

apt-get install apache2

Sau khi cài đặt xong, bạn nên kích hoạt Apache để tự khởi động khi khởi động lại máy chủ với:

systemctl enable apache2

Bạn cũng có thể kiểm tra trạng thái của dịch vụ Apache bằng lệnh sau:

systemctl status apache2

Bây giờ chúng ta chắc chắn rằng Apache đã được cài đặt và chạy trên máy chủ của chúng ta, chúng ta có thể tiếp tục với bước tiếp theo và thiết lập máy chủ ảo đầu tiên của chúng ta.

3. Máy chủ ảo là gì?

Máy chủ ảo Apache được thiết lập chỉ thị cấu hình cho phép bạn lưu trữ nhiều trang web tùy thích, bằng một máy chủ web duy nhất. Máy chủ web hỗ trợ hai loại máy chủ ảo:

Máy chủ ảo dựa trên tên Máy chủ ảo dựa trên IP

Máy chủ ảo dựa trên tên thường được sử dụng để lưu trữ nhiều trang web trên cùng một máy chủ, trong khi trong máy chủ ảo dựa trên IP, chúng tôi chỉ có thể định cấu hình một trang web trên một địa chỉ IP. Trong hướng dẫn này sẽ chỉ cho bạn cách tạo các máy chủ ảo dựa trên tên . Với mục đích này, chúng tôi sẽ lưu trữ hai trang web bằng cách sử dụng các tên miền sau, domain1.com và domain2.com . Bạn cũng có thể thay thế chúng bằng tên miền thực của bạn.

4. Tạo các thư mục webroot

Trước khi thiết lập các máy chủ ảo, chúng ta sẽ cần tạo các thư mục gốc của tài liệu cho các trang web của chúng ta. Hãy tạo chúng trong thư mục / var / www / html với các lệnh sau:

mkdir -p /var/www/html/domain1.com
mkdir -p /var/www/html/domain2.com

Hãy tạo một trang thử nghiệm cho mỗi miền của chúng tôi, vì vậy chúng tôi có thể kiểm tra cấu hình của mình sau này.
Điều hướng đến thư mục gốc của tài liệu domain1.com :

cd /var/www/domain1.com

Tạo một trang index.html mới với:

nano index.html

Và thêm nội dung sau:

<html>
 <body>
 <center><h1>This is domain1.com!</h1></center>
 </body>
</html>

Bây giờ, hãy làm như sau cho miền domain2.com .

cd /var/www/domain2.com
nano index.html

Và thêm nội dung sau:

<html>
 <body>
 <center><h1>This is domain2.com!</h1></center>
 </body>
</html>

Bây giờ chúng tôi đã tạo thành công các trang thử nghiệm cho cả hai tên miền. Để máy chủ web Apache của chúng tôi có thể truy cập các tệp này, chúng tôi cũng cần cung cấp cho họ quyền thích hợp và đặt người dùng và nhóm thành www-data . Chúng tôi cập nhật quyền đối với toàn bộ thư mục / var / www /html, với lệnh sau.

chown -R www-data: / var / www / html

5. Tạo các tập tin máy chủ ảo

Bây giờ chúng ta có thể tạo các tệp máy chủ ảo của mình. Các tệp cấu hình máy chủ ảo thường kết thúc bằng phần mở rộng .conf.
Chạy lệnh sau để tạo tệp cấu hình máy chủ ảo cho miền đầu tiên của chúng tôi, domain1.com :

nano /etc/apache2/sites-available/domain1.com.conf

Và thêm nội dung sau vào tệp:

<VirtualHost *:80>

ServerAdmin admin@domain1.com
ServerName domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/html/domain1.com

ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log
CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined

</VirtualHost>

Bây giờ, hãy làm tương tự cho tên miền thứ hai của chúng ta, domain2.com :

nano /etc/apache2/sites-available/domain2.com.conf

Và thêm mã sau đây:

<VirtualHost *:80>

ServerAdmin admin@domain2.com
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/html/domain2.com

ErrorLog ${APACHE_LOG_DIR}/domain2.com_error.log
CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined

</VirtualHost>

Dưới đây là một giải thích ngắn về mỗi dòng trong các tệp máy chủ ảo của chúng tôi.

Các dòng sau cho thấy máy chủ ảo đang nghe trên cổng 80:

<VirtualHost *:80>

ServerAdmin đặt địa chỉ liên hệ mà máy chủ bao gồm trong bất kỳ thông báo lỗi nào mà nó trả về cho máy khách. Bạn có thể chỉ định địa chỉ email của mình tại đây hoặc thậm chí xóa dòng.

ServerAdmin admin@domain1.com

Tên máy chủ là tên miền và ServerAlias ​​định nghĩa các tên bổ sung phải khớp với nhau như thể chúng là tên miền gốc.

ServerName domain1.com
ServerAlias www.domain1.com

DocumentRoot định nghĩa vị trí mà Apache sẽ tìm kiếm khi xử lý một yêu cầu cho miền được định nghĩa trong ServerName hoặc ServerAlias.

DocumentRoot /var/www/html/domain1.com

Hai dòng cuối cùng, xác định vị trí của các tệp nhật ký:

ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log
CustomLog ${APACHE_LOG_DIR}/domain1.com_access.log combined

6. Kích hoạt các máy chủ ảo

Bước tiếp theo là kích hoạt các máy ảo mà chúng ta vừa tạo. Bạn có thể thực hiện việc này bằng các lệnh sau:

a2ensite domain1.com.conf
a2ensite domain2.com.conf

Một cách khác để làm điều này là tạo ra một liên kết tượng trưng cho mỗi máy chủ ảo trong / etc / apache2 / sites-enabled

ln -s /etc/apache2/sites-available/domain1.com.conf / etc / apache2 / sites-enabled /
ln -s /etc/apache2/sites-available/domain2.com.conf / etc / apache2 / sites-enabled /

Khi bạn kích hoạt các máy ảo, sử dụng một trong các phương thức trên, bạn sẽ cần phải khởi động lại máy chủ web Apache:

systemctl restart apache2

Đó là nó. Nếu bạn tất cả các hướng dẫn đúng cách, bây giờ bạn sẽ có thể mở từng tên miền trong trình duyệt web của bạn và nhận được kết quả sau.

http://domain1.com

http://domain2.com

 

PS. Nếu bạn thích bài viết này về Cách thiết lập Máy chủ ảo Apache trên Debian 9, hãy chia sẻ nó với bạn bè bằng cách sử dụng các phím tắt chia sẻ truyền thông xã hội bên dưới, hoặc đơn giản là để lại nhận xét. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *