この記事では以下の環境で行ったものです。
・OS:Windows10 Pro
・IDE(統合開発環境):Cloud9
・Cloud9に入っているPHPバージョン:7.4.30
・レンタルサーバー:Conoha WING
・Conohaに入っているPHPバージョン:8.1.12
・バージョン管理システム:GitHub
ここでは、「Cloud9(ローカル環境)で作成したLaravelプログラムがGitHubと繋がっている」という前提で、そのプログラムをCloneし、Conoha WINGのサーバーを使って、本番環境に公開(デプロイ)する方法をお伝えします。
<方針>
Ⅰ. Conoha WINGでサーバーを作成し、Cloud9からサーバーへログイン
Ⅱ. GithubのプログラムをClone
Ⅲ. 本番環境の設定
Ⅳ. 本番データの投入
Ⅴ. 動作確認、本番環境の更新
長編になるため、方針ごとで記事を分けております。
今回は、「Ⅲ. 本番環境の設定」に関する記事です。
前編Ⅰ、Ⅱの記事は下記URLからご覧ください。
「Ⅰ. Conoha WINGでサーバーを作成し、Cloud9からサーバーへログイン」
https://qiita.com/kamitch/items/87030f98e5deb49badf9
「Ⅱ. GithubのプログラムをClone」
https://qiita.com/kamitch/items/a0c1198f65f8c8e837ee
Ⅲ. 本番環境の設定
・前編の記事で、GitHubにあるプログラムをクローンで取得しましたが、データベースはまだ取得できていません。ですので、ここでデータベースを作成しましょう。
①データベースの作成
・Conoha WINGの管理画面 → データベース → +データベースの順にクリック
次に、データベースを利用するユーザーを作成します。
・ユーザー → +ユーザーの順にクリックし、ユーザー名、パスワード、接続先データベースを入力し、最後に保存ボタンをクリック
これで、作成したデータベースとユーザーがリンクしました。実際にphpMyAdminにあるか確認しましょう。
・先ほど決めたユーザー名 → phpMyAdminのリンクをクリック
・phpMyAdminのログイン画面に遷移するので、先ほど決めたユーザー名・パスワードを入力しましょう。
・下図に示す部分に、先ほど決めたデータベース名があればOKです。
これで、クローンしたプログラム(Laravelプロジェクト)用のデータベースを作成しました。
ただ、この作業はデータベースの箱を作っただけにすぎず、クローンしたプログラムと紐付けできていません。
その紐付けの作業を次でやっていきましょう。
②.envファイルの修正
.envファイルは、Laravelプロジェクトのデータベースの設定(どのデータベースを紐付けるかの設定)などを行うファイルです。
Conohaのファイルマネージャーからファイルを選択して直接編集することもできますが、今回はCloud9のターミナルを使ってサーバーに入っているファイルを編集していきましょう。
・Ⅰで説明したsshコマンド
でサーバーにログインし、cdコマンド
でクローン先のフォルダに移動しましょう。
・cp .env.example .env
で、.envを.env.exampleからコピーしましょう。
これで、中身が空っぽだった.envファイルが、.env.exampleの内容に書き換えられました。
・次に、.envファイルのDBの接続情報を修正しましょう。
ターミナルでvim .env
を入力すると、.envファイルの中身が表示されます。
DB_XXXXについて修正してください。
・修正が完了したら、Escキーを押した後、:wq
でエンターを押すと.envファイルから抜けて、普段のターミナル画面に戻ります。
分からない方は、下記をご覧ください。
https://kaworu.jpn.org/vim/vim%E3%82%92%E7%B5%82%E4%BA%86%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
これにて、データベースとLaravelプロジェクトがリンクすることができました!
③必要なライブラリのインストール
・次は、php関連のライブラリをインストールしましょう。
ターミナルのフォルダ先は、引き続きクローン先のフォルダにしておき、
~/composer.phar install
を入力してください。
これで、Laravelプロジェクトで利用される各種php系のモジュールがvenderフォルダにまとめてインストールされます。
④アプリケーションキーの初期化
最後に、php artisan key:generate
を入力しましょう。これを忘れると動作しないです。
あとがき
いかがでしたしょうか。
今回は、「本番環境の設定」する方法をお伝えさせていただきました。
現時点ではまだデータベースのテーブルが空っぽで、クローン元のテーブル情報を反映させる必要があります。
次回は、「本番データの投入」ということでデータベースの編集を行っていきたいと思います。
できるだけ細かく書いたつもりですが、分からないことなどありましたら、ぜひコメントなどお願いいたします。