Byte Ebi's Logo

Byte Ebi 🍤

每天一小口,蝦米變鯨魚

環境初始化主機設定(Docker + Laravel)

介紹如何在一台剛開的主機上設定基礎的 Docker 以及 Laravel 執行環境

Ray

如果今天開啟一台全新的雲端主機,要在上面使用 Docker 建立 Laravel 開發環境
並且可以在遠端主機執行 Laravel 常用的 composer 與 artisan 指令

因為這個步驟實在不常執行,所以記錄下來方便未來查找
也為了接下來使用 Docker 建立 Laravel 環境文章做鋪陳

1. 建立版本庫存取權限

要讓遠端主機可以對指定的 Repository 進行存取,需要加入 ssh key

正規方法:

ssh 登入遠端主機之後,在遠端主機使用指令產生 ssh key

ssh-keygen

然後把 public key 加到遠端版本庫

小朋友不要學的方法:

也是可以把自己已經具有版本庫存取權限的 key pair 塞進遠端主機
如果 .ssh 資料夾不存在要自己加,權限 700

mkdir .ssh
chmod 700 .ssh
cd .ssh
vim id_rsa
chmod 600 id_rsa
vim id_rsa.pub
chmod 644 id_rsa.pub

2. 更新 linux 套件包

因為等等要裝套件,先更新主機的套件包

sudo apt update

3. 安裝 docker

都說要建立 Docker 的環境,當然要安裝 Docker

sudo apt install docker.io

4. 安裝 docker-compose

後面會使用 docker-compose 來組合多個 Docker container 啟動一個完整服務
因為之後的 Laravel 專案中會同時啟動 nginx, PHP, redis, mysql 等容器
透過 docker-compose 管理與操作會比較方便

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

5. 安裝 php 套件

因為 Laravel 專案不需要編譯,當我們修改容器外的檔案,會同步對掛載進容器的檔案做變更
所以不一定要連進容器裡執行指令,在本機的變更一樣會直接生效。當然不進行這一步也是可以的

為了之後可以直接在主機上執行 php artisanphpunit,還有安裝&執行 composer
PHP 版本根據你的需求安裝

apt install php7.4-cli php7.4-gd install php7.4-mbstring php7.4-curl php7.4-xml php7.4-zip

如果不確定自己想找的套件名稱叫什麼,可以在 apt install php7.4 之後按兩下 tab
這樣就會列出名稱為「php7.4」開頭的所有套件,如此就可以很方便的找到指定版本的套件!

下圖用 apt install docker 按兩下 tab 顯示所有「docker」開頭的套件為例
apt install demo

6. 安裝 PHP 的套件管理工具 composer

照官網步驟安裝即可:Download Composer

範例:(正確指令以官方網站為主)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

將 composer 移動到環境變數,讓全域都可以使用指令
建議要執行此步驟,否則就只能在你安裝的路徑(有 composer.phar 檔案)的地方執行指令

sudo mv composer.phar /usr/local/bin/composer

若要查看全域可以執行的指令與對應目錄

echo $PATH

7. 設定 .sh 檔案可執行

如果專案中有 shell 需要執行,必須要修改檔案權限

chmod 755 {target file path}

如此就可以在主機中執行以下的指令

  • docker
  • composer
  • php artisan

也就完成了接下來使用 Docker 建置 Laravel 環境的所需要的基礎設定

最新文章

Category

Tag