Set Up Apache Virtual Hosts on CentOS 7

  1. Đầu tiên chúng ta sẽ tạo các thư mục tương ứng với các site trên centos 7

Mặc định ban đầu thư mục gốc của apache là:

/var/www/html

Do vậy khi truy cập thằng vào IP máy chủ nó sẽ ra thư mục này.

Bây giờ ta tiến hành tạo 2 thư mục site1.com và site2.com cùng cấp với thư mục html trong www nhé. Tạo thư mục public_html trong mỗi thư mục site của  chúng ta:

sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html

Tiếp theo ta sẽ gán quyền với user cho các host:

sudo chown -R $USER:$USER /var/www/site1.com/public_html
sudo chown -R $USER:$USER /var/www/site2.com/public_html

Ta sẽ phân quyền cho thư mục gốc để đảm bảo việc hoạt động ổn định cho các host bên trong nó:

sudo chmod -R 755 /var/www

Tiếp theo ta sẽ tạo nội dung demo cho 2 host trên:

vi /var/www/site1.com/public_html/index.html

Tạo nội dung như sau:

<html>
  <head>
    <title>Welcome to Site1.com!</title>
  </head>
  <body>
    <h1>Success! The site1.com virtual host is working!</h1>
  </body>
</html>

Tương tự với site2.com ta làm như vậy.

Sau đó ta tiến hành tạo vitual host fie:

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

Để apache có thể tìm được sites-enable ta cần thêm vào file config dòng sau:

sudo vi /etc/httpd/conf/httpd.conf
IncludeOptional sites-enabled/*.conf

Tạo virtual host file:

sudo vi /etc/httpd/sites-available/site1.com.conf

Nội dung:

<VirtualHost *:80>

    ServerName www.site1.com
    ServerAlias site1.com
    DocumentRoot /var/www/site1.com/public_html
    ErrorLog /var/www/site1.com/error.log
    CustomLog /var/www/site1.com/requests.log combined
</VirtualHost>

Copy tạo file host cho domain khác:

sudo cp /etc/httpd/sites-available/site1.com.conf /etc/httpd/sites-available/site2.com.conf

Sau đó sửa nội dung:

<VirtualHost *:80>
    ServerName www.site2.com
    DocumentRoot /var/www/site2.com/public_html
    ServerAlias site2.com
    ErrorLog /var/www/site2.com/error.log
    CustomLog /var/www/site2.com/requests.log combined
</VirtualHost>

Enable the New Virtual Host Files

sudo ln -s /etc/httpd/sites-available/site1.com.conf /etc/httpd/sites-enabled/site1.com.conf
sudo ln -s /etc/httpd/sites-available/site2.com.conf /etc/httpd/sites-enabled/site2.com.conf

Xong xuôi ta khởi động lại apache

sudo apachectl restart

Do ko cài domain nên ta sửa host file để thử:

sudo vi /etc/hosts

Nội dung:

127.0.0.1   localhost
127.0.1.1   site1.com
127.0.1.1   site2.com
server_ip_address site1.com
server_ip_address site2.com

Xong rồi mở trình duyệt lên hưởng thụ thành quả lọ mọ nãy giờ !

About Liêm Phan 147 Articles
Mình lập blog này với mục đích lưu lại + chia sẻ các các kiến thức mình đã biết hoặc đang tìm hiểu. Cơ bản giúp ích cho mình :) Nhưng hy vọng sẽ mang lại sự khởi đầu thuận lợi cho người mới bắt đầu!