前置:系統更新 (必做)
sudo apt-get update
sudo apt-get dist-upgrade -y
核心套件安裝
# MySQL 5.x (含 server/client)
sudo apt-get install mysql-server -y
# 安裝過程會提示設定 root 密碼
# Apache 2.4
sudo apt-get install apache2 -y
# PHP 5.x + 常用擴展
sudo apt-get install php5 php5-mysql php5-gd php5-cli php5-curl php5-mcrypt -y
# phpMyAdmin
sudo apt-get install phpmyadmin -y
# 安裝嚚會詢問:
# - Web server: apache2 ✅
# - Configure database for phpmyadmin with dbconfig-common: Yes
# - MySQL application password for phpmyadmin: (可留空自動生成)
關鍵配置修正
1. MySQL root 密碼若未設定 (舊版行為)
mysql -u root
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'strong_pass';
mysql> FLUSH PRIVILEGES;
mysql> \q
2. phpMyAdmin 設定檔注入密碼
sudo vim /etc/phpmyadmin/config.inc.php
# 找到
$cfg['Servers'][$i]['password'] = '';
# 改為
$cfg['Servers'][$i]['password'] = 'strong_pass'; # 剛才設定的 root 密碼
3. PHP 時區與錯誤顯示 (生產建議關閉 display_errors)
sudo vim /etc/php5/apache2/php.ini
date.timezone = Asia/Taipei
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
4. Apache 載入 PHP 模組驗證
ls /etc/apache2/mods-enabled/php5.load
# 若無:sudo a2enmod php5
服務管理指令
| 服務 | 啟動 | 重啟 | 停止 | 狀態 |
| Apache | sudo service apache2 start | sudo service apache2 restart | sudo service apache2 stop | sudo service apache2 status |
| MySQL | sudo service mysql start | sudo service mysql restart | sudo service mysql stop | sudo service mysql status |
驗證清單
- 瀏覽器
https://server_ip/ → Apache 預設頁
- 瀏覽器
https://server_ip/phpmyadmin/ → phpMyAdmin 登入頁
- 登入 root / strong_pass → 可見資料庫列表、建表、執行 SQL
php -v、mysql -V、apache2 -v 版本正確
常見坑與解決
| 現象 | 原因 | 解決 |
| phpMyAdmin 404 | Apache 未包含 phpmyadmin.conf | sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf && sudo a2enconf phpmyadmin && sudo service apache2 reload |
| MySQL 擴展未載入 | 缺 php5-mysql | sudo apt-get install php5-mysql && sudo service apache2 restart |
| 中文亂碼 | 編碼不一致 | 資料庫/表/連線統一 utf8mb4,php.ini default_charset = UTF-8 |
結語
Ubuntu apt-get 部署 LAMP 只需 更新 → 裝四套件 → 改三處配置 → 驗證。生產環境請改用 PHP 7.4+/8.x、MySQL 8.0、Apache 2.4 + MPM Event + PHP-FPM 現代棧,本文僅作舊版維護參考。