17-5 啟動 Apache

啟動 Apache

  Apache 安裝完成後,會將其服務執行程式放在 /usr/sbin/ 中,成為系統的服務之一,服務名稱為 httpd。雖然已經放置服務程式了,但系統在開機時並不會自動啟動 httpd 服務,因此,除啟動服務外,也要利用 systemctl 指令設定系統開機時,自動啟動 httpd。

服務執行程式

  利用 systemctl 指令啟動 httpd 服務:

[root@centos ~]# systemctl start httpd.service

  另一種啟動 apache 的方式,apache 可執行檔與管理指令放置於 /usr/sbin/, 包括控制指令apachectl,這指令也可以用來啟動或重啟伺服器,參數用法和 service 指令相同:

[root@centos ~]# apachectl restart
[root@centos ~]#

設定開機自動啟動

  系統設定開機時啟動 httpd 服務:

[root@centos ~]# systemctl enable httpd.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@centos ~]#

防火牆允許網頁伺服器通過

  CentOS 安裝完成後預設是開啟防火牆功能,且只允許 SSH 連線(TCP, port 22)進入主機,要讓外部電腦使用瀏覽器可連入主機,要先將防火牆功能關閉,或者保留防火牆啟用但自訂讓網頁連線限制通過。

[root@centos ~]# firewall-cmd --add-service=http --permanent
success
[root@centos ~]# firewall-cmd --reload
success
[root@centos ~]# 

SELinux 的影響

  關閉 SELinux 中有關使用者家目錄網頁伺服器的存取限制:

[root@centos ~]# setsebool -P httpd_enable_homedirs=1
[root@centos ~]#

測試網頁伺服器

  此時使用 Windows 的瀏覽器 IE 或 Firefox 等,在網址列打入 Linux 主機的 IP 位址 「http://192.168.0.139」測試, 若出現「Testing 字樣」,就已成功啟動 Apache 服務了,如下圖: 

提示:

  如果經檢查後,仍無法連線,很有可能是防火牆所設的區域是 public ,而內網連絡使用的區域是 home,使用以下指令可為 home 加入規則:
[root@centos ~]# firewall-cmd --zone=home --permanent --add-service=http
success
[root@centos ~]# firewall-cmd --reload
success
[root@centos ~]#

完成並繼續  
問題討論

0 問答