當前位置 主頁 > 服務器問題 > Linux/apache問題 > 最大化 縮小

    CentOS 7中 Apache Web 服務器安裝配置教程

    欄目:Linux/apache問題 時間:2019-10-09 19:09

    學習如何在CentOS 7 中的 Apache 上托管你自己的網站,這是一個可靠、流行且易于配置的 Web 服務器。

    我托管自己的網站已經有很多年了。自從 20 多年前從 OS/2 切換到 Linux 以來,我一直將 Apache 作為我的服務器軟件。Apache 是可靠、流行的,且基本的安裝配置也很容易。對于更復雜的設置(比如多個網站)也并不是那么困難。

    Apache Web 服務器的安裝和配置必須以 root 身份執行。 防火墻的配置也需要以 root 身份執行。 使用瀏覽器查看安裝配置的結果應該以非 root 用戶的身份完成。 (我在我的虛擬主機上使用 student 這個用戶。)

    安裝

    注意:我使用的實驗環境是安裝有Fedora 27 的虛擬機,Apache 版本為 2.4.29。 如果您使用的是不同的發行版或不同版本的 Fedora,您的命令以及配置文件的位置和內容可能會有所不同。 但是,您需要修改的配置行是相同的。

    Apache Web 服務器非常容易安裝。 在我的 CentOS 6.x 服務器上,它只需要一個簡單的 yum 命令。 它會安裝所有必要的依賴(如果需要的話)。 我在我的 Fedora 虛擬機上使用了下面的 dnf 命令。 除了命令本身的名稱之外, dnf 和 yum 的語法是相同的。

    dnf -y install httpd

    這個虛擬機是個非常基礎的桌面環境,我正在使用它作為編寫書籍的測試平臺。 即使在這個系統上,也只安裝了六個依賴項,用了一分鐘。

    Apache 的所有配置文件都位于 /etc/httpd/conf /etc/httpd/conf.d 。網站的數據默認位于 /var/www ,但如果你愿意,你可以改變它。

    配置

    Apache 主要的配置文件是 /etc/httpd/conf/httpd.conf 。 它包含許多在基本安裝中不需要更改的配置。 實際上,只需對此文件進行一些更改即可啟動并運行一個簡單的網站。 該文件非常大,因此,我不會將這篇文章與大量不必要的東西混淆起來,而只會顯示那些需要更改的指令。

    首先,花點時間熟悉一下 httpd.conf 文件。我喜歡Red Hat 的一個原因是它的配置文件注釋非常的詳細。 httpd.conf 文件也不例外,因為它有很好的注釋。可以使用這些注釋來了解文件的配置。

    第一個要修改的是 Listen 配置項,它定義了 Apache 要監聽頁面請求的 IP 地址和端口。 現在,你只需要使這個網站可以從本地訪問,所以使用 localhost 地址。 完成后,該行應該看起來像這樣:( LCTT 譯注: localhost 的 IP 地址是 127.0.0.1 , 80 是端口)

    Listen127.0.0.1:80

    通過將此配置項設置為 localhost 的 IP 地址,Apache 將只偵聽來自本地主機的連接。 如果您希望 Web 服務器偵聽來自遠程主機的連接,則可以使用主機的外部 IP 地址。

    DocumentRoot 配置項指定組成網站頁面的 HTML 文件的位置。 該配置項不需要更改,因為它已經指向標準位置。 該行應該看起來像這樣:

    DocumentRoot"/var/www/html"

    Apache 安裝包會創建 /var/www 目錄。 如果您想更改存儲網站文件的位置,則使用此配置項來完成此操作。 例如,您可能想要為 www 目錄使用不同的名稱,以更明確地識別網站。 這可以是這樣的:

    DocumentRoot"/var/mywebsite/html"

    這些是創建一個簡單網站需要唯一修改的 Apache 配置項。 對于這個小練習,只對 httpd.conf 文件( Listen 配置項)進行了一些修改。 其它的配置項對于一個簡單的 Web 服務器暫時無需配置。

    另一個需要改變的地方是:在我們的防火墻中打開端口 80。 我使用 iptables 作為我的防火墻,因此我更改 /etc/sysconfig/iptables 文件以添加允許使用 HTTP 協議。 整個文件看起來像這樣:

    # sample configuration for iptables service
    # you can edit this manually oruse system-config-firewall
    # please donot ask us to add additional ports/services to thisdefault configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80-j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    
777亚洲人成视频免费视频