- Đầ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ờ !
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!