Cách cài đặt và cấu hình Apache Virtual Host trên Ubuntu

Bài viết này sẽ hướng dẫn bạn cách thiết lập để chạy nhiều domain và website trên Ubuntu 18.04 server bằng cách sử dụng Apache virtual host. Qua đó, bạn sẽ biết cách đưa các nội dung khác nhau cho những visitor khác nhau tùy vào domain mà họ đang yêu cầu.

Yêu cầu để cài đặt và cấu hình Apache Virtual Host trên Ubuntu

Để tiếp tục với hướng dẫn bạn cần hoàn thành một số yêu cầu sau trên server Ubuntu 18.04:

  • Một user sudo trên server.
  • Một Apache2 web server mà bạn có thể cài đặt với sudo apt install apache2.

Tạo cấu trúc thư mục cho Apache Virtual host

Đầu tiên, bạn cần tạo một thư mục chứa site data mà sẽ lưu trữ tập tin và phục vụ cho visitor khi được yêu cầu.

Sử dụng các domain name theo mẫu như bên dưới đây tạo 2 thư mục /var/www/example.com/var/www/test.com. Bạn nên thay thế chúng bằng domain name thực của bạn.

sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html

Cấp quyền hệ thống Apache Virtual host

Bây giờ hãy cấp quyền cho các user non-root hiện tại để có thể sửa đổi các file:

sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html

Ngoài ra, hãy đảm bảo rằng cấp quyền đọc được phép vào thư mục web chung và tất cả các file và thư mục trong đó để các trang có thể được phân phối chính xác.

sudo chmod -R 755 /var/www

Tạo các trang demo cho mỗi máy chủ ảo

Hãy tạo một số nội dung để phục vụ, tạo một trang index.html trình bày cho mỗi site. Bạn có thể mở file index.html trong text editor cho site đầu tiên, sử dụng nano:

nano /var/www/example.com/public_html/index.html

Trong file này, hãy tạo một HTML document, như sau:

/var/www/example.com/public_html/index.html

Success! The example.com virtual host is working!


  

Lưu và đóng file, sau đó sao chép file này để sử dụng làm mẫu cho site thứ hai:

cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

Mở file và sửa đổi các phần thông tin liên quan:

nano /var/www/test.com/public_html/index.html

/var/www/test.com/public_html/index.html

Success! The test.com virtual host is working!


  

Khi hoàn tất, lưu và đóng file này.

Tạo Virtual Host File

Apache đi kèm với virtual host file mặc định có tên là 000-default.conf mà bạn sẽ sử dụng để làm mẫu.

Hãy sao chép nó để tạo virtual host file cho từng domain của bạn.

Tạo Virtual Host File đầu tiên.

Bắt đầu bằng cách sao chép file cho domain đầu tiên:

sudo cp /etc/apache2/sites-available/000-default.conf  /etc/apache2/sites-available/example.com.conf

Mở file mới (ví dụ này đang sử dụng nano) với quyền root:

sudo nano /etc/apache2/sites-available/example.com.conf

Tùy chỉnh file này cho domain của bạn. Sửa đổi văn bản được đánh dấu bên dưới phù hợp cho riêng bạn.

/etc/apache2/sites-available/example.com.conf

    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined

Khi hoàn tất, hãy lưu và đóng file.

Sao chép Virtual Hosting File đầu tiên và tùy chỉnh cho tên miền thứ hai

Sau khi đã thiết lập virtual host file đầu tiên, bạn có thể tạo file thứ hai bằng cách sao chép file đó và chỉnh sửa nó nếu cần thiết.

Bắt đầu bằng cách sao chép file:

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Mở file mới với quyền root trong text editor của bạn:

sudo nano /etc/apache2/sites-available/test.com.conf

Bây giờ bạn cần sửa đổi các phần thông tin để phù hợp với domain thứ hai. File khi hoàn tất sẽ trông giống như dưới đây, với văn bản được đánh dấu tương ứng với thông tin domain của riêng bạn.

/etc/apache2/sites-available/test.com.conf

    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined

Lưu và đóng file khi hoàn tất.

Bật Virtual Host File mới

Với các virtual host file đã được tạo, bạn phải kích hoạt chúng và công cụ a2ensite sẽ rất hữu ích cho việc này. Để thực hiện hãy nhập:

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

Tiếp theo, disable site mặc định được xác định trong 000-default.conf:

sudo a2dissite 000-default.conf

Khi hoàn tất, khởi động lại Apache để những thay đổi có hiệu lực. Sử dụng systemctl status để kiểm tra việc khởi động lại thành công.

sudo systemctl restart apache2

Khi hoàn tất thì server của bạn bây giờ sẽ được thiết lập để phục vụ hai website.

Thiết lập Local Hosts File

Nếu bạn chưa sử dụng domain thực để kiểm tra quy trình này và đang sử dụng miền mẫu, bạn có thể kiểm tra bằng cách tạm thời sửa đổi hosts file trên máy tính cục bộ của bạn.

Trên máy Mac hoặc máy Linux cục bộ, hãy nhập như dưới đây:

sudo nano /etc/hosts

Đối với máy Windows cục bộ, hãy tìm hướng dẫn về cách thay đổi hosts file của bạn tại đây.

Sử dụng các domain trong hướng dẫn này và thay thế phần your_server_IP thành IP server của bạn, file của bạn sẽ trông giống như ảnh sau:

/etc/hosts
127.0.0.1   localhost
127.0.1.1   guest-desktop
your_server_IP example.com
your_server_IP test.com

Lưu và đóng file. Nó sẽ điều hướng các yêu cầu cho example.com và test.com trên máy tính và gửi chúng đến server của bạn.

Kiểm tra kết quả cài đặt

Bây giờ bạn đã cấu hình các virtual hosts của mình, bạn có thể kiểm tra thiết lập bằng cách truy cập các domain mà bạn đã cấu hình trong trình duyệt web của mình:

http://example.com

Bạn sẽ thấy một trang trông như thế này:

cấu hình Apache Virtual Host trên Ubuntu

Bạn cũng có thể truy cập trang thứ hai của mình và xem file bạn đã tạo.

http://test.com

install apache virtual host

Nếu cả hai site này đều hoạt động, là bạn đã thành công cấu hình virtual host trên cùng một server.

Nếu bạn đã điều chỉnh hosts file, hãy xóa các dòng bạn đã thêm.

Lời kết

Như vậy là bạn đã biết cách cài đặt Apache Virtual host trên Ubuntu, hy vọng bài viết này cung cấp cho bạn nhiều kiến thức bổ ích, chúc bạn thành công!

Hãy đánh giá bài viết post

Ngoài ra, khi sử dụng dịch vụ VPS và Hosting, quý khách sẽ được tặng bộ Theme & Plugin WordPress bản quyền trị giá đến 800$/năm. Đăng ký dùng thử ngay và Việt Nét sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ! Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Việt Nét thông qua các kênh sau:


Thiết kế website

Rate this post

Bình luận