さくらインターネットのレンタルサーバーでLaravelを使用する為に必要な手順のまとめ。
0.環境及び前提条件
・ローカルの作業環境:Windows10(Apache、PHP、MySQLを導入済み)
・Laravelのメジャーバージョン:8
ブログは下記の前提条件でまとめる
・作成するプロジェクト名:demo
・さくらインターネットアカウント:sakura
・プロジェクトの保存先:home/sakura
・フロントエンドには、Vue3を使用
・CSSは、Tailwindcssを使用
1.Laravelのプロジェクト作成
プロジェクトを作成するフォルダに移動した後、下記の操作で新規プロジェクトを作成する。
composer create-project "laravel/Laravel" demo
このコマンドで、最新バージョンのLaravelをインストールし、プロジェクトが作成されます。
もし使用するバージョンを指定したい際は、下記のコマンドを叩きます。
composer create-project "laravel/Laravel=[バージョン]" demo
バージョンには、ワイルドカード(*)が使用可能なので、”laravel/Laravel=8.*”と指定すると、laravel8の最新版がインストールされます。
※カレントフォルダ上にプロジェクトを作成する場合は、プロジェクト名の箇所を”.”で指定する(この場合、カレントフォルダには何も入ってない状態で作成する)。
2.公開フォルダの不整合を解消する ※これ重要
さくらインターネットのレンタルサーバーでホームページを公開する際、/home/sakura/wwwにファイルを置く必要がある。でも、Laravelプロジェクト上の公開フォルダは、/home/sakura/demo/public。さくらインターネット上でLaravelプロジェクトを公開するには、この不整合を解消する必要がある。
解消方法は、以下の通り
1.public内の実体ファイルを、/home/sakura/www内に移動する
2.Laravelプロジェクトから、移動した実体ファイルにアクセスできるようにpublicのリンクを作成する
2-1.public内の実体ファイルを移動
Laravelプロジェクトの公開フォルダ(/home/sakura/demo/public)の中にある実体ファイルを、全てさくらインターネットの公開フォルダ(/home/sakura/www/demo)に移動する。
※注意※
移動に伴いindex.phpに記載されているパスが通らなくなるため、移動したパス先に合わせて修正をしておくこと。
2-2.publicのリンクを作成する
Laravelプロジェクトから、さくらインターネットの公開フォルダ(/home/sakura/www/demo)に置いた実体ファイルにアクセス出来るように、publicフォルダをpublicリンクに置き換える。
リンクの通し方は以下の通り
linuxの書式
ln -s [実体ファイル] [シンボリックリンク]
ln -s /home/sakura/www/demo /home/sakura/demo/public
Windowsの書式
mklink /D [シンボリックリンク] [実体ファイル]
mklink /D /home/sakura/demo/public /home/sakura/www/demo
※管理者モードでの実行が必要
2-3. storageへのリンクを作成する
Laravelでは、画像データなどは/storage/app/publicに保存します。
でも、そのままでは公開フォルダからアクセスできないので、public→storageのリンクを張ります。
php artisan storage:link
このコマンドを入力すると、publicフォルダ内にstorageへのシンボリックリンクを作成します。
こうすることで、下記のようにassetで画像データなどにアクセスする事が可能になる。
<img src="{{ asset("storage/[アクセスするファイル]") }}" >
3.動作確認
下記の初期画面が表示されるのを確認する。

4.設定等
4-1.環境変数
Laravelプロジェクトで使用する環境変数は、.envに記載する。
DB設定等、ローカルとサーバで接続情報が異なる場合があるので、トラブルを避けるために開発用とリリース用で.envファイルを別けて管理する。例)
- .env.prod ・・・ リリース用
- .env.local ・・・ 開発環境用
.envファイルの切り替え方
デフォルでは、.envを読み込んでしまうため、動作しているサーバーによって読み込むファイルを切り替えるようにする。
修正するコード:/bootstrap/app.php
/**
* 読み込むenvファイルを切り換える
*/
switch ($_SERVER['SERVER_NAME'] ?? 'localhost') {
case [サーバー1]:
$app->loadEnvironmentFrom('.env.prod');
break;
}
.htaccessで環境変数APP_ENVを指定して、Laravelが読み込む.envファイルを切り替えるやり方もあるが、、、.thaccessの編集は苦手なので上記コード対応を採用している。
日本設定
時間指定で処理するような制御を組む場合、日本時間で制御出来た方が都合が良かったりするので、日本設定をしておく。
修正するコード:/config/app.php
'timezone' => 'UTC' -------> 'timezone' => 'Asia/Tokyo'
'locale' => 'en' -------> 'locale' => 'jp'
Vue3を使えるようにする
アールエフェクトさんの記事を参考に導入すればOK!
npmの取説
関連情報としてまとめておく
>パッケージのバージョンを調べる
npm show [パッケージ名] versions
>インストール済みパッケージのバージョン一覧(1階層まで)を表示
npm list --depth=0
>インストール済みパッケージのアップデート確認
npm outdated
>パッケージのアップデートを一括で書き換えてくれるncuコマンドについて
>インストール
npm install -g npm-check-updates
>実行(インストール済みパッケージの最新バージョンが通知される)
ncu
>パッケージ更新の流れ:①package.jsonを更新し、②それを元にパッケージインストール
>①package.jsonの更新
ncu -u [パッケージ名] --- 記載したパッケージのみ更新
ncu -u ------------------ 全パッケージ更新
>②更新したpackage.josnで、パッケージを更新する
npm update もしくは、 npm install
Tailwindcssを使えるようにする
公式サイトの導入方法を参考に実施
5.ライブラリを追加
必要なものを随時追加する
LINE SDKの場合
composer require linecorp/line-bot-sdk
※LINE SDKを使用する場合、socketエクステンションがないと怒られるので有効化が必要になる
TwitterOAuthの場合
composer require abraham/twitteroauth
記事中の写真は写真ACのものを使用しています
写真素材|無料素材のフリーダウンロードサイト【写真AC】を写真ACでチェック!
コメント