はじめに
プロジェクトをGitHubにpushして、デプロイ先のさくらサーバにログインして GitHub上のプロジェクトを clone(or pull)することでデプロイができるようにしていく。
デプロイサーバー設定
「さくらのレンタルサーバ」サービスサイト(http://www.sakura.ne.jp)にアクセスする。
=>お申込み=>さくらのレンタルサーバ スタンダード
=>希望の初期ドメインの入力*支払方法は銀行振込を選択(自動課金防止)
=>登録後コントロールパネルで以下のことを確認
・スクリプト設定 → 言語バージョン設定 → PHP を 8 に変更
・web サイト/データ → データベース → 新規作成
・DB 作成
・ドメイン/SSL → 設定 →HTTPS 転送(チェックを入れる)→ 保存
AWSのクラウド環境でのSSHkeyの設定
$ cd ~
$ ls -a
$ mkdir .ssh (`.ssh` フォルダが存在しない場合は、作成)
$ cd .ssh
SSH 鍵ファイル作成
(ファイル名は既定のまま、パスワードは空欄でEnter)
$ ssh-keygen
$ cat id_rsa.pub
その後、GitHubで、「設定」「SSH keys」「Add SSH key」で入力画面へ。公開鍵はどのPCで発行したものか判別できるようにしておくべし。
$ cd ~
$ cd environment/~
$ git config --global user.name "YOUR_GITHUB_ACCOUNT_NAME"
$ git config --global user.email "YOUR_GITHUB_EMAIL"
$ git config --global init.defaultBranch main
GitHub 上に新規リポジトリを作成後(SSHのURLを控える)
$ git init
$ git add .
$ git commit -m "init"
( リポジトリの URL (SSH)を設定してpushする.)
$ git remote add origin YOUR_REPOSITORY_URL
$ git push origin main
ターミナルでさくらサーバーにログイン
$ ssh アカウント@サーバ名
サーバパスワードを入力
初期のシェルを変更しておく。
% chsh -s /usr/local/bin/bash
Password:
chsh: user information updated
(完了後ログアウト)
% exit
*ターミナルが$になっていることをチェックしておく。
デプロイサーバーとgithubのSSH通信の設定
githubの情報をデプロイサーバーに反映できるようにする。
サーバーでSSHkeyの発行
$ cd ~/.ssh
$ ssh-keygen
$ cat id_rsa.pub
gihhubにSSH keyを登録
githubのコードをデプロイ先に反映
サーバーでcomposer 用ディレクトリの作成とダウンロード
パスを通す(viに注意 )
下記コマンド実行
export PATH=$PATH:~/bin
.bash_profileを開き,設定ファイル編集
$ vi ~/.bash_profile
.bash_profileに以下を追記
export PATH=$PATH:~/bin
サーバーで Laravel の準備
laravelのインストーラーを入れる。
$ cd ~
$ composer global require 'laravel/installer'
github上のコードをデプロイ!!!!!
$ git clone YOUR_REPOSITORY_URL project
$ cd project
$ composer update
$ composer install
DBの設定
$ cp .env.example .env
$ vi .env
env.の書き換えをする。
(viにご注意!!ここで時間を溶かされました。)
DB_CONNECTION=mysql
DB_HOST=データベースサーバー(例 mysql57.hoge.sakura.ne.jp )
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=ユーザ名
DB_PASSWORD=DB作成時に決めたパスワード
設定ができたら、マイグレーションを実行して、DBの設定を反映
$ php artisan migrate
$ php artisan key:generate
最後のJSやCSSが動くように、コマンドを打つ。
$ npm run build
ビルドファイルを GitHub に push できるよう
.gitignore を編集(/public/build 部分をコメントアウト)
# /public/build
このコマンドは、何度も利用する。
pullをして反映ができていたら成功
$ cd ~/project
$ git pull origin main
mainの部分は、他のブランチ(developなど)でも対応可能
試してみると良い。
まとめ
作業の手順が多いので、覚えておくことは難しいが、作業で何をしているのかを理解しておくことが重要だと思う。別のサーバーを利用したり、サーバーを構築したりなど他の手段も試していきたい。