如何使用Apache Web服務(wù)器來(lái)安裝和配置網(wǎng)站?
譯文【51CTO.com快譯】我時(shí)常發(fā)現(xiàn),冷靜下來(lái)捊一捊基礎(chǔ)知識(shí)是好事。這不僅有助于使我成為一名技術(shù)撰稿人,還可以幫助在摸索學(xué)習(xí)我所介紹的任何技術(shù)的許多讀者。
這次介紹的是Apache Web服務(wù)器,這款軟件存在已有數(shù)十年,可以輕松地為大小網(wǎng)站提供服務(wù),運(yùn)行順暢。Apache可與MySQL、PHP及另外大量軟件包無(wú)縫協(xié)作,以便您架設(shè)簡(jiǎn)單的靜態(tài)或動(dòng)態(tài)網(wǎng)站。
如何安裝和配置服務(wù)器?您將文件放置在哪里?
不妨介紹這方面,每次一個(gè)步驟。我將在Ubuntu Server 20.04上進(jìn)行演示。
不過(guò)先介紹一點(diǎn)基礎(chǔ)知識(shí)。
基于Ubuntu的發(fā)行版和基于Red Hat的發(fā)行版之間的區(qū)別
之所以要指定我使用哪個(gè)Linux發(fā)行版,是因?yàn)閷?duì)于Apache而言,基于Ubuntu的發(fā)行版和基于Red Hat的發(fā)行版從安裝到配置都不一樣。比如說(shuō),在基于Red Hat的發(fā)行版上,Apache通過(guò)httpd軟件包安裝,而在基于Ubuntu的發(fā)行版上,apache2軟件包就能完成這項(xiàng)任務(wù)。另一個(gè)區(qū)別是在何處以及如何配置Apache。在基于Red Hat的發(fā)行版中,許多Apache配置將在/etc/httpd/conf/httpd.conf中進(jìn)行。而在基于Ubuntu的發(fā)行版中,配置位于/etc/apache2/apache2.conf和/etc/apache2/sites-available/中。還有更多的差異,不過(guò)您應(yīng)大致明白了。
如何在Ubuntu服務(wù)器上安裝Apache?
可以通過(guò)多種方式在Ubuntu上安裝Apache。如果您只需要基本的服務(wù)器軟件,可以打開(kāi)終端、執(zhí)行以下命令:
- sudo apt-get install apache2 -y
然而,如果您想要一套成熟的Linux Apache MySQL PHP(LAMP)堆棧,可以執(zhí)行以下命令:
- sudo apt-get install lamp-server^
一旦運(yùn)行上述任何一個(gè)命令,可啟動(dòng)并運(yùn)行Apache。您還需要確保啟用Apache,以便服務(wù)器重啟(或引導(dǎo))后開(kāi)始運(yùn)行。為此,執(zhí)行以下命令:
- sudo systemctl enable apache2
可以通過(guò)打開(kāi)Web瀏覽器并將其指向http://SERVER_IP(其中SERVER_IP是托管Apache的服務(wù)器的IP地址),驗(yàn)證安裝。您會(huì)看到Apache歡迎頁(yè)面(圖A)。
圖A. 在Ubuntu服務(wù)器上運(yùn)行的官方Apache歡迎頁(yè)面
Apache提供的是什么頁(yè)面?如果您查看/var/www/html,會(huì)找到index.html文件,對(duì)其進(jìn)行更改。
返回終端窗口,使用以下命令重命名該index.html文件:
- sudo mv /var/www/html/index.html /var/www/html/index.html.bak
現(xiàn)在,不妨創(chuàng)建一個(gè)新的歡迎文件。執(zhí)行以下命令:
- sudo nano /var/www/html/index.html
在該文件中,粘貼以下內(nèi)容:
- <!DOCTYPE html>
- <html>
- <body>
- <h1>Hello, TechRepublic!</h1>
- <p>How are you doing?</p>
- </body>
- </html>
保存并關(guān)閉文件。在瀏覽器中重新加載該網(wǎng)頁(yè),您應(yīng)該會(huì)看到變化(圖B)。
圖B. 我們新的index.html頁(yè)面由Apache提供
如何為Apache創(chuàng)建網(wǎng)站?
我們現(xiàn)在要做的是創(chuàng)建一個(gè)虛擬主機(jī)供Apache服務(wù)。虛擬主機(jī)是Apache所服務(wù)的網(wǎng)站的俗稱(chēng)。可以在單單一臺(tái)Apache服務(wù)器上提供眾多虛擬主機(jī)。實(shí)際上,您只受限于托管服務(wù)器的功能和網(wǎng)絡(luò)的帶寬。
因此,不妨創(chuàng)建一個(gè)名為test的虛擬主機(jī)。
我們要做的第一件事是使用以下命令創(chuàng)建一個(gè)容納測(cè)試的目錄:
- sudo mkdir -p /var/www/html/test
接下來(lái),我們將使用以下命令為新目錄賦予適當(dāng)?shù)乃袡?quán):
- sudo chown -R $USER:$USER /var/www/html/test
最后,我們將使用以下命令授予適當(dāng)?shù)臋?quán)限:
- sudo chmod -R 755 /var/www/html/test
使用以下命令將新的index.html文件拷貝到測(cè)試目錄中:
- sudo cp /var/www/html/index.html /var/www/html/test/
現(xiàn)在我們要?jiǎng)?chuàng)建虛擬主機(jī)配置,以便Apache知道測(cè)試在哪里。測(cè)試將位于/etc/apache/sites-available中。為此,我們將使用以下命令創(chuàng)建test.conf文件:
- sudo nano /etc/apache2/sites-available/test.conf
在該文件中粘貼以下內(nèi)容:
- <VirtualHost *:80>
- ServerAdmin admin@example.com
- ServerName example.com
- ServerAlias www.example.com
- DocumentRoot /var/www/html/test
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- </VirtualHost>
上面最重要的一行以DocumentRoot開(kāi)頭,這指示Apache在何處可以找到虛擬主機(jī)的文件。保存并關(guān)閉該文件。
至此,我們已創(chuàng)建了容納文件的目錄,賦予了適當(dāng)?shù)乃袡?quán)和權(quán)限,并為虛擬主機(jī)創(chuàng)建了配置。然而,Apache仍然不知道新網(wǎng)站。為什么?因?yàn)榕渲梦募挥趕ites-available中。我們要做的是從該配置創(chuàng)建一個(gè)鏈接到/etc/apache2/sites-enabled目錄。僅在sites-available中找到的那些配置才在Apache服務(wù)器上處于活動(dòng)狀態(tài)。
在非Ubuntu服務(wù)器上,您要使用ln(代表link)命令來(lái)執(zhí)行此操作。然而,Ubuntu上有一個(gè)方便的實(shí)用程序,它將為您創(chuàng)建該網(wǎng)站。這個(gè)實(shí)用程序就是a2ensite。如果我們運(yùn)行命令:
- sudo a2ensite test.conf
我們的測(cè)試虛擬主機(jī)隨后將被啟用。
該命令成功執(zhí)行后,您要使用以下命令重新加載Apache(它將僅重新加載配置文件,而不重新啟動(dòng)Web服務(wù)器):
- sudo systemctl reload apache2
現(xiàn)在,如果您將瀏覽器指向http://SERVER_IP/test(其中SERVER_IP是服務(wù)器的IP地址),應(yīng)該會(huì)看到與使用基本的index.html文件相同的Hello,TechRepublic歡迎信息,只是它是從新創(chuàng)建的虛擬主機(jī)提供的。
您剛安裝了Apache Web服務(wù)器,編輯了index.html文件,然后創(chuàng)建了自己的虛擬主機(jī)。您可以進(jìn)而創(chuàng)建啟用所需的Apache服務(wù)的所有網(wǎng)站。
原文標(biāo)題:How to use the Apache web server to install and configure a website,作者:Jack Wallen
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】