Ubuntu 服務器利用Apache 2搭建一個簡單的網站


如題,直接進入正文吧




Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴充,將Perl,Python解釋器編譯到服務器中。來自於百度百科

之前弄了個域名,由於一直忘了備案,前幾天騰訊發通知,要求45天內備案,於是今天下午備案了。這樣,域名不能解析了,而服務器也很久沒用了,里面沒什么重要東西(本地都有備份的),為了安全起見,重新裝了系統。

雖然域名還在審核,但是想做個簡單的網站還是不難的(現在搭建網站好像都要實名制並且備案了),我們使用Apache就可以做到了。

環境:Ubuntu Server 18.04.1 LTS 64位,Xshell

Apache 2的安裝

首先更新存儲庫:

sudo apt-get update

之后安裝Apache2:

sudo apt install apache2

安裝過程出現 (y/n) 時,輸入y或者回車進行安裝即可。

這里是我之前已經安裝好了的。

接下來,確認是否安裝Apache2,並檢驗其版本:

apache2 -version

表明已經成功安裝Apache2了


Apache 2的配置

現在配置Apache,我們需要允許外部訪問服務器的某些Web端口,並在服務器的UFW防火牆上允許Apache。

首先列出我們啟用Apache訪問所需的應用程序配置文件。

sudo ufw app list

三個Apache配置文件都提供不同級別的安全性; Apache是一個提供最大限制但端口80仍處於打開狀態的Apache。

之后,在UFW上允許Apache並驗證其狀態

sudo ufw allow 'Apache'

現在將在防火牆上顯示啟用Apache。

sudo ufw status

接下來,驗證Apache服務是否正在運行。

sudo systemctl status apache2

狀態:active(running)表示其正在運行。

驗證Apache是否正常運行並偵聽您的IP地址。

hostname -I

這里給出的ip是我服務器的內網ip,在瀏覽器中是無法打開的,而此時公網ip是可以解析的。

將你服務器的公網ip復制到瀏覽器的地址欄,打開:

顯示Apache默認網頁。

在Apache中設置虛擬主機

虛擬主機類似於Nginx中的服務器塊。 它用於管理來自一個服務器的多個域的配置。 我們將提供一個如何通過Apache服務器設置虛擬主機的示例。 我們將使用Apache for Ubuntu 18中默認啟用的服務器塊來建立一個名為 ourtest.com(名字隨意) 的網站。

我們先看看這個默認的apache網頁。

cd /var/www/html
ls
cat index.html

index.html 文件部分內容如下:

仔細觀察,發現它顯示的內容和默認的apache網頁是一樣的,接下來,我們來搭建個自己的網頁。

默認情況下啟用的服務器塊能夠提供來自 /var/www/html的文檔。 但是,我們將在/var/www/ 創建一個目錄,同時保留默認目錄。

通過以下命令創建此目錄,將ourtest.com替換為你自己的域名。

sudo mkdir -p /var/www/ourtest.com/html

然后通過以下命令分配目錄的所有權:

sudo chown -R $USER:$USER /var/www/ourtest.com/html
sudo chmod -R 755 /var/www/ourtest.com

現在讓我們創建一個索引頁面,就可以訪問它。 通過 vi 編輯器或其他文本編輯器創建HTML文件。

vi /var/www/ourtest.com/html/index.html

為索引頁輸入一些內容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>2019/2/13</title>
</head>
<body>
    <h1>武漢加油,中國加油!</h1>
</body>
</html>

Apache需要一個虛擬主機文件來提供服務器的內容。它已經創建了用於此目的的默認配置文件,但我們還是為其自定義配置創建一個新的配置文件。

sudo vi /etc/apache2/sites-available/ourtest.com.conf

輸入域名的以下自定義配置詳細信息:

<VirtualHost *:80>
ServerAdmin admin@ourtest.com
ServerName ourtest.com
ServerAlias www.ourtest.com
DocumentRoot /var/www/ourtest.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

更換的內容為你自己的域名。

啟用使用a2ensite工具創建的配置文件:

sudo a2ensite ourtest.com.conf

輸出將建議激活新配置,但我們可以在運行以下禁用原始配置文件的命令后集體執行此操作:

sudo a2dissite 000-default.conf

現在重啟Apache服務:

sudo systemctl restart apache2

最后,讓我們通過以下命令測試是否存在任何配置錯誤:

sudo apache2ctl configtest

一切正常!

Apache服務器現在配置為你之前設置的域名。在Web瀏覽器中輸入你的服務器名稱來驗證:

http://www.ourtest.com

呃......

有點尷尬...

我們來試試用公網ip吧。

這便是我們之前設定的頁面了,該文是我邊寫邊操作的,我也沒想到這個域名被注冊了,理解萬歲,理解萬歲...

現在注冊域名都需要備案了,所以通過這種方式可能無法域名訪問,但是通過服務器公網ip是可以的。

本文參考了Linux 公社的一篇文章,如何在Ubuntu 18.04上安裝和配置Apache 2 Web服務器

原文還有解決網頁中文亂碼的問題,若出現相關問題,可以查看並解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM