Hướng dẫn cài đặt Apache trên CentOS 7

0
229

Cài đặt Apache trên CentOS 7 – Apache là máy chủ web phổ biến nhất trên thế giới. Nó là một máy chủ HTTP miễn phí hỗ trợ đa nền tảng cung cấp các tính năng mạnh mẽ có thể được mở rộng bằng các module.

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cài đặt Apache trên CentOS 7.

Cài đặt Apache trên CentOS 7

1. Điều kiện

Trước khi bắt đầu, hãy đảm bảo rằng bạn có một VPS trắng và chưa cài đặt bất cứ dịch vụ nào.

ĐĂNG KÝ NGAY

2. Cài đặt Apache trên CentOS 7

2.1. Bước 1: Cài đặt Apache

Apache có sẵn trong kho lưu trữ CentOS mặc định nên việc cài đặt khá đơn giản. Để cài đặt Apache hãy chạy lệnh sau:

yum install httpd -y

2.2. Bước 2: Khởi động Apache

Khi quá trình cài đặt hoàn tất, hãy bật và khởi động dịch vụ Apache bằng các lệnh sau:

systemctl enable httpd
systemctl start httpd

Screenshot_47 - cài đặt Apache trên CentOS 7

Để kiểm tra trạng thái của Apache hãy sử dụng lệnh sau:

systemctl status httpd

Screenshot_48 - cài đặt Apache trên CentOS 7

2.3. Bước 3: Cấu hình Firewalld (Nếu có)

Nếu các bạn sử dụng Firewalld để có thể truy cập được website các bạn sẽ cần mở port bằng các lệnh sau đây

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Screenshot_49 - cài đặt Apache trên CentOS 7

3. Quản lý Apache Service với systemctl

Để dừng Apache, dùng lệnh:

systemctl stop httpd

Để khởi động Apache dùng lệnh:

systemctl start httpd

Lệnh khởi động lại Apache:

systemctl restart httpd

Tải lại dịch vụ Apache mỗi khi bạn thay đổi cấu hình:

systemctl reload httpd

Nếu không muốn Apache tự động chạy mỗi khi khởi động lại VPS sử dụng lệnh sau:

systemctl disable httpd

Nếu muốn Apache tự động chạy mỗi khi khởi động lại VPS sử dụng lệnh sau:

systemctl enable httpd

4. Các file cấu hình

  • Tất cả các file cấu hình của Apache đều nằm trong thư mục /etc/httpd.
  • File cấu hình chính của Apache là /etc/httpd/conf/httpd.conf.
  • Tất cả các tệp cấu hình đều phải kết thúc bằng .conf và nằm trong thư mục /etc/httpd/conf.d.
  • Các tệp cấu hình chịu trách nhiệm tải các modules Apache được đặt trong thư mục /etc/httpd/conf.modules.d.
  • Để quản lý tốt hơn, nên tạo một tệp cấu hình riêng (vhost) cho mỗi tên miền.
  • Các tệp vhost Apache phải kết thúc bằng .conf và được lưu trữ trong thư mục /etc/httpd/conf.d. Ví dụ: nếu tên miền của bạn là mydomain.com thì tệp cấu hình sẽ được đặt tên /etc/httpd/conf.d/mydomain.com.conf
  • Các file log của Apache (access_logerror_log) nằm trong thư mục /var/log/httpd/. Bạn nên có file log riêng cho mỗi vhost.

5. Tạo Virtualhost (Vhost)

5.1. Bật userdir

Mặc định thư mục chứa code sẽ nằm trong /var/www/html, với chức năng userdir cho phép di chuyển thư mục chứa code sang vị trí khác đồng thời dễ dàng quản lý vhost theo từng user.

Để bật Userdir các bạn mở file /etc/httpd/conf.d/userdir.conf.

nano /etc/httpd/conf.d/userdir.conf

Tại đây các bạn cần sửa các rules sau

UserDir disabled
#UserDir public_html

Sửa lại thành như sau

#UserDir disabled
UserDir public_html

Screenshot_106

Tiếp theo các bạn tìm đoạn rule sau

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Sửa nó lại thành như sau

<Directory "/home/*/public_html">
    AllowOverride All
    Options None
    Require method GET POST OPTIONS
</Directory>
Screenshot_112

5.2. Chặn truy cập IP VPS tự động redirect về website trên VPS

Theo mặc định thì khi truy cập IP của VPS hoặc khi trỏ một tên miền về VPS mà tên miền này không được cấu hình vhost thì bạn sẽ được redirect tới một website bất kỳ trên VPS, điều này là không nên và để hạn chế điều này các bạn mở file /etc/httpd/conf/httpd.conf

nano /etc/httpd/conf/httpd.conf

Thêm phía trên dòng IncludeOptional conf.d/*.conf rules sau:

<VirtualHost *:80>
	DocumentRoot /var/www/html
	ServerName www.example.com
	<Directory "/var/www/html">
		AllowOverride All
                Options None
                Require method GET POST OPTIONS
	</Directory>
</VirtualHost>

Screenshot_113

5.3. Tạo virtual host (vhost) cho website

Virtual Host là file cấu hình trong Apache để cho phép nhiều domain cùng chạy trên một máy chủ. Có một khái niệm khác được đề cập tới trong Nginx cũng có chức năng tương tự như Virtual Host được gọi là Server Block.

Tất cả các file vhost sẽ nằm trong thư mục /etc/httpd/conf.d/. Để tiện quản lý mỗi website nên có một vhost riêng, ví dụ: hostvn.net.conf

Trong ví dụ này sẽ tạo website hostvn.net với vhost tương ứng là /etc/httpd/conf.d/hostvn.net.conf

nano /etc/httpd/conf.d/hostvn.net.conf

Dán nội dung sau vào

<VirtualHost *:80>
	ServerName www.hostvn.net
	ServerAlias hostvn.net
	DocumentRoot /home/hostvn.net/public_html
	ErrorLog /home/hostvn.net/logs/error_log
	CustomLog /home/hostvn.net/logs/access_log combined
</VirtualHost>

Tiếp theo các bạn cần tạo thư mục chứa mã nguồn website và thư mục chứa file log bằng các lệnh sau

mkdir -p /home/hostvn.net/public_html
mkdir -p /home/hostvn.net/logs
chown -R apache:apache /home/hostvn.net

Reload lại Apache để cập nhật cấu hình

systemctl reload httpd

Sau khi cấu hình hoàn tất các bạn trỏ tên miền về vps sau đó tạo file /home/hostvn.net/public_html/index.html

nano /home/hostvn.net/public_html/index.html

Dán nội dung sau vào

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>HOSTVN.NET - Hướng dẫn cài đặt Apache trên CentOS 7</title>
</head>
<body>
	<p><center><?= "HOSTVN.NET - Hướng dẫn cài đặt Apache trên CentOS 7" ?></center></p>
</body>
</html>

Truy cập tên miền của bạn bằng trình duyệt để kiểm tra

6. Video tut

7. Link tham khảo

8. Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn cài đặt Apache trên CentOS 7. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm hướng dẫn cài đặt LAMP (Apache – MariaDB – PHP) trên CentOS 7.

email-business-leaderboard-blog-v3.png
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments