Laravel#6 Laravelプロジェクトをレンタルサーバーで展開してみる
Laravel歴1ヶ月程度の初心者ですが、自分の作成しているプロジェクトがある程度形になったのでサーバーに展開したみたいと思います。
小中学生のときにHP作成した経験からレンタルサーバーに馴染みがあるので、今回はさくらレンタルサーバーを使いました。
少しでも誰かのお役に立てればと存じます。
【目次】
先回りして伝えておきたいこと
既にローカルで作成したLaravelプロジェクトを展開した場合に、最も楽に再現しようと思えば以下の形になると思います。
①独自ドメインを先に取得しておく
②プロジェクトの中身をレンタルサーバー直下に置く。
(要はローカルでroot/ProjectFolder/Filesという構成だったのをroot/Filesという構成にするということです)
①について説明する前にユーザーがページにアクセスしたときの処理について触れます。
ユーザーがアクセスすると自動的にindexファイルを探して、それを起点に処理を行います。
Laravelの場合はproject/publicフォルダの中にindex.phpが存在します。
なのでhttp://example.com/をアクセスしたらpublicフォルダ内のindex.phpをまず参照したい訳です。
たださくらレンタルサーバーの仕様上、初期ドメインではindex.phpを置くフォルダを自由に選べません。
なのでブラウザでわざわざhttp://example.sakura.ne.jp/publicを開かないとトップページへアクセスできないのです。
したがって今回は上記①②を踏まえてプロジェクトを展開していきたいと思います。
独自ドメインの取得
先に独自ドメインを取得しておきましょう。自分はお名前.comで取得したのでその方法を書いておきます。
まず年額800円ほどでweber123.comというドメインを取得しました。
さくらレンタルサーバーの管理画面からドメインの追加画面を開き、ドメインを打ち込みます。
お名前.comの設定に移ります。
ネームサーバー設定を開き、ネームサーバー1と2を変更します。
さくらレンタルサーバー指定のネームドメインは以下の通りです。
ネームサーバー1:ns1.dns.ne.jp
ネームサーバー2:ns2.dns.ne.jp
環境設定
SSHクライアントの接続
今回はPoderosを選択しました。
お使いのPCで動作するものをインストールします。
Poderosa Terminal – プロフェッショナルのためのSSHクライアント
Poderosaの場合は起動後に左上の水色のアイコンをクリック。
その後[新しい接続]->[SSH]を選択。
すると以下のようにログイン情報を求められると思いますので、
仮登録完了のお知らせメールにあったFTPサーバー名、FTPアカウント、サーバパスワードを入力します。
ログインに成功すると以下のような画面になるはずです。
この状態で自分のホームディレクトリ「www」に位置しています。
Composerのインストール
以下のコマンドを実行してcomposerをインストールします。
curl -sS https://getcomposer.org/installer | php
こちらの画面のようになればダウンロード成功です。
以下のコマンドを実行してインストールします。
php composer.phar
このように表示されたら成功です。
FTPクライアントでファイル転送
次にローカルで開発したファイル群を転送します。
FTPクライアントソフトを使用するのですが、私は老舗のFFFTPを利用しました。
FFFTPの場合は立ち上げたあとに新規接続を開きます。
入力する情報はSSHを接続したときと同じです。
左カラムがローカルのファイルビューになっているので転送したいフォルダを選択。
「↑」のアイコンを押すと転送が始まります。
データベース周りの設定
XAMPPを使っていた場合はmyPHPAdminを使っていたと思います。
さくらレンタルサーバーも同じ感覚でmyPHPAdminを使用できるのは嬉しいですね。
大まかな流れとしては以下の通りです。
①レンタルサーバーの管理画面からデータベースの新規作成
②envファイルを編集して接続先データベースの変更
③既にmigrationファイルがある場合はmigrate
データベースの新規作成
管理画面からデータベースの設定を開いて以下のようにデータベースを新規作成します。
設定するのはパスワードだけになるかと思いますが、後々アクセスできなくなるので必ず控えておきましょう。
envファイルの編集
さくらレンタルサーバーにはファイルマネージャーが付属しているので、そちらで編集します。
展開したプロジェクトのルートフォルダにある.envファイルを以下のように変更して保存。
DB_CONNECTION=mysql DB_HOST={mysqlXXXX}.db.sakura.ne.jp DB_PORT=3306 DB_DATABASE=(アカウント名)_(データベース名) DB_USERNAME={アカウント名} DB_PASSWORD={パスワード}
アカウント名は〇〇.sakura.ne.jpから.sakura.ne.jpを除いたものになります。
DB_HOSTはmyPHPAdminにログインしたときに一番上に表示されているはずです。