Laravelその他技術系
更新日 : 2020年9月1日
投稿日 : 2020年4月27日

Laravelで開発したシステムをGitHubを使ってさくらのレンタルサーバーで公開する手順

Laravelで開発したシステムをGitHubを使ってさくらのレンタルサーバーで公開する手順の画像

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
私はPHPエンジニアとして7年~の経験があります。WordPressは2年半~の経験があります。その他、jQuery、HTML、CSSも使用します。
ここでは主に過去に納品した案件や自サイト運営(エンジニア婦人ノート)で遭遇したことについて書いています。

先日、Laravelで開発した「WebHome」と「みんなのきょうのごはん」をリリースしました。
自分だけでフレームワークを使ったシステムを公開するのは初めてだったため、色々調べてのリリースとなりました。

今回は「LaravelをGitHubを使用してさくらのレンタルサーバーで公開する」手順を書いていきます。

使用するツール

  • GitHub
  • Terminal
  • さくらのコントロールパネル

※ここではデータベースを使用するシステムを使っていないため、データベースの公開手順は含みません。

GitHubにLaravelソースをpushする

初めからGitHubを使って開発し、masterブランチに全データあるよ!という方は問題ありません。

これがない場合、まずはGitHubにソースを登録しておきます。

参考

GitHubそのものの登録方法やソースの登録方法、その他使い方は検索するとたくさん出てきます。

など。

さくらのサーバーにSSH接続する

Tera Term等を使って、さくらのサーバーにログインします。好きなものでいいと思います。

TeraTermの接続初期画面

SSHで接続します(パスワードはFTP接続のパスワードです。)

初期は自分の初期場所にいると思いますが、(/home/アカウント名)念のため現在地を確認します。

pwd

「/home/アカウント名」になっていない場合は移動します。
移動したらgit cloneコマンドを実行します。

べたPHPの時は公開領域(さくらの場合はwwwの中)に設置しますが、フレームワークの場合はwwwの中にすべてを設置しません。

git clone https://GitHubアカウントの指定URL

GitHubアカウントのURLは公開したいソースの「Clone or Download」をクリックすると該当のURL(またはSSH)があります。

GitHubのソース取得URLの場所

フォルダ名はGitHubに登録しているリポジトリ名称になります。公開時に不都合があれば名称を変更しておきます。

vendorディレクトリを構築する

LaravelではvendorソースはGit管理外にすることが通常です。理由は重たいから。

そのため、公開サーバーにGitHubから入れた後、vendorディレクトリを構築します。

レンタルサーバーにComposerをインストールする

Composerを使っていれていきます。
プロジェクトディレクトリへ移動。
その後、composerインストールを実行します。

cd Laravelのプロジェクトディレクトリ
curl -sS https://getcomposer.org/installer | php
php composer.phar
php composer.phar install

これでvendorディレクトリが入ります。

.envファイルを生成する

重要な設定が含まれる.envファイルはGit管理をしません(している方は即刻削除してください。危険)。

そのため、.envファイルを手動で生成します。

開発で使用していたデータを、公開用に設定し直してアップロードです。

Terminal開いているので、vimで作ってもいいですね。場所は開発と同じ、Laravelディレクトリの直下です。

公開領域にpublicフォルダの中身を移動する

公開領域に必要なファイルを移動します。
Laravelのpublicディレクトリの中身を、公開領域に移動します。

URLが
https://xxxx.xxx/Laravelディレクトリ名/
になります。
URL直下に公開したい場合はディレクトリ名は不要です。または.htaccessを修正かな。

cd /home/アカウント名/www ※さくらの場合
mkdir 公開ディレクトリ名
cp -r /home/アカウント名/Laravelプロジェクト名/public/*/. /home/アカウント名/www/公開ディレクトリ名

隠しファイルのコピーを忘れずに!(.htaccessがコピーできていなくてはまった人)

index.phpのパスを修正

コピーしたindex.phpのパスを修正します。

require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';

このままだと、ファイルがなくてrequireできません。エラーになります。
これを「/home/アカウント名/Laravelプロジェクト名」の場所になるように修正します。

cd /home/アカウント名/www/公開ディレクトリ名 ※さくらの場合
vim index.php

「I」キーを押して追加編集モード

require __DIR__.'/../../Laravelプロジェクト名/vendor/autoload.php';
$app = require_once __DIR__.'/../../Laravelプロジェクト名/bootstrap/app.php';

「ESC」キーを押して編集を終了して、

:wq

再度vimで開いて、修正した通りになっていればOKです。

アクセスしてみる

正常に表示されれば完了です!

Laravelで公開できた(WebHome)

まとめ

  1. ソースをGitHubにあげておく
  2. 公開サーバーのhome(公開領域外)にgit cloneする
  3. composerを入れてvendorを再構築する
  4. .envを作る
  5. (データベースがある場合はテーブルの作成など)
  6. publicディレクトリを公開領域のディレクトリへ移動、隠しファイルを忘れずに(/www/URLにしたいディレクトリ名称/)
  7. index.phpのパスを修正

参考

Laravelをさくらインターネットのレンタルサーバにデプロイ・アップロードする方法をまとめてみた

以上です。
参考になれば幸いです(‘ω’)ノ