Thêm website sử dụng Apache server – Tạo virtual host
Bài viết này mình sẽ hướng dẫn các bạn cách thêm nhiều website vào server sử dụng Apache, ở đây mình sẽ hướng dẫn trên Ubuntu và Centos.
Để thêm một website mới chúng sẽ tạo cần tạo 1 virtualhost file và 1 thư mục chứa website đó
Thêm webstite trong Ubuntu server
mặc định mỗi webserver đều có một web default, nếu server chỉ chạy 1 website thì chúng ta có thể sử dụng webdefault này. Nếu muốn thêm một website khác chúng ta phải tạo thêm thư mục chứa web và file virtualhost
Ở đây mình sẽ tạo một website mới với tên miền anhit.info
Tạo thư mục chứa trang web:
Mặc định Apache sử dụng /var/www làm thư mục chủ và mình sẽ tạo ra thư mục ở đó để lưu trữ dữ liệu cho trang web. Hoặc bạn có thể tạo thư mục ở bất kỳ đâu mà bạn muốn
Thông thường chúng ta sẽ sử dụng thư mục con (public_html) để chứa source website, còn bên ngoài chúng ta sẽ để dùng cho các mục đích khác như backup, ftp, nếu sử dụng hosting các bạn sẽ thấy
Chạy lệnh sau để tạo thư mục website
mkdir -p /var/www/anhit.info/public_html
Tạo tập tin cấu hình virtual host
Trên Ubuntu, các tập tin cấu hình virtual host của Apache sẽ nằm trong thư mục /etc/apache2/sites-available. Bạn sẽ nhìn thấy hai virtual host mặc định là 000-default.conf và default-ssl.conf, ở đây mình sẽ dựa trên 2 virtualhost này để thêm cấu hình cho domain khác
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/anhit.info.conf
Hoặc bạn có thể tạo một tập tin mới hoàn toàn
touch /etc/apache2/sites-available/anhit.info.conf
Chúng ta mở file anhit.info.conf vừa tạo và chỉnh sửa nội dung tập tin như sau:
<VirtualHost *:80> ServerName anhit.info ServerAlias www.anhit.info ServerAdmin [email protected] DocumentRoot /var/www/anhit.info/public_html </VirtualHost>
Tiếp theo chúng ta cần set quyền cho thu mục web
chown -R <user>:<group> /var/www/anhit.info/public_html chmod -R 755 /var/www
Với <user> và <group> tương ứng là User và Group của Apache Server. Để tìm thông tin này sử dụng command
apachectl -S
Kích hoạt file config của Apache Virtual Hosts
a2ensite anhit.info.conf
Khởi động lại Apache
systemctl reload apache2
Ok vậy là xong, nếu muốn thêm một website khác các bạn cứ thực hiện lại như trên
Thêm webstite trong Centos server
Tạo thư mục website
mkdir -p /var/www/anhit.info/public_html
Khác với Ubuntu các file virtualhost nằm trong /etc/httpd/conf.d
chúng ta sẽ tạo một file virtualhost cho website anhit.info với nội dung như dưới đây
nano /etc/httpd/conf.d/anhit.info.conf
<VirtualHost *:80>
ServerAdmin [email protected] ServerName anhit.info ServerAlias www.anhit.info DocumentRoot /var/www/anhit.info/public_html
</VirtualHost>
Hoặc các bạn có thể thêm cặp <VirtualHost>…</VirtualHost> trong file httpd.conf mặc định.
Gán quyền cho website
chown -R <user>:<group> /var/www/anhit.info
chmod -R 755 /var/www
Khởi động lại apache
systemctl restart httpd.service
Ok vậy là xong
các bạn tạo một file .html trong thư mục web để test thử nhé
Khi cần thêm 1 website các bạn cứ tạo thư mục chứa web, tạo file virtualhost hơặc thêm nội dung trong file httpd.conf mặc định của apache