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