網站伺服器 (LAMP)
接下來介紹如何安裝網站伺服器 (LAMP Stack),LAMP 是指一組通常一起用來作為動態網站伺服器的自由軟體名稱首字母縮寫:
- Linux,作業系統
- Apache,網頁伺服器
- MariaDB 或 MySQL,資料庫管理系統
- PHP、Perl 或 Python,伺服器端語言
註:近年開始流行以 Nginx 取代 Apache 的 Nginx、MariaDB / MySQL、PHP 伺服器堆疊,稱為 LEMP 或 LNMP Stack。安裝的步驟差異不大。
- 安裝 apache2 網站伺服器
- 安裝 mysql-server 資料庫伺服器
- 安裝 mysql-client 客戶端
- 安裝 mysql_secure_installation MySQL安全管理
- 安裝 php 伺服器端語言
- 安裝 libapache2-mod-php php-mysql 連接模組
安裝 Tasksel 與 lamp-server
開啟終端機,一行一行執行下列指令:
sudo apt update && sudo apt upgrade # 先更新套件庫 sudo apt install tasksel # 安裝 tasksel sudo tasksel install lamp-server # 安裝 lamp-serversudo tasksel install lamp-server 輸入後會看到這個畫面,就開始安裝 lamp-server 了,等它安裝完畢,畫面消失即可。
安裝完成後,進行以下檢查與設定,確認各項伺服器都安裝成功。
● 檢查 apache2 服務是否啟動?
sudo service apache2 status● 開啟瀏覽器以 http://GCP 配置外部 IP 確認 apache2 已可連線(若是在桌面版的 Ubuntu,則可用 http://localhost/ 或 http://127.0.0.1/),看到如下畫面就表示 Apache2 網頁伺服器外部建線沒問題。
● 在 /var/www/html 目錄(Apache 根目錄)下建立 info.php 檔,以 phpinfo() 檢視 php 系統狀況。
cd /var/www/html # 移至 Apache 根目錄 sudo vi info.php # 建立 info.php 檔在 info.php 中輸入下列程式碼(按 a 進入 vi 編輯模式,按 Ctrl-p 貼上,按 ESC 退出編輯模式,輸入 :wq 按下 Enter 存檔離開):
<?php phpinfo(); ?>建立好 info.php 檔後,同樣用瀏覽器以 http://GCP 配置外部 IP/info.php 連線檢視。出現如下畫面就表示 php 與 Apache2 伺服器間連接均正常。
● 設定 MySQL root 密碼。
Tasksel 安裝 MySQL 資料庫時,並未設定 root 密碼,必須設定 root 密碼以使用 MySQL 資料庫。輸入下列指令:
sudo mysql -u root mysql # 登入 MySQL 資料庫系統執行後,會進入 MySQL shell,終端機游標提示字元會變成 mysql>。
在 MySQL shell 下,一行一行輸入下列指令,讓 root 帳號啟用「mysql_native_password」插件。
UPDATE user SET plugin='mysql_native_password' WHERE User='root'; # 注意在 MySQL shell 下執行 FLUSH PRIVILEGES; # 重新載入特權表 PRIVILEGES \q # 離開 MySQL shell只要執行後看到顯示 Query OK,就表示執行成功。最後輸入 \q 或 exit + Enter 離開 MySQL shell。
輸入以下指令設定 MySQL root 帳號的密碼。
sudo mysql_secure_installation接著會問我們是否要設定 VALIDATE PASSWORD plugin,這個 plugin 會檢查密碼的安全強度。不設定的話,密碼可以設定得比較簡單,當然就比較不安全。若要設定按「y」。
接著選擇「密碼複雜度 password validation policy」 (0:最低 ~ 2:最強)。
再來會輸入兩次要設定的密碼,密碼必須符合前項選定的密碼複雜度。
接下來的問題全部按「y」+ Enter 即可。最後如果看到 Success. All done! 就是 root 密碼設定成功了。
● 登入 MySQL 確認 root 密碼
mysql -u root -p # 以 root 帳號登入 mysql接著輸入剛剛設定好的 root 密碼,沒問題就會進入 MySQL shell,看到如下畫面。
root 密碼非常重要,千萬別忘了。若想多了解 MySQL 基本操作可參考這篇《Ubuntu 使用 MySQL》。
這樣,基本的 LAMP Stack 網站伺服器安裝和設定就完成了。如要設計網站或 PHP 動態網頁程式,記得要放在 /var/www/html (apache2 網站伺服器根目錄) 下。若要架設動態網站,如 WordPress,可參考《Ubuntu Install WordPress 內容管理系統》來進行安裝。
● (非必要) 安裝 phpMyAdmin MySQL資料庫管理工具,控制與檢視 MySQL 資料庫。
phpmyadmin 資料庫工具並非必要,但若安裝後發現無法啟動,可能是因為 phpmyadmin 不是安裝在 /var/www/html/ (apache2 網站伺服器的網站檔案根目錄)下,而是在 /usr/share/phpmyadmin/。那就需要建立一個 symbolic link 到 /var/www/html/phpmyadmin/,指令如下:
sudo ln -s /usr/share/phpmyadmin/ /var/www/html/phpmyadmin # 建立 symbolic link
參考資料 (References):
😺 安裝 LAMP Server + phpMyAdmin 在 Linux 系統上輕鬆架設網站
😺 Ubuntu 使用 MySQL
😺 Installing LAMP on Ubuntu 17.04 / 17.10
😺 Ubuntu官方說明文件 - Tasksel