一、什麼是Apache?¶
在開始搭建網站前,我們先簡單瞭解一下主角——Apache。Apache是世界上最流行的Web服務器軟件之一,它開源免費,能穩定地運行在Linux、Windows等系統上,用於接收和響應來自瀏覽器的網頁請求。對於初學者來說,它安裝簡單、配置靈活,是學習Linux服務器部署的絕佳選擇。
二、準備工作¶
在動手前,確保你滿足以下條件:
1. 一臺Linux服務器:可以是雲服務器(如阿里雲、騰訊雲的CentOS/Ubuntu實例),也可以是本地虛擬機(如VMware安裝的CentOS或Ubuntu)。
2. Linux基礎操作能力:能使用命令行(如cd、ls、vim等),並具備基本的文件和權限概念。
3. 權限:需要root或sudo權限(即能執行apt/yum安裝命令的用戶)。
三、安裝Apache服務器¶
Linux系統有不同的包管理工具,以下分別介紹主流發行版的安裝步驟:
1. CentOS/RHEL系統(使用yum命令)¶
- 更新系統包列表(可選但推薦):
sudo yum update -y
- 安裝Apache:
sudo yum install httpd -y
(httpd是CentOS中Apache的軟件包名稱)
2. Ubuntu/Debian系統(使用apt命令)¶
- 更新系統包列表:
sudo apt update
- 安裝Apache:
sudo apt install apache2 -y
(apache2是Ubuntu中Apache的軟件包名稱)
四、啓動Apache並設置開機自啓¶
安裝完成後,需要啓動Apache服務,並設置它在服務器重啓時自動運行:
啓動服務:¶
- CentOS:
sudo systemctl start httpd
- Ubuntu:
sudo systemctl start apache2
設置開機自啓:¶
- CentOS:
sudo systemctl enable httpd
- Ubuntu:
sudo systemctl enable apache2
檢查服務狀態:¶
可以用以下命令確認Apache是否正常運行:
sudo systemctl status httpd # CentOS
sudo systemctl status apache2 # Ubuntu
輸出中顯示active (running)表示啓動成功。
五、開放防火牆端口(關鍵步驟!)¶
如果服務器開啓了防火牆(如CentOS的firewalld或Ubuntu的ufw),需要開放80端口(HTTP默認端口),否則外部無法訪問網站。
1. CentOS(使用firewalld):¶
- 開放80端口並永久生效:
sudo firewall-cmd --add-port=80/tcp --permanent
- 重新加載防火牆規則:
sudo firewall-cmd --reload
2. Ubuntu(使用ufw):¶
- 允許80端口訪問:
sudo ufw allow 80/tcp
- 確認防火牆狀態:
sudo ufw status # 顯示“80/tcp”已允許則成功
六、部署你的第一個網站¶
現在Apache已安裝並可訪問,我們需要把網站文件放到Apache的默認網站目錄中。
1. 找到網站根目錄:¶
- CentOS:
/var/www/html - Ubuntu:
/var/www/html(路徑一致,不同系統下路徑相同)
2. 創建簡單的HTML文件:¶
進入網站目錄,用vim創建一個index.html文件(網站首頁默認名稱):
cd /var/www/html
sudo vim index.html
在vim編輯器中輸入以下內容(簡單的HTML頁面):
<!DOCTYPE html>
<html>
<head>
<title>我的第一個Linux網站</title>
</head>
<body>
<h1>Hello, Linux Server!</h1>
<p>這是我通過Apache搭建的第一個網站。</p>
</body>
</html>
按Esc鍵,輸入:wq保存並退出vim。
七、測試網站訪問¶
-
重啓Apache服務:
讓修改生效(無需完全重啓,用reload更輕量):
- CentOS:sudo systemctl reload httpd
- Ubuntu:sudo systemctl reload apache2 -
瀏覽器訪問:
在本地或其他設備的瀏覽器中,輸入服務器的公網IP地址(如果是雲服務器,需在安全組開放80端口)。例如:
http://123.45.67.89
你應該能看到剛纔創建的index.html頁面,顯示“Hello, Linux Server!”。
七、常見問題排查¶
如果訪問失敗,按以下步驟檢查:
1. 確認Apache狀態:運行systemctl status httpd/apache2,確保服務是active。
2. 檢查防火牆:運行firewall-cmd --list-ports(CentOS)或ufw status(Ubuntu),確認80端口已開放。
3. 文件權限:網站目錄和文件可能需要權限,確保Apache用戶(CentOS:apache;Ubuntu:www-data)有讀取權限。
例如:sudo chown -R apache:apache /var/www/html(CentOS)或sudo chown -R www-data:www-data /var/www/html(Ubuntu)。
4. 文件路徑:確認HTML文件在/var/www/html下,且文件名是index.html(默認首頁)。
八、進階:簡單配置虛擬主機(可選)¶
如果需要搭建多個網站(如example.com和test.com),可以通過虛擬主機實現。以CentOS爲例:
1. 新建網站目錄:sudo mkdir -p /var/www/example.com
2. 創建HTML文件:sudo vim /var/www/example.com/index.html
3. 編輯配置文件:sudo vim /etc/httpd/conf.d/example.com.conf
4. 寫入以下內容(替換example.com爲你的域名):
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
Require all granted
</Directory>
</VirtualHost>
- 重啓Apache:
sudo systemctl restart httpd - 用瀏覽器訪問
http://example.com(需配置域名解析)即可看到對應網站。
總結¶
通過以上步驟,你已成功在Linux服務器上用Apache搭建了第一個網站!核心流程是:安裝Apache → 開放端口 → 部署文件 → 測試訪問。後續可以繼續學習PHP環境搭建、SSL證書配置等進階內容,讓網站更完善。
關鍵提醒:服務器安全很重要,建議定期更新系統和Apache,避免使用弱密碼,後續可考慮添加mod_security等安全模塊。