LAMP是Linux系統上的開源架站組合,從名稱來看,「L」表示「Linux」作業系統,「A」表示「Apache」網頁伺服器,「M」表示「MySQL」資料庫,「P」表示「PHP」程式語言,而phpMyAdmin則是以PHP作為基礎的資料庫管理工具。這篇文章將要介紹如何在Ubuntu Server上架設網站,選用LAMP Server + phpMyAdmin。二十分鐘內,一個屬於您自己的網頁伺服器便能誕生了!
更新 Ubuntu Server
在架設網站伺服器之前,先將系統更新到最新。可以使用以下指令來更新Ubuntu Server:
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
LAMP Server
安裝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檔案後,接著在網頁瀏覽器網址列上輸入連結到這個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
在終端機下輸入以下指令,來安裝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帳號(因為預設的驗證方式為auto_socket
)。為了要讓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資料庫啦!