您好,登錄后才能下訂單哦!
學(xué)習(xí)如何在 Apache 上托管你自己的網(wǎng)站,這是一個(gè)可靠、流行且易于配置的 Web 服務(wù)器。
我托管自己的網(wǎng)站已經(jīng)有很多年了。自從 20 多年前從 OS/2 切換到 Linux 以來,我一直將 Apache 作為我的服務(wù)器軟件。Apache 是可靠、流行的,且基本的安裝配置也很容易。對于更復(fù)雜的設(shè)置(比如多個(gè)網(wǎng)站)也并不是那么困難。
Apache Web 服務(wù)器的安裝和配置必須以 root 身份執(zhí)行。 防火墻的配置也需要以 root 身份執(zhí)行。 使用瀏覽器查看安裝配置的結(jié)果應(yīng)該以非 root 用戶的身份完成。 (我在我的虛擬主機(jī)上使用 student 這個(gè)用戶。)
安裝
注意:我使用的實(shí)驗(yàn)環(huán)境是安裝有 Fedora 27 的虛擬機(jī),Apache 版本為 2.4.29。 如果您使用的是不同的發(fā)行版或不同版本的 Fedora,您的命令以及配置文件的位置和內(nèi)容可能會有所不同。 但是,您需要修改的配置行是相同的。
Apache Web 服務(wù)器非常容易安裝。 在我的 CentOS 6.x 服務(wù)器上,它只需要一個(gè)簡單的 yum 命令。 它會安裝所有必要的依賴(如果需要的話)。 我在我的 Fedora 虛擬機(jī)上使用了下面的 dnf 命令。 除了命令本身的名稱之外, dnf 和 yum 的語法是相同的。
dnf -y install httpd
這個(gè)虛擬機(jī)是個(gè)非?;A(chǔ)的桌面環(huán)境,我正在使用它作為編寫書籍的測試平臺。 即使在這個(gè)系統(tǒng)上,也只安裝了六個(gè)依賴項(xiàng),用了一分鐘。
Apache 的所有配置文件都位于 /etc/httpd/conf 和 /etc/httpd/conf.d 。網(wǎng)站的數(shù)據(jù)默認(rèn)位于 /var/www,但如果你愿意,你可以改變它。
配置
Apache 主要的配置文件是 /etc/httpd/conf/httpd.conf 。 它包含許多在基本安裝中不需要更改的配置。 實(shí)際上,只需對此文件進(jìn)行一些更改即可啟動并運(yùn)行一個(gè)簡單的網(wǎng)站。 該文件非常大,因此,我不會將這篇文章與大量不必要的東西混淆起來,而只會顯示那些需要更改的指令。
首先,花點(diǎn)時(shí)間熟悉一下 httpd.conf 文件。我喜歡 Red Hat 的一個(gè)原因是它的配置文件注釋非常的詳細(xì)。 httpd.conf 文件也不例外,因?yàn)樗泻芎玫淖⑨???梢允褂眠@些注釋來了解文件的配置。
第一個(gè)要修改的是 Listen 配置項(xiàng),它定義了 Apache 要監(jiān)聽頁面請求的 IP 地址和端口。 現(xiàn)在,你只需要使這個(gè)網(wǎng)站可以從本地訪問,所以使用 localhost 地址。 完成后,該行應(yīng)該看起來像這樣:( LCTT 譯注:localhost 的 IP 地址是 127.0.0.1,80 是端口)
Listen 127.0.0.1:80
通過將此配置項(xiàng)設(shè)置為 localhost的 IP 地址,Apache 將只偵聽來自本地主機(jī)的連接。 如果您希望 Web 服務(wù)器偵聽來自遠(yuǎn)程主機(jī)的連接,則可以使用主機(jī)的外部 IP 地址。
DocumentRoot 配置項(xiàng)指定組成網(wǎng)站頁面的 HTML 文件的位置。 該配置項(xiàng)不需要更改,因?yàn)樗呀?jīng)指向標(biāo)準(zhǔn)位置。 該行應(yīng)該看起來像這樣:
DocumentRoot "/var/www/html"
Apache 安裝包會創(chuàng)建 /var/www 目錄。 如果您想更改存儲網(wǎng)站文件的位置,則使用此配置項(xiàng)來完成此操作。 例如,您可能想要為 www 目錄使用不同的名稱,以更明確地識別網(wǎng)站。 這可以是這樣的:
DocumentRoot "/var/mywebsite/html"
這些是創(chuàng)建一個(gè)簡單網(wǎng)站需要唯一修改的 Apache 配置項(xiàng)。 對于這個(gè)小練習(xí),只對 httpd.conf 文件(Listen 配置項(xiàng))進(jìn)行了一些修改。 其它的配置項(xiàng)對于一個(gè)簡單的 Web 服務(wù)器暫時(shí)無需配置。
另一個(gè)需要改變的地方是:在我們的防火墻中打開端口 80。 我使用 iptables 作為我的防火墻,因此我更改 /etc/sysconfig/iptables 文件以添加允許使用 HTTP 協(xié)議。 整個(gè)文件看起來像這樣:
# sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default 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
我在文件的倒數(shù)第三行上添加了一個(gè)新行,它允許在端口 80 上輸入流量?,F(xiàn)在我重新加載 iptables 配置文件。
[root@testvm1 ~]# cd /etc/sysconfig/ ; iptables-restore iptables
創(chuàng)建 index.html 文件
index.html 文件是你使用域名訪問網(wǎng)站而不是訪問特定網(wǎng)頁時(shí)的默認(rèn)文件。在 /var/www/html中,創(chuàng)建一個(gè)名字為 index.html 的文件,在其中添加字符串 Hello World 。你不需要添加任何的 HTML 標(biāo)志去完成這項(xiàng)工作。web 服務(wù)器的唯一任務(wù)是提供文本數(shù)據(jù)流,服務(wù)器不知道數(shù)據(jù)是什么,也不知道如何呈現(xiàn)它。它只是將數(shù)據(jù)流傳輸給請求主機(jī)。
保存文件后,將所有權(quán)設(shè)置為 apache.apache 。
[root@testvm1 html]# chown apache.apache index.html
啟動 Apache
Apache 很容易啟動。 當(dāng)前版本的 Fedora 使用 systemd 。 運(yùn)行以下命令啟動它,然后檢查服務(wù)器的狀態(tài):(LCTT 譯注:systemctl 是一個(gè) systemd 工具)
[root@testvm1 ~]# systemctl start httpd [root@testvm1 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-02-08 13:18:54 EST; 5s ago Docs: man:httpd.service(8) Main PID: 27107 (httpd) Status: "Processing requests..." Tasks: 213 (limit: 4915) CGroup: /system.slice/httpd.service ├─27107 /usr/sbin/httpd -DFOREGROUND ├─27108 /usr/sbin/httpd -DFOREGROUND ├─27109 /usr/sbin/httpd -DFOREGROUND ├─27110 /usr/sbin/httpd -DFOREGROUND └─27111 /usr/sbin/httpd -DFOREGROUND Feb 08 13:18:54 testvm1 systemd[1]: Starting The Apache HTTP Server... Feb 08 13:18:54 testvm1 systemd[1]: Started The Apache HTTP Server.
您的服務(wù)器上的命令可能不同。在使用 SystemV 啟動腳本的 Linux 系統(tǒng)上,命令如下:
[root@testvm1 ~]# service httpd start Starting httpd: [Fri Feb 09 08:18:07 2018] [ OK ] [root@testvm1 ~]# service httpd status httpd (pid 14649) is running...
如果您的主機(jī)上有像 Firefox 或 Chrome 這樣的瀏覽器,您可以在瀏覽器的 URL 行上使用 URL localhost 來顯示您的 web 頁面,盡管看起來很簡單。您還可以使用像 Lynx 這樣的文本模式 web 瀏覽器來查看 web 頁面。首先,安裝 Lynx (如果它還沒有被安裝)。
[root@testvm1 ~]# dnf -y install lynx
然后使用下面的命令來顯示網(wǎng)頁。
[root@testvm1 ~]# lynx localhost
結(jié)果在我的終端中是這樣的。我已經(jīng)刪除了頁面上的很多空白。
Hello World <snip> Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back. Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list```
接下來,編輯您的 index.html 文件并添加一些 HTML 標(biāo)記,使其看起來像這樣:
<h2>Hello World</h2>
現(xiàn)在刷新瀏覽器。對于 Lynx,使用組合鍵 Ctrl + R 。 結(jié)果看起來有點(diǎn)不同。如果你的終端支持彩色的話文本是彩色顯示的,Lynx 會顯示標(biāo)題,現(xiàn)在它處于居中狀態(tài)。 在 GUI 瀏覽器中,文本將以大字體顯示。
Hello World <snip> Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back. Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list
后記
從這個(gè)小練習(xí)中可以看到,建立一個(gè) Apache Web 服務(wù)器很容易。 具體情況取決于您的發(fā)行版和該發(fā)行版提供的 Apache 版本。 在我的環(huán)境中,這是一個(gè)非常簡單的練習(xí)。
以上所述是小編給大家介紹的Apache Web 服務(wù)器的配置方法步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。