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