在CentOS上安裝和配置Apache HTTP Server(通常簡稱為Apache)是一個常見的任務,用于提供網頁服務。以下是一些建議和步驟,以確保Apache在CentOS上順利運行并保持安全和高效:
更新系統: 在安裝Apache之前,確保你的CentOS系統已經更新到最新版本。
sudo yum update -y
安裝Apache: 使用yum包管理器安裝Apache。
sudo yum install httpd -y
啟動和啟用Apache: 安裝完成后,啟動Apache并設置為開機自啟動。
sudo systemctl start httpd
sudo systemctl enable httpd
修改主配置文件:
編輯主配置文件/etc/httpd/conf/httpd.conf,可以修改常用的配置項,如監聽端口、虛擬主機、文檔根目錄等。
sudo vi /etc/httpd/conf/httpd.conf
創建虛擬主機: 虛擬主機功能可以讓同一臺服務器運行多個不同的網站。創建虛擬主機的配置示例如下:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example.com
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log combined
</VirtualHost>
配置防火墻規則: 如果系統使用防火墻,需要允許HTTP(端口80)和HTTPS(端口443)流量通過。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
啟用SSL: 為網站啟用SSL加密,可以使用Let’s Encrypt免費獲取SSL證書。
sudo yum install certbot python2-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
關閉不必要的模塊: 在編譯安裝Apache時,可以選擇不安裝不必要的模塊以減少攻擊面。
./configure --prefix=/usr/local/apache2 --enable-so --enable-deflate --enable-expires --enable-headers --enable-modules=most --with-mpm=prefork --with-pcre --with-included-apr
設置SELinux安全上下文: 確保網站數據目錄的SELinux安全上下文正確設置。
sudo semanage fcontext -a -t httpd_sys_content_t /var/www/html
sudo restorecon -Rv /var/www/html
啟用個人用戶主頁功能: 允許用戶在自己的家目錄中創建網站數據目錄。
sudo vi /etc/httpd/conf.d/userdir.conf
# 將以下行注釋掉或取消注釋
# #UserDir disabled
# UserDir public_html
sudo systemctl restart httpd
監控和日志: 定期檢查Apache的錯誤日志文件,以獲取更多信息。
sudo tail -f /var/log/httpd/error_log
在瀏覽器中輸入服務器的IP地址或域名,如果能夠看到Apache的默認頁面,則說明安裝成功了。