一、什麼是Apache?

在開始搭建網站前,我們先簡單瞭解一下主角——Apache。Apache是世界上最流行的Web服務器軟件之一,它開源免費,能穩定地運行在Linux、Windows等系統上,用於接收和響應來自瀏覽器的網頁請求。對於初學者來說,它安裝簡單、配置靈活,是學習Linux服務器部署的絕佳選擇。

二、準備工作

在動手前,確保你滿足以下條件:
1. 一臺Linux服務器:可以是雲服務器(如阿里雲、騰訊雲的CentOS/Ubuntu實例),也可以是本地虛擬機(如VMware安裝的CentOS或Ubuntu)。
2. Linux基礎操作能力:能使用命令行(如cdlsvim等),並具備基本的文件和權限概念。
3. 權限:需要rootsudo權限(即能執行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

七、測試網站訪問

  1. 重啓Apache服務
    讓修改生效(無需完全重啓,用reload更輕量):
    - CentOS:sudo systemctl reload httpd
    - Ubuntu:sudo systemctl reload apache2

  2. 瀏覽器訪問
    在本地或其他設備的瀏覽器中,輸入服務器的公網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.comtest.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>
  1. 重啓Apache:sudo systemctl restart httpd
  2. 用瀏覽器訪問http://example.com(需配置域名解析)即可看到對應網站。

總結

通過以上步驟,你已成功在Linux服務器上用Apache搭建了第一個網站!核心流程是:安裝Apache → 開放端口 → 部署文件 → 測試訪問。後續可以繼續學習PHP環境搭建、SSL證書配置等進階內容,讓網站更完善。

關鍵提醒:服務器安全很重要,建議定期更新系統和Apache,避免使用弱密碼,後續可考慮添加mod_security等安全模塊。

小夜