如題,直接進入正文吧
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服務器
原文還有解決網頁中文亂碼的問題,若出現相關問題,可以查看並解決。