Cau hinh webserver trên kali linux

Trong bài viết Install and Configue Web Server, tôi xin giới thiệu cách cấu hình một Web Server (Apache) trên CentOS7 để quản lý hosting website, cấu hình Virtual Directory, cấu hình Virtual Host và cấu hình Website sử dụng mã hóa với ssl

I. Chuẩn bị

Web Server (Apache) sẽ được sử dụng để hosting nhiều Websites (opalis.vn và ltl.vn) nên cần có một DNS Server hỗ trợ phân giải được 2 tên miền opalis.vn và ltl.vn. Có thể tham khảo cách cấu hình DNS Server tại đây

II. Cài đặt Apache (httpd)

Mặc định, CentOS7 chưa có các gói cần thiết để đóng vai trò như một Web Server (httpd). Kiểm tra hệ thống đã cài đặt dịch vụ Web Server hay chưa bằng lệnh:

rpm –qa httpd

Nếu kết quả trả về là trống thì đồng nghĩa với việc httpd chưa được cài đặt. Để tiến hành cài đặt dịch vụ httpd từ Repository thông qua Internet dùng lệnh:

yum install -y httpd

III. Cấu hình Apache hosting website opalis.vn

Trên CentOS, Source code và các file liên quan đến trang web (gọi tắt là Source Web) sẽ được chứa trong thư mục /var/www/html/. Tuy nhiên, để dễ dàng quản lý các Source Web trong trường hợp phải hosting nhiều websites trên cùng một Web Server thì người quản trị nên tạo các thư mục con để chứa Source cho từng Website.

Tạo thư mục chứa Source Web cho opalis.vn với lệnh mkdir rồi tạo một trang index.htm (dùng để làm trang chủ cho opalis.vn) trong thư mục vừa tạo với lệnh vi như sau:

mkdir /var/www/html/opalis

vi /var/www/html/opalis/index.htm

Nội dung trang index.htm:

Success! The web service is working

Gán phân quyền cho phép thực thi các file trong thư mục /var/www/html/opalis vì mặc định user quản trị Web Service (httpd) chưa có quyền thực thi các file này.

chmod -R 755 /var/www/html/opalis/

Thiết lập các thông số trong tập tin cấu hình chính của Web Server với lệnh vi

vi /etc/httpd/conf/httpd.conf

Thay đổi thông số tại các dòng sau:

#Dòng 95 – Chỉ định tên và port truy cập cho opalis.vn

ServerName opalis.vn:80

#Dòng 119 – Vị trí lưu trữ Source Web của Website opalis.vn

DocumentRoot “/var/www/html/opalis”

#Dòng 160 – Chỉ định index.htm làm trang chủ cho opalis.vn

DirectoryIndex index.htm

Sau khi hoàn tất việc cấu hình httpd, tiến hành khởi động dịch vụ và thiết lập cho dịch vụ tự động khởi chạy trong những lần khởi động Server tiếp theo lần lượt bằng các lệnh:

systemctl start httpd

systemctl enable httpd

IV. Cấu hình https với self-signed certificate và key

Cài đặt mô đun mod_ssl hỗ trợ cho openssl tạo ra các Certificates và Key bằng lệnh yum:

yum install –y mod_ssl

Dùng lệnh mkdir để tạo thư mục chứa các Certificate và Key sẽ tạo ở bước tiếp theo

mkdir /etc/httpd/ssl

Khởi tạo ra 2 file apache.key và apache.crt chứa trong thư mục /etc/httpd/ssl với lệnh openssl và các thông số kèm theo:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Trả lời các câu hỏi bên dưới để bổ sung thông tin cho Cert và Key sẽ tạo hoặc nhấn Enter liên tục để chấp nhận các giá trị mặc định do openssl định sẵn.

Country Name (2 letter code) [XX]:VN
State or Province Name (full name) []:HOCHIMINH
Locality Name (eg, city) [Default City]:HOCHIMINH
Organization Name (eg, company):NANOSOLUTION
Organizational Unit Name (eg, section) []:ITDEPT
Common Name (eg, your name or your server’s hostname) []:websvr
Email Address []:

Cấu hình cho website opalis.vn sử dụng SSL thông qua tập tin ssl.conf và lệnh vi

vi /etc/httpd/conf.d/ssl.conf

Thay đổi các thông số sau :

#Dòng 60 – Chỉ định Website được sử dụng SSL (https)

ServerName opalis.vn:443

#Dòng 70 – Bật tính năng SSL

SSLEngine on

#Dòng 100 – Chỉ Certificate được dùng để xác thực Website.

SSLCertificateFile /etc/httpd/ssl/apache.crt

#Dòng 107 – Chỉ định Key dùng để mã hóa Website.

SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Sau khi hoàn tất cấu hình, tiến hành khởi động lại dịch vụ httpd để Web Server nhận các thông số cấu hình mới.

systemctl restart httpd.service

V. Cấu hình Virtual Directory

Tạo 2 thư mục itdept và saledept trong var/www/html/opalis để làm Virtual Directory của Website opalis.vn với lệnh mkdir

mkdir /var/www/html/opalis/itdept

mkdir /var/www/html/opalis/saledept

Lần lượt tạo trang index.htm để làm trang chủ cho Virtual Directory của itdept và saledept với lệnh vi và nội dung kèm theo

vi /var/www/html/opalis/itdept/index.htm

Nội dung trang index.htm của itdept

This is virtual directory of itdept

vi /var/www/html/opalis/saledept/index.htm

Nội dung trang index.htm của itdept

This is virtual directory of saledept

Thiết lập các thông số để tạo 2 virtual directory itdept và saledept cho website opalis.vn trong tập tin userdir.conf với lệnh vi.

vi /etc/httpd/conf.d/userdir.conf

Thay đổi thông số tại các dòng sau:

#Dòng 17 – Thêm dấu # để bật chức năng Virtual Directory

# UserDir disabled

#Dòng 24 – Bỏ dấu # và thêm tên các Virtual Directory cần tạo.

UserDir itdept saledept

#Dòng 32 đến 37 – Thiết lập các thông số cho từng Virtual Directory.

#Dòng 32 – Khi báo đường dẫn đến thư mục Source Web của Virtual Directory itdept

AllowOverride FileInfo AuthConfig Limit Indexes

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Require method GET POST OPTIONS

#Dòng 36 – Khai báo trang chủ của Virtual Directory itdept

DirectoryIndex index.htm

#Dòng 38 đến 43 – Khai báo các thông số cho Virtual Directory saledept tương tự như itdept

AllowOverride FileInfo AuthConfig Limit Indexes

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Require method GET POST OPTIONS

DirectoryIndex index.htm

Sau khi hoàn tất cấu hình, tiến hành khởi động lại dịch vụ httpd để Web Server nhận các Virtual Directory đã cấu hình.

systemctl restart httpd.service

VI. Cấu hình Virtual Host.

Tạo thư mục con ltl trong /var/www/html để chứa Source Web cho ltl.vn bằng lệnh mkdir

mkdir /var/www/html/ltl

Tạo trang homepage.html để làm trang chủ cho ltl.vn bằng lệnh vi

vi /var/www/html/ltl/homepage.html

Nội dung trang homepage.html

This is virtual host of LTL

Cấu hình vhost để Web Server (Apache) hosting thêm website ltl.vn bằng cách điều chỉnh tập tin vhost.conf với lệnh vi.

vi /etc/httpd/conf.d/vhost.conf

# Thiết lặp vhost cho trang chính (opalis.vn)

DocumentRoot /var/www/html/opalis

ServerName opalis.vn

ServerAlias http://www.opalis.vn

# Thiết lập vhost cho trang ltl.vn

# Vị trí lưu trữ Source Web của website ltl.vn

DocumentRoot /var/www/html/ltl

#Tên truy cập cho website ltl.vn

ServerName ltl.vn

#Tên truy cập khác (bí danh) của website ltl.vn

ServerAlias http://www.ltl.vn

#Chỉ định hompage.html làm trang chủ cho ltl.vn

DirectoryIndex homepage.html

#Tên và vị trí lưu error log cho vhost ltl.vn

ErrorLog logs/virtual.host-error_log-ltl

#Tên và vị trí lưu access log cho vhost ltl.vn

CustomLog logs/virtual.host-access_log-ltl combined