CentOS 7 安裝 Apache (httpd)

心得:
大概是目前Linux Server最常見的應用,但發現自己居然沒有寫過…
所以就稍微紀錄一下過程好了

現在用Apache的時機,大概只有配合php的時候吧
其他情形下,我大多以Nginx為主就是

想了解如何安裝 CentOS 7 的可以參考:
CentOS 7 安裝步驟 – 更新至1611.iso
CentOS 7 安裝後設定

Nginx相關的安裝跟配置,可以參考以下
CentOS 7 安裝 Nginx & Tomcat
Nginx 設定 HTTPS Server

安裝Apache 2.4:
因為在 CentOS7 的 yum repository 中,Apache預設就是2.4
直接安裝就行,如果其他的Linux Distribution,記得先確認一下版本
畢竟2.2跟2.4設定檔是有些微差異性的

httpd為Apache,mod_ssl則是進行網站ssl時需要使用

# yum install -y httpd mod_ssl

設定防火牆與SELinux:

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# firewall-cmd --add-port=80/tcp --permanent
# firewall-cmd --add-port=443/tcp --permanent

配置Apache 2.4:

# vim /etc/httpd/conf/httpd.conf

說明:拿掉Indexes,主要防止目錄列出

Options Indexes FollowSymLinks
修改為
Options FollowSymLinks

其他設定,如下圖:
CentOS 7 設定 Apache 2.4 (httpd)-01.png

參數說明:
AllowOverride ALL

紅字可替換以下

ALL:
讓.htaccess管理全部
AuthConfig:
僅有網頁認證 (帳號密碼) 可覆寫
Indexes:
僅允許 Indexes 方面的覆寫;
Limits:
允許使用者利用 Allow, Deny 與 Order 管理可瀏覽的權限
None:
讓.htaccess 檔案無法使用

Require all granted

紅字可替換以下

all granted:
允許各連線使用
all denied:
禁止被連線使用
ip 192.168.3.10:
僅允許IP 192.168.3.10 連線
not ip 192.168.3.10:
除了IP 192.168.3.10 之外,都可以連線
host kenwu0310.wordpress:
僅允許Hostname kenwu0310.wordpress連線
not host kenwu0310.wordpress:
除了Hostname kenwu0310.wordpress之外,都可以連線

設定apache開機啟動:

# systemctl enable httpd

重新啟動OS,因為前面SELinux需要關閉

# shutdown -r now

開機完成後,應該可以看到以下:
CentOS 7 設定 Apache 2.4 (httpd)-02.png

參考來源:
鳥哥的 Linux 私房菜 – 第二十章、WWW 伺服器
10-best-practices-to-secure-and-harden-your-apache-web-server
SSL/TLS Strong Encryption: How-To
VirtualHost Examples
Access Control
When not to use mod_rewrite

廣告

對「CentOS 7 安裝 Apache (httpd)」的一則回應

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s