Cài đặt Apache Webserver và sử dụng VirtualHost

Apache Webserver là dịch vụ (service) chạy trên máy chủ sử dụng giao thức HTTP. Apache webserver có thể tạo ra nhiều VirtualHost, và mỗi VirtualHost là 1 IP và 1 domain khác nhau. 

Thông thường thì chúng ta cài đặt Apache trước khi cài đặt PHP

Xem thêm: Cài đặt MariaDB trên CentOS 7

Cài đặt Apache Webserver

Đầu tiên cập nhật yum cái đã

sudo yum -y update

Cài đặt apache

sudo yum -y install httpd

Khởi động dịch vụ sau khi cài đặt

sudo service httpd start

Kiểm tra trạng thái dịch vụ

service httpd status

Nếu Active thông báo là active (running) nghĩa là dịch vụ chạy tốt

service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2016-05-30 14:26:54 EDT; 51s ago
...

Nếu bạn sử dụng tường lửa Firewalld, bạn cần mở dịch vụ http hoặc cổng 80

sudo firewall-cmd --permanent --add-service=http

Xem cách sử dụng tường lửa trên vps

Bây giờ bạn hãy thử truy cập vào website với địa chỉ IP của VPS xem, nếu nó hiện ra trang Welcome hoặc Testing của Apache là thành công.

Khởi động dịch vụ cùng với hệ thống:

sudo chkconfig httpd on

Tạo VirtualHost cho Apache

Virtual Host là các cấu hình để cho phép nhiều domain cùng chạy trên một máy chủ

Tạo thư mục chứa website

Mỗi tên miền website là một thư mục riêng biệt, ví dụ: example.com

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

-p là cho phép tự động tạo các thư mục con theo đường dẫn nếu chưa có

Các file của website sẽ chứa trong thư mục public_html

Cấp quyền 

Mặc định cấu trúc thư mục vừa tạo ở trên sẽ thuộc sở hữu của tài khoản root, do đó ta cần thêm quyền sử dụng chúng cho Apache và user đang đăng nhập hiện tại

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

Cho phép apache được quyền đọc thư mục mới tạo

sudo chown -R apache:apache /var/www/example.com/public_html

Bạn có thể kiểm tra quyền sở hữu của thư mục này với lệnh sau:

ls -al /var/www/example.com/public_html

Tạo trang demo để thử nghiệm

Tạo file index.html để test trong thư mục /var/www/example.com/public_html/

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

Nội dung như sau

<html>
 <head>
 <title>Xin chào</title>
 </head>
 <body>
 <h1>Thành công! Virtual Host đang chạy...!</h1>
 </body>
</html>

Tạo file cấu hình Virtual Host

Tạo một file cấu hình tại thư mục /etc/httpd/conf.d, tên file đặt tên theo tên miền cho dễ phân biệt.
Ví dụ example.com.conf (thay example.com bằng domain của bạn)

sudo vi /etc/httpd/conf.d/example.com.conf

Dán nội dung như bên dưới vào

<VirtualHost *:80>

 ServerName www.example.com
 ServerAlias example.com
 DocumentRoot /var/www/example.com/public_html
 ErrorLog logs/example.com-error_log
</VirtualHost>

Tương tự, nếu  muốn thêm website, bạn chỉ cần tạo thêm một file .conf khác và sửa lại các tên miền trong đó cho đúng

Khởi động lại dịch vụ để cập nhật có hiệu lực

sudo service httpd restart

Trỏ tên miền về vps

Các bạn vào trang quản lý tên miền rồi trỏ domain về IP của vps server

Ngoài ra nếu các bạn đang chạy localhost thử nghiệm trên window thì cần thêm dòng sau vào cuối file hosts tại C:WindowsSystem32driversetchosts như sau 

192.168.1.123 example.com
192.168.1.123 www.example.com

Thay 192.168.1.123 là địa chỉ IP Lan của các ban,

Bây giờ gõ tên miền vào thanh địa chỉ trình duyệt, nếu kết quả như hình dưới là đã thành côngvirtualhost test

 

Lời kết: cài đặt Apache Webserver và cấu hình VirtualHost là sự bắt đầu không thể thiếu cho bất cứ ai muốn tìm hiểu vps server. Đây là nền tảng cơ bản, do vậy các bạn nên thực hành nhiều lần để nắm thật chắc những kiến thức này. Chúc thành công !

loading...

Viết nhận xét