さくらインターネットのレンタルサーバーでLaravelを使う
Laravelでコーディングを始めるときに、あれ?どうするんだっけ?と本を開いたり、Webを漁ったりと情報集めしていくのがメンドイのでまとめました。ということで、あくまで自分の覚書です!なので説明が多々省かれています!ただ、同じようなニーズをお持ちの方は少なからずいると思うので、適宜参考にしていただければ幸いです。
0.前提
開発環境は、windows10
作成するプロジェクトは、demo
さくらインターネットアカウントは、sakura
Laravelをプロジェクトを置くルートフォルダは、home/sakura
として、記載します。
フロントエンドには、Vue3を
CSSには、Tailwindcssを使用します。
1.Laravel環境構築
環境を構築するフォルダに移動した後、
composer create-project "laravel/Laravel" demo
このコマンドだと最新バージョンのLaravelがインストールされるが、Laravelのバージョンを指定したい場合は、
composer create-project "laravel/Laravel=[バージョン]" demo
とする。バージョンには、ワイルドカード(*)が使用可能
例えば、laravel/Laravel=5.*とか。
2.Laravelのルート(公開フォルダ)とさくらインターネットのルート(公開フォルダ)の不整合を解消する
さくらインターネットのルート(公開フォルダ)は、/home/sakura/www
一方、Laravelのルート(公開フォルダ)は、/home/sakura/demo/public
公開フォルダに不整合がある状態なので、エラーになる。
これを解消するため、以下の作業を実施する。
1. public内のファイルの移動
2. publicにリンクする
2-1. public内のファイルの移動
Laravelのルート(demo/public)に保存されている全ファイルを、さくらインターネットでのルート(www/demo/)に移動します。
ファイルの移動によりパスが変更になるため、index.phpに記載されているパスを移動先に変更しておく。
参考
2-2. publicにリンクする
ルートの不整合を解消するため、publicにリンクを通す。
linuxの書式
ln -s [実体ファイル] [シンボリックリンク]
ln -s /home/sakura/www/demo /home/sakura/demo/public
Windowsの書式
mklink /D [シンボリックリンク] [実体ファイル]
mklink /D c:\sakura\demo\public c:\sakura\www\demo
2-3. publicからstorageにリンクを通す
画像等の保存先のstorageフォルダにpublicからアクセス出来るようリンクを通します。こうすることで、asset('storage/◯◯◯')で画像データ等にアクセスが可能になります。
書式は、2-2のOSごとの書式で、シンボリックリンクが「sakura/www/demo/storage」、実体ファイルが「saukra/demo/storage/app/public/」になります。
3.動作確認
https://sakura.sakura.ne.jp/demo/
にアクセスしてLaravelの初期画面を確認する。
4.環境変数を編集
作成したプロジェクトのルートにある.envに記載されている環境変数を編集する。
.env → ローカルでのデバッグ用
.env.prod → リリース用
サーバーによって読み込むenvファイルを切り換える
通常は、.envファイルを読み込むため、bootstrap/app.phpに下記のコードを追加し動作しているサーバーによってenvファイルを読み替える。
また、.htaccessにサーバー環境変数APP_ENVを定義するやり方もあるけど、.htaccessはあまり触りたくないので、コードで切り換える。
/**
* 読み込むenvファイルを切り換える
*/
switch ($_SERVER['SERVER_NAME'] ?? 'localhost') {
case [サーバー1]:
$app->loadEnvironmentFrom('.env.prod');
break;
}
4.3rdパーティーのライブラリを追加する
必要な3rdパーティーのライブラリを追加していきます。基本的に使っているLINE SDKと、使ったことあるTwitterOAuthの例は以下の通り。
LINE SDKの場合
composer require linecorp/line-bot-sdk
TwitterOAuthの場合
composer require abraham/twitteroauth
LINE SDKを導入しようとするとsocketエクステンションがないよと怒られるので、こちらの方法でsocketエクステンションの有効化を行います。
5. 最低限の日本語化設定?
日本語化しようと調査したことはないので、日本語化についてはよく知らない。ここに記載しているのは最低限の日本語化する際の設定かも。
config/app.php
'timezone' => 'UTC' ------------> 'timezone' => 'Asia/Tokyo'
'locale' => 'en' ------------> 'locale' => 'jp'
6. Vue3を使えるようにする
基本的な流れは、ココを参照すればOK!!
モジュール更新に使用するnpmの取説
◯パッケージのバージョンを調べる
npm show [パッケージ名] versions
◯現在インストールしているパッケージのバージョン一覧(1階層まで)
npm list --depth=0
◯現在インストールしているパッケージに最新版が存在するか確認
npm outdated
◯ncuでインストールしているパッケージの最新版を調べる
ncuのインストールと実行
> npm install -g npm-check-updates
> ncu
実行すると^2.0.0 → ^3.0.5といった形で最新バージョンを知らせてくれる
◯ncuを活用して新しいバージョンに更新する
ncu -u [パッケージ名] ←---指定したパッケージのみ
ncu -u ←--------------------全パッケージ対象
これにより、package.jsonが更新されるので、
npm update もしくは npm install
実行する
7. Tailwindcssを使えるようにする
流れは、ココを参照する!
この記事が気に入ったらサポートをしてみませんか?