Khi chuyển môi trường làm việc từ Ubuntu sang CentOS thì có 1 vài thao tác lệnh hoặc cấu hình phần mềm có thể khác nhau, do vậy, để thực hiện cấu hình Apache Virtual Hosts trên CentOS các bạn thực hiện các bước tương tự sau đây:

Bước 1. Tạo thư mục chứa các files Virtual Host

Chúng ta cần tạo ra 2 thư mục sau:

cd /etc/httpd/
mkdir sites-available
mkdir sites-enabled

Khi bạn muốn tạo 1 virtual host mới, chỉ cần tạo 1 file cấu hình trong sites-available, sau đó tạo symbol link vào thư mục sites-enabled và Apache sẽ load toàn bộ cấu hình chứa symbols link này.

Bước tiếp theo quan trọng là thêm 1 dòng cấu hình khai báo Apache đọc thư mục Virtual Hosts: sites-enabled

Bước 2. Khai báo thư mục Virtual Hosts

vi conf/httpd.conf

Thêm dòng sau đây vào cuối file:  httpd.conf 

NameVirtualHost *:80
Include /etc/httpd/sites-enabled/

Bước 3. Ví dụ cấu hình mới 1 Virtual Host

cd sites-available/
touch vndemy.com.vhost
vi vndemy.com.vhost

Thêm mới toàn bộ nội dung file Virtual Host:

#
#   vndemy.com (/etc/httpd/sites-available/vndemy.com.vhost)
#
<VirtualHost *:80>
        ServerAdmin webmaster@vndemy.com
        ServerName  vndemy.com
        ServerAlias www.vndemy.com

        #Indexes + Directory Root
        DocumentRoot /var/webapps/vndemy.com/htdocs/
        <Directory "/var/webapps/vndemy.com/htdocs">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        #LOG FILES
        ErrorLog  /var/webapps/vndemy.com/logs/error.log
        CustomLog /var/webapps/vndemy.com/logs/access.log combined
</VirtualHost>

Thay đổi  DocumentRoot  trỏ vào thư mục lưu trữ website của bạn. Và chắc chắn thư mục logs tồn tại.

Bước 4. Tạo Symlink cho file Virtual Hosts

Để tạo symlink trong thư mục ‘sites-enabled’ cho website: http://vndemy.com bạn thực hiện lệnh tương tự sau đây:

ln -s /etc/httpd/sites-available/vndemy.com.vhost /etc/httpd/sites-enabled/vndemy.com.vhost

Bước 5. Khởi động lại Apache

OK. Việc làm cuối cùng là bạn cần khởi động lại Apache để nó có thể load tất cả Virtual Hosts mà chúng ta đã tạo ra ở trên, lệnh:

/etc/init.d/httpd restart

Hoặc

service httpd restart

About The Author