用DOCKER在本機建立MAGENTO (安裝MAGENTO篇)
承上篇,當執行過docker-compose up -d 之後,服務便會運作起來, 如果想知道有甚麼服務在執行,可以用在COMMAND PROMPT或TERMINAL執行 docker ps, 便會看見當下在運行的服務,
而當下的文件結構應該是這個樣子
裡面的內容是由magento 官方下載,並加入了早前建立的docker-compose.yaml file
下一步服務已經運行中,就要開始進行安裝magento程序, 開始安裝前這裡需要一些command的小知識,而以下指令將會很有用
Command | Description |
docker ps | 列出所有現在運行中的CONTAINER及其資料 |
docker exec -it {container name} bash | 好像SSH般遠端控制這個CONTAINER NAME,在連結後用指令開始操作,如要離開遠端控制只要在TERMINAL內鍵入 exit 即可 |
composer update | 在前面的筆記中,有提到magento 是用 PHP來運行,而composer 是一個軟件會把不同的software下載並整合,這個指令就是用來更新,下載,安裝 |
首先在magento 根目錄執行composer update, 這樣便會開始下載MAGENTO安裝用到的LIBRARY。
然後請執行 docker ps, 會看見在運行的CONTAINER
因為我們要用到php去安裝,請用docker exec -it magento-php bash 進入這個CONTAINER,當下便會進入/app 這個目錄,然後執行以下COMMAND
bin/magento setup:install \
--base-url=http://localhost/ \
--db-host=db \
--db-name=magento2 \
--db-user=magento2 \
--db-password=magento2 \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=HKD \
--timezone=Asia/Hong_Kong \
--use-rewrites=1
--search-engine=elasticsearch7
--elasticsearch-host=elasticsearch
--elasticsearch-port=9200
這個COMMAND是用來安裝magento, 而 –xxx=yyy xxx是設定名稱,yyy是設定值例如
設定名稱 | 設定值 | 解釋 |
–base-url | http://localhost | 每個網站都會有一個網名,一般的放到大眾網絡供他人瀏覽都需要付費,而localhost是一個特殊的名稱,指的是本機名稱,如果想加入其他名稱,在LINUX上到/etc/, 打開hosts 可以看到 127.0.0.1 localhost 指的就是在browser鍵入localhost,電腦便會找一下這個FILE,見到localhost 設定指向 127.0.0.1 ,所以瀏覽器會自動到127.0.0.1 這個本機的PORT 80 去找網頁內容,找到就顯示出來 |
–db-host | db | 這個是早前介紹MAGENTO需要DB存取商品資料用到的DB,用的值是db是因為早前我們把db服務的CONTAINER名設定為db, 而CONTAINER在同一個NETWORK內以CONTAINER NAME來互相連結及通訊。 |
–db-name | magento2 | 這個是對應到早前在設定DB的CONTAINER時 MYSQL_ROOT_PASSWORD=magento2 MYSQL_DATABASE=magento2 MYSQL_USER=magento2 MYSQL_PASSWORD=magento2 |
–db-user | magento2 | 如上 |
–db-password | magento2 | 如上 |
–admin-firstname | admin | 自由設定 |
–admin-lastname | admin | 自由設定 |
–admin-email | [email protected] | 自由設定 |
–admin-user | admin | 自由設定 |
–admin-password | admin123 | 自由設定, 一會用作登入後台時用 |
–language | en_US | 自由設定, 我設定是繁體中文 |
–currency | HKD | 自由設定 |
–timezone | Asia/Hong_Kong | 自由設定 |
–use-rewrite | 1 | 自由設定, 設定MAGENTO要否用URL REWRITE作連結修改 |
–search-engine | elasticsearch7 | 因為裝的是magento 2.4.6版,預設是OPENSEARCH,而我們裝的是ELASTICSEARCH服務,所以這裡要修改一下 |
–elasticsearch-host | elasticsearch | 跟DB一樣,elasticsearch服務的CONTAINER NAME設定了是elasticsearch, 所以這裡要設定成這個名稱 |
–elasticsearch-port | 9200 | 可以參考在docker ps 顯示,elasticsearch正在用的PORT |
當運行完後便成功看見以下畫面
在安裝途中會有提示 magento的後台是甚麼,如果錯過了的話,可以打開 app/etc/env.php,
這個就是後台連結
e.g. http://localhost/admin_fb3tez