Self-Curation

新卒社会人で営業マンになりました

Laravel#6 Laravelプロジェクトをレンタルサーバーで展開してみる

f:id:scuration:20200802232227p:plain

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というドメインを取得しました。
さくらレンタルサーバーの管理画面からドメインの追加画面を開き、ドメインを打ち込みます。
f:id:scuration:20200823130427p:plain


f:id:scuration:20200823130549p:plain

お名前.comの設定に移ります。
ネームサーバー設定を開き、ネームサーバー1と2を変更します。
さくらレンタルサーバー指定のネームドメインは以下の通りです。

ネームサーバー1:ns1.dns.ne.jp
ネームサーバー2:ns2.dns.ne.jp

f:id:scuration:20200823131105p:plain

環境設定

SSHクライアントの接続

今回はPoderosを選択しました。
お使いのPCで動作するものをインストールします。
Poderosa Terminal – プロフェッショナルのためのSSHクライアント


Poderosaの場合は起動後に左上の水色のアイコンをクリック。
その後[新しい接続]->[SSH]を選択。


すると以下のようにログイン情報を求められると思いますので、
仮登録完了のお知らせメールにあったFTPサーバー名FTPアカウントサーバパスワードを入力します。


f:id:scuration:20200823094206p:plain


ログインに成功すると以下のような画面になるはずです。
この状態で自分のホームディレクトリ「www」に位置しています。

f:id:scuration:20200823094310p:plain

Composerのインストール

以下のコマンドを実行してcomposerをインストールします。

curl -sS https://getcomposer.org/installer | php


こちらの画面のようになればダウンロード成功です。

f:id:scuration:20200823095424p:plain


以下のコマンドを実行してインストールします。

php composer.phar

このように表示されたら成功です。
f:id:scuration:20200823110239p:plain

FTPクライアントでファイル転送

次にローカルで開発したファイル群を転送します。

FTPクライアントソフトを使用するのですが、私は老舗のFFFTPを利用しました。


FFFTPの場合は立ち上げたあとに新規接続を開きます。
入力する情報はSSHを接続したときと同じです。
f:id:scuration:20200823103551p:plain


左カラムがローカルのファイルビューになっているので転送したいフォルダを選択。
「↑」のアイコンを押すと転送が始まります。
f:id:scuration:20200823104230p:plain

データベース周りの設定

XAMPPを使っていた場合はmyPHPAdminを使っていたと思います。
さくらレンタルサーバーも同じ感覚でmyPHPAdminを使用できるのは嬉しいですね。

大まかな流れとしては以下の通りです。


レンタルサーバーの管理画面からデータベースの新規作成
②envファイルを編集して接続先データベースの変更
③既にmigrationファイルがある場合はmigrate

データベースの新規作成

管理画面からデータベースの設定を開いて以下のようにデータベースを新規作成します。
設定するのはパスワードだけになるかと思いますが、後々アクセスできなくなるので必ず控えておきましょう。
f:id:scuration:20200823113851p:plain

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にログインしたときに一番上に表示されているはずです。

migrate

ローカルで作成したデータベースを反映したい場合も簡単です。

cdコマンドでアプリのディレクトリに移動して「php artisan migrate」を実行するだけです。

f:id:scuration:20200823125154p:plain

WEB公開フォルダの変更

最後にWEB公開フォルダをindex.phpの入っているpublicフォルダに変更します。

さくらレンタルサーバーの管理画面からドメイン/SSL→対象ドメインの設定を開く。

Web公開フォルダを以下のように変更して保存します。
f:id:scuration:20200823131306p:plain

表示確認

設定した独自ドメインhttp://weber123.com/を開くと以下のようにちゃんとトップページが表示されます。

f:id:scuration:20200823135049p:plain


お疲れ様でした!