More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 主機

如何使用Apache Web服務器來安裝和配置網站?


字體大小:
2020年10月24日 -
:     
 

51CTO

如何安裝和配置服務器?您將文件放置在哪裏?

不妨介紹這方面,每次一個步驟。我將在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服務的所有網站。