【Laravel】テストサイト構築手順(ITreat案件)
1.【準備】ITreat側のテストサイトの確認
1-1.テストサイト情報を確認する。
1.ITreatさんから共有された「各種接続情報・・・①」のファイルより、テストサイト情報を確認する。
・GitHubリポジトリにアクセスできるか。
・開発環境URLにアクセスして、テストサイトが表示できるか。ログインできるか。
・開発環境サーバ接続情報の、秘密鍵のURLにアクセスできるか。
2.アクセスできない場合は、ITreatさんに自分のメールアドレスを伝えて招待してもらう。
<各種接続情報>

1-2.必要なデータをDLする
1.GitHubリポジトリにアクセスして、devブランチのデータをDLする。
2.開発環境サーバ接続情報より、秘密鍵をDLする。
・秘密鍵のファイル(id_rsa_ada_linkstory)を.sshフォルダに移動する。
・権限を600(または400)に変更しておく。ターミナルで以下コマンドを入力。
cd ~/.ssh
chmod 600 id_rsa_ada_linkstory
1-3.テストサイトにSSH接続してバージョン情報を確認する
1.接続設定をする
・.sshフォルダのconfigファイルを編集する(なければ作成する)
Host ada_dev //"Host 任意の名称"
HostName 52.196.46.64 //①に記載
User ubuntu //①に記載
Port 22
IdentityFile ~/.ssh/id_rsa_ada_linkstory
2.ターミナルを開き、「ssh ada_dev」と入力。
・パスワードを求められたら、秘密鍵のPassphraseを入力。
※表示されないが入力されているので注意!
・初回は接続して大丈夫か聞かれることがあるので、指示にしたがって「Yes」や「Y」と入力。
3.次のコマンドで、PHP、node.js、composerのバージョンを確認して控えておく。
PHP: php -v
node.js: node -v
Composer: composer -V
1-4.「.env」ファイルの記述を確認
1.ターミナル上で確認する場合
・ssh接続した状態で、「.env」ファイルのあるフォルダへ移動
cd 【ドキュメントルート】 //①に記載
(例:cd /var/www/html/ada_dental_checkup_dev/)
・次のコマンドでファイルの中身が表示されるので、コピーしておく。
cat .env
2.DLする場合
・ssh接続していない状態で、以下のコマンドを入力。DownloadsフォルダにファイルがDLされる。
scp 【ユーザー名】@【サーバーアドレス】:【ドキュメントルート】/.env ~/Downloads/
例)scp ada_dev_2:/var/www/html/ada_dental_checkup_linkstory/.env ~/Downloads/
2.【環境構築】LinkStory側のテストサイトを作成
2-1.cPanelにログインして、ドメイン・DBを作成する。
1.vnのテストサイトを使用、ログインする。
https://test2.linkstory.co.jp:2083/
user:vnclientstests
password:dWEpEmU-d#fW9vR5
2.新しいドメインを作成。
・「Domains」メニューから任意のサブドメ名でドメインを作成(A)
・ログイン画面がサブドメ(①でログインURLを確認)の場合は、(A)のサブドメを作成する(B)
※サブドメの更にサブドメ
・Bのドキュメントルートを、Aと同じ場所にする。
3.新しいDBを作成する。
・「Manage My Databases」メニューから、いつも通りのやり方でOK
・データベース名、ユーザー名、パスワードを控えておく。
2-2.データをUPする。
1.作成したドメインのフォルダに、FTPでアクセスする。
2.(1-2)でDLしたデータをすべてフォルダにUPする。(隠しファイルもすべて)
2-3.[.env]ファイルを編集する。
1.(2-2)のフォルダの、[.env]ファイルを編集する。(なければ作成)
2.ファイルの記述を、いったんすべて(1-4)で取得した内容に変更。
3. URL、DBの値をテストサイトのものに書き換える

2-4.(1-3)でチェックしたバージョン情報にテストサイトを合わせる。
1.phpのバージョンを合わせる
・cPanelの「MultiPHP Manager」メニューを開く
・作成したドメインにチェックを入れ「PHP Version」を選択して「Apply」ボタンを押す。

2.node.jsのバージョンを合わせる(バージョンが「22.18.0」の場合)
・ターミナルを開き次のコマンドを入力。
nvm install 22.18.0
nvm use 22.18.0
・「.nvmrc」ファイルを作成しルートに配置。使用したいバージョンを「22.18.0」と記述。

↓↓

3.composerのバージョンを合わせる。
・composerがインストールされているか確認する
ターミナルを開き次のコマンドを入力。
find /home -type f \( -name "composer" -o -name "composer.phar" \)

①見つかった場合。
・composerのバージョンを確認
ea-php84 /home/vnclientstests/bin/composer.phar -V
※「84」はPHPのバージョン。
※「/home/vnclientstests/bin/」は上記でcomposerが設置されているフォルダ名。
・バージョンが違う場合は、バージョン指定してアップデートorダウングレード
ea-php84 /home/vnclientstests/bin/composer.phar self-update 2.7.7
②無さそうな場合
・直接サイト(https://getcomposer.org/download/)からバージョンを指定してDLする。

・適当なフォルダにアップロードする

・実行の権限を追加する
chmod +x composer.phar
2-5.node_modulesをインストールする。
1.cPanelからターミナルを開き、作成したドメインのフォルダに移動する。
・cd public_html/[フォルダ名】
2.コマンド「npm install」を入力する。
・Package.jsonを見て、node.modulesの中身がインストールされる
・しばらく時間がかかる場合あり。エラーが出た場合、個別に対応。
・これまで出たエラーはこちら。
3.コマンド「npm run dev」を入力してビルドする。
2-6.composerからライブラリをインストールする。
1.cPanelからターミナルを開き、作成したドメインのフォルダに移動する。
・cd public_html/[フォルダ名】
2.次のコマンドを入力する。
ea-php84 /home/vnclientstests/bin/composer.phar install
・「84」はPHPのバージョン。
・「/home/vnclientstests/bin/」は上記でcomposerを設置したフォルダ名。
・しばらく時間がかかる場合あり。エラーが出た場合、個別に対応。
・これまで出たエラーはこちら。
2-7.DBをマイグレーションする。
1.cPanelからターミナルを開き、作成したドメインのフォルダに移動する。
・cd public_html/[フォルダ名】
2.暗号キーを作り直す。
・php artisan key:generate.
3.DBにテーブルやレコードを作成する
・php artisan migrate
・しばらく時間がかかる場合あり。エラーが出た場合、個別に対応。
・これまで出たエラーはこちら。
2-8.「.htaccess」ファイルに記述を追加。
・publicフォルダがドメイン直下になるよう変更。
・ついでにリダイレクト設定もする
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On RewriteRule ^(.*)$ public/$1 [L]
2-9.テストサイトのURLにアクセスして表示を確認する
・Itreat側のテストサイトと同様に表示されればOK。
・これまで出たエラーはこちら。