Ubuntu 18.04 LTS + Apache、MySQL、PHP (LAMP)安裝設定
嗨大家好,筆者這星期的工作項目較著重在Ubuntu系統安裝及設定,因為過程中不斷的掉入各種坑(QQ),多虧前輩們的幫助才讓系統環境能順利架設成功,因此趁印象深刻時趕緊紀錄下來,希望能幫助到有需要的夥伴!
本篇將會做Ubuntu 18.04設定Netplan靜態IP教學及如何在Ubuntu 18.04中安裝Apache、MySQL、PHP (LAMP,L表Linux)。
Ubuntu 18.04設定Netplan靜態IP
首先是Ubuntu 18.04的安裝,筆者使用iso映像檔掛載方式安裝(下載),安裝過程一般參照預設值設定,安裝完成並登入Ubuntu後,需要進行靜態IP設定以利後續相關軟體安裝。
那麼該怎麼樣進行設定呢?我們先以指令查看目前系統中所有連線的網路介面卡:
$ ifconfig -a
lo是loop back的介面卡,因此我們要將ens160乙太網路介面配置一個靜態IP,而網路介面卡的名稱並不一定都是ens160,ens後的數字可能不同。接著執行以下指令到netplan資料夾:
$ cd /etc/netplan
筆者的系統在安裝時就已在這邊自動建立 一個YAML檔案 01-netcfg.yaml
,如果沒有,則執行以下指令自動產生一個設定檔:
$ sudo netplan generate
打開設定檔並依圖中方式設定ipv4和gateway IP,這邊注意千萬不能設顛倒:
設定好後記得套用設定:
$ sudo netplan apply
可以ping看看連線是否成功(亦可ping gateway IP):
$ ping 8.8.8.8
最後我們進行Ubuntu Server系統版本更新到最新:
$ sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
安裝Apache
執行:
$ sudo apt install apache2
檢查Apache是否正常運行:
$ sudo systemctl status apache2
接著要調整UFW防火牆設定以允許Apache進行遠端連線,以指令查看ufw application profile:
$ sudo ufw app list
執行下列指令以允許HTTP和HTTPS傳輸:
$ sudo ufw allow in "Apache Full"
好,現在以 http://[ Your IP-Address]/
來測試Apache Web Server ,若出現apache預設頁面則代表設定成功!
安裝MySQL
執行:
$ sudo apt install mysql-server
檢查MySQL是否正常運行:
設定MySQL root user的密碼:
$ sudo mysql_secure_installation
接下來會選擇設定密碼的複雜層級,設定完成後會問一些問題,全部回答 "Y" 即可。
因為之後會用phpMyAdmin以外部方式管理MySQL,所以我們要把預設的驗證方式 auth_socket
更改為 mysql_native_password
,進入MySQL prompt:
$ sudo mysql
查看目前所有用戶的驗證方式:
SELECT user,authentication_string,plugin,host from mysql.user;
以指令更改:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[Your Password]';
Update設定:
FLUSH PRIVILEGES;
再查看一次:
SELECT user,authentication_string,plugin,host FROM mysql.user;
修改成功!現在離開MySQL prompt,準備安裝PHP:
exit
安裝PHP
$ sudo apt install php libapache2-mod-php php-mysql
現在我們要在Apache的根目錄資料夾中建立一個 info.php
來測試是否能正常運行。Ubuntu 18.04 LTS的Apache根目錄資料夾路徑為 /var/www/html
。
$ sudo vi /var/www/html/info.php
填入測試程式碼:
<?php
phpinfo();
?>
別忘了重啟Apache讓設定生效
$ sudo systemctl restart apache2
瀏覽器開啟 http://[Your IP-Address]/info.php
測試:
若看到以上畫面則代表測試成功!另外,當使用者向Web發出請求時,Apache預設會優先查找名為index.html
的檔案,若想將php檔案列為優先查找,則需去dir.conf
中將index.php
改至第一順位:
$ sudo vi /etc/apache2/mods-enabled/dir.conf
改成如圖所示:
一樣需重啟Apache讓設定生效:
$ sudo systemctl restart apache2
最後提供幾個與PHP modules相關的指令,
列出所有可獲得的PHP modules:
$ sudo apt-cache search php- | less
查看PHP module:
$ sudo apt-cache show [PHP module name]
安裝PHP module:
$ sudo apt install [PHP module name]
記得安裝完成後一樣需重啟Apache服務哦!
總結
經過了一系列的操作,目前各位的環境中應該已經安裝好了:
● Ubuntu 18.04.3 LTS
● Apache 2.4.29 (Ubuntu)
● MySQL 5.7.28
● PHP 7.2.24
若有任何問題歡迎交流討論,那就下次見啦!掰掰!
2020/08/19補充:
今天再次替另一台VM安裝Ubuntu 20.04.1 LTS,再補充一下幾個小地方:
- iso映像檔需使用:64-bit PC (AMD64) server install image ex. ubuntu-20.04.1-live-server-amd64.iso
- VMware Remote Console 掛載印象檔時會需要時間讀取,一開始會以為沒有反應,請耐心等候