LAMP(Linux + Apache + MySQL + PHP)是經典的 Web 伺服器架構。本文以 Ubuntu 14.04 LTS 為例,記錄從安裝套件、模組啟用、權限設定、phpMyAdmin 部署,到驗證測試的完整步驟,並針對常見亂碼、Rewrite 模組等問題提供解決方案。
# 更新套件索引 sudo apt-get update # Apache 2 sudo apt-get install apache2 # PHP 5 (含 Apache 模組) sudo apt-get install php5 libapache2-mod-php5 # MySQL 伺服器與客戶端 sudo apt-get install mysql-server mysql-client # PHP 常用擴展 sudo apt-get install php5-mysql php5-gd php5-curl php5-mcrypt php5-xmlrpc # Apache 認證模組 (可選) sudo apt-get install libapache2-mod-auth-mysql
瀏覽器開啟 https://localhost 或 https://伺服器IP,若出現 「It works!」 表示 Apache 正常。預設網站根目錄為 /var/www/html (Ubuntu 14.04) 或 /var/www (舊版)。
# 將擁有者改為當前使用者 (方便開發) sudo chown -R $USER:$USER /var/www/html # 或給予寫入權限 (生產環境請嚴格控制) sudo chmod -R 755 /var/www/html
sudo apt-get install phpmyadmin
安裝過程中:
建立軟連結使其可透過 Web 存取:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
測試:https://localhost/phpmyadmin。
sudo a2enmod rewrite sudo service apache2 restart
sudo vim /etc/apache2/apache2.conf
在檔案末尾加入:
AddType application/x-httpd-php .php .htm .html
重啟 Apache:sudo service apache2 restart。
建立測試檔 /var/www/html/mysql_test.php:
<?php
$link = mysqli_connect('localhost', 'root', '你的root密碼');
if (!$link) {
die('連線失敗: ' . mysqli_connect_error());
}
echo 'MySQL 連線成功!';
mysqli_close($link);
?>
瀏覽 https://localhost/mysql_test.php 應顯示成功訊息。
sudo vim /etc/apache2/apache2.conf
加入:
AddDefaultCharset UTF-8
並確認 PHP 設定:
sudo vim /etc/php5/apache2/php.ini # 找到並修改 default_charset = "UTF-8" mbstring.internal_encoding = UTF-8 mbstring.http_output = UTF-8
重啟 Apache 生效。
https://localhost 看 It works!phpinfo.php 執行 phpinfo() 或放入探針 (如雅黑探針)。mysql -u root -p。CentOS 穩定性較高、社群教學豐富、長期支援 (LTS) 週期長,適合生產環境;Ubuntu 套件較新、桌面體驗佳,適合開發測試。視團隊熟悉度與維護策略選擇。
確認 /etc/apache2/conf-available/phpmyadmin.conf 已連結至 conf-enabled,或手動 Include:Include /etc/phpmyadmin/apache.conf 於 apache2.conf。