LAMP是Linux系統上的開源架站組合,從名稱來看,「L」表示「Linux」作業系統,「A」表示「Apache」網頁伺服器,「M」表示「MySQL」資料庫,「P」表示「PHP」程式語言,而phpMyAdmin則是以PHP作為基礎的資料庫管理工具。這篇文章將要介紹如何在Ubuntu Server上架設網站,選用LAMP Server + phpMyAdmin。二十分鐘內,一個屬於您自己的網頁伺服器便能誕生了!
作業系統環境以Ubuntu Server 18.04為例。安裝方式可以參考這篇文章:
https://magiclen.org/ubuntu-server-18-04/
在架設網站伺服器之前,先將系統更新到最新。可以使用以下指令來更新Ubuntu Server:
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
安裝LAMP Server
Tasksel有提供「LAMP server」,如果還沒有安裝Tasksel,可以使用以下指令來安裝:
sudo apt install tasksel
輸入以下指令可以開啟Tasksel的套件選單,選擇「LAMP Server」即可安裝LAMP Server:
sudo tasksel
不想用選單慢慢找的話,可以直接輸入以下指令來安裝LAMP Server:
sudo tasksel install lamp-server
安裝LAMP Server不會需要太久的時間。
安裝LAMP Server後,會自動啟動伺服器,此時用網頁瀏覽器,在網址列輸入伺服器的IP,應該會看到預設網頁。如果有看到,就表示LAMP Server已經安裝成功了!
LAMP Server的根目錄路徑
LAMP使用Apache作為網頁伺服器,網站的預設根目錄是在「/var/www/html」下,剛安裝完LAMP後,會在根目錄下自動放置「index.html」檔案,就是用網頁瀏覽器開啟伺服器的IP時看到的網頁。
查看PHP的詳細資訊
在網站根目錄「/var/www/html」中新增一個「info.php」檔案。可以使用以下指令,透過「vim」文字編輯軟體來建立新的「info.php」檔案:
sudo vim info.php
接著開始使用PHP程式語言來撰寫程式。可以透過「phpinfo」函數來顯示出PHP的詳細資訊,如下:
PHP
1 2 3 |
phpinfo(); ?> |
儲存成PHP檔案後,接著在網頁瀏覽器網址列上輸入連結到這個PHP檔案的網址,就可以看到如下圖的表格:
透過PHP的「phpinfo」函數顯示出來的表格,可以讓我們得知很多有用的資訊,例如PHP的版本、PHP使用的插件(plugin)、PHP設定檔php.ini的路徑。
啟動、中止與重新啟動Apache伺服器
修改任何網站伺服器相關的設定或是安裝了新的網站伺服器相關的插件,通常都需要重新啟動Apache伺服器來套用更變。可以使用以下指令來完成:
啟動Apache
sudo service apache2 start
中止Apache
sudo service apache2 stop
重新啟動Apache
sudo service apache2 restart
安裝phpMyAdmin
在終端機下輸入以下指令,來安裝phpMyAdmin:
sudo apt install phpmyadmin
安裝過程需要設定phpMyAdmin,一開始會要求選擇網頁伺服器,因為我們裝的LAMP是使用Apache作為網頁伺服器,所以選擇「apache2」。用鍵盤的空白鍵(Space)來選擇項目,用Enter鍵確認選擇。
最後會詢問是否要設定dbconfig-common,選擇「是」(Yes)吧!
dbconfig-common將需要建立一個新的MySQL使用者來操作運行phpMyAdmin資料庫管理工具時需要額外用到的資料表,預設的使用者名稱為「phpmyadmin」,所以接著要設定「phpmyadmin」這個MySQL使用者的密碼。
再輸入一次剛才輸入的「phpmyadmin」使用者的密碼。
新的MySQL使用者「phpmyadmin」建立完成後,phpMyAdmin就算是安裝完畢了!
設定MySQL的root密碼
MySQL的root密碼預設是空的,但是在預設情況下也無法使用密碼來登入root帳號。為了要讓phpMyAdmin能用MySQL的root帳號來管理MySQL資料庫,我們必須先設定MySQL的root帳號,使其能夠使用密碼登入的功能。
首先輸入以下指令,用root帳號登入MySQL的「mysql」資料庫。「mysql」資料庫用來存放MySQL資料庫的內部設定,包括MySQL的帳號設定。
sudo mysql -u root mysql
接著會進入MySQL的Shell。輸入以下指令,讓root帳號啟用「mysql_native_password」插件,使其能夠擁有密碼,並且能使用密碼登入。
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
再來輸入以下指令來重新載入特權表:
FLUSH PRIVILEGES;
接著要來設定MySQL的root密碼。輸入以下指令執行更改root密碼的腳本:
sudo mysql_secure_installation
開啟「VALIDATE PASSWORD」插件,可以幫助我們檢查root密碼的安全性,避免被設置得太簡單而有安全上的疑慮。輸入「y」,同意啟用「VALIDATE PASSWORD」插件。
接著要決定密碼的複雜度,輸入「2」,使用最複雜的密碼。密碼長度必須大於等於8,且必須包含數字、英文大小寫字母和特殊字元。
連續輸入兩次密碼。
確認密碼輸入無誤後,輸入「y」繼續。
輸入「y」,移除匿名使用者的資料。
輸入「y」,可以禁止從遠端使用MySQL的root帳號來登入MySQL。
輸入「y」,移除測試用的資料庫。
輸入「y」,重新載入特權表。
到這裡就設定完成了!
使用phpMyAdmin
在網頁瀏覽器的網址列輸入主機IP,並接上「/phpmyadmin」,就可以開啟phpMyAdmin。
登入的帳號輸入「root」,密碼輸入剛才使用「mysql_secure_installation」腳本所設定的密碼,就可以用MySQL的root帳號登入MySQL資料庫啦!
若是在意伺服器的效能,還可以再加上nginx來處理靜態網頁或是檔案的連線需求,可以參考這篇文章來架設LNAMP Server:
https://magiclen.org/lnamp/
Magic Len
各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook(點我),並且請註明是從MagicLen來的。