今天我們要學習如何搭建一個 LAMP 伺服器環境,什麼是 LAMP?
LAMP:
- L: Linux,我們使用 Ubuntu
- A: Apache2,這是一個網頁伺服器
- M: Mysql or MariaDB,這是資料庫
- P: php,這是一種後端語言
事前準備:
- 準備一台能夠承受 docker 高負載的電腦
- 在電腦上下載 VScode,並且安裝插件 Remote Explorer
- 安裝 docker 桌面版
操作步驟:
-
打開你的 docker 桌面版以及終端機(Mac)或命令提示字元(Windows),在終端機裡輸入尋找 docker 能夠安裝的 ubuntu 官方映像檔指令
docker search ubuntu -f is-official=true
你會看到第一個項目是 ubuntu,有最多的 stars,是官方的版本
-
現在我們要取得這個作業系統的映像檔,在終端機裡輸入取得映像檔的指令
docker pull ubuntu
當你取得映像檔後顯示如上,表示成功獲得映像檔
-
你可以查看你取得的映像檔
docker images
-
接著我們現在要用這個映像檔執行這個作業系統了,輸入以下指令:
docker run -it -d -p 5080:80 -p 5022:22 --name="Linux_Ubuntu" --privileged ubuntu /bin/bash
- docker run: create and run a container
- -it: interactive and generate a tty
- -d: detach
- -p 5080:80: Mapping port 80 inside the container to port 5080 on the host.
- -p 5022:22: Mapping port 22 inside the container to port 5022 on the host.
- —name=”Linux_Ubuntu”: name the container
- —privileged ubuntu: Gives the container extra privileges, and executes Ubuntu
- /bin/bash: Specifies the command to run when the container starts. Here, it’s starting the Bash shell, allowing interaction with the container.
如上圖,表示作業系統已經成功啟動了
下圖是 docker 桌面版的顯示畫面,你可以看到有一個被命名為 Linux_Ubuntu 的容器正在執行
如果不是像上圖輸出一串容器的代號,而是有其他報錯資訊,表示你正在使用的埠號(port)已經被佔用,要去 docker 桌面版找到剛生成的容器並刪除重新執行第四個步驟並且更改容器映射到主機端的埠號,如 5080,5022。
-
現在我們要從 VScode 打開我們的容器,打開 VScode,在左側工具欄中找到剛下載的插件“Remote Explorer”,找到剛才生成的容器。你可以點選做箭頭在本視窗中開啟,也可以點選於新視窗中開啟。如果是 VScode 詢問要開啟哪個資料夾,在輸入欄輸入“/”然後按 enter,打開最“/”根目錄,這是整個 Ubuntu 的目錄。
下圖是/根目錄文件夾以及容器裡的終端機
-
在容器的終端機更新以及升級容器的 apt(advance package tool)
apt update apt upgrade
-
下載 apache2, php, php-mysql 以及 mariadb-server
apt-get install -y apache2 php php-mysql mariadb-server
並且完成時區與地點的設定(亞洲:6,台北:73)
如果你看到 Do you want to continue? [y/n] 或是 ………? [yes/no],永遠都根據中括號的內容按 y 或是 yes 然後按 enter
-
啟動 apache2 以及 mariaDB
service apache2 start service mariadb start
-
輸入以下網址檢查網頁伺服器 apache2 是否正常運作
http://localhost:5080/
-
下載 Phpmyadmin 管理資料庫的程式(pma)
apt install phpmyadmin
如果你看到 Do you want to continue? [y/n] 或是Configure database for phpmyadmin with dbconfig-common? [yes/no],永遠都根據中括號的內容按 y 或是 yes 然後按 enter
如果你看到要求你輸入密碼,直接輸入 root 後按 enter,但是你可能沒辦法使用你設定的密碼完成登入,我們將在下一個步驟更改你在 pma 的 root 密碼
-
更改 pma 的 root 密碼,使用 user 為 root 的身分進入 mariadb 的命令列
mysql -u root
並且在 mysql 的命令列中輸入以下指令,將最後面的 password 改成你自己的密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
如下圖,你會看到 Query ok,表示完成了密碼的變更
輸入exit離開 mariaDB 的命令列
-
重新啟動 mariaDB 以及 apache2 (請記得,之後每次重新啟動容器之後都要執行,讓網頁伺服器啟動,否則會看不到網頁)
service mariadb restart service apache2 restart
-
輸入網址
http://localhost:5080/phpmyadmin/
- 帳號:root
- 密碼:password (或是你自己更改的密碼)
恭喜,你已經成功進入管理資料庫的頁面了,表示已經成功架設了本機端上的 sever ,可以開始開發你的 php 了
by Dennis Black