Laravelアプリをロリポップで動かしたメモ
記事の概要
Homesteadで開発していたLaravelのアプリをレンタルサーバのロリポップで動かした時の自分なりの作業記録になります。
*アプリ概要
-Bitbucketプライベートリポジトリでバージョン管理
-Laravel5.8
あてにしていたサーバのphpバージョンが低すぎた
アプリが完成して、いざアップしよう!と思っていたところ、当初の目的にしていたレンタルサーバhetemlのphpバージョンが低すぎたため諦めざるを得ない状況に。(このためにLaravel5.8にしたのに…!)
途方にくれましたが、そういえばロリポップのアカウントを放置していて(ライトプランでメールアドレスだけズルズル使っていた)そこでもLaravelが設置できると聞き検討してみる事にしました
ロリポおじさん復活していた
ロリポップサーバですが、ちょっと見ない間にプランが色々増えてて
上位プランはマルチドメイン対応でデータベースが無限に作れたり、さらにはクラウドなどもやってて驚きました。少し前はあったチカッパというブランドもロリポップに吸収されて上位とされるhetemlよりもコスパが良くなっているようです。
ロリポおじさんもいつの間にか復活してたんですね…
使用していたのはライトプランでしたがSSHが使えない。という事でコスパの良さそうなハイスピードプランを選択しました。(なぜかスタンダードと値段が変わらない)入金後、即反映されました。
SSHで接続
git cloneでプロジェクトをもってきたいので設定します。
$ ssh lolipop
まずこれでログインできるように。参考記事
BitbucketのSSH鍵に関してはこの記事
参考にさせていただきました。
接続確認コマンド
$ ssh -T bitbucket.org
どちらの接続も確認出来たので、Laravelをインストールするための下準備をしていきます。
composerインストールとパスを通す作業
ロリポップにsshログイン後、コンポーザーをインストールする
参考記事
独自ドメイン設定の前提なので、任意のディレクトリを作りそこで下記を実行しました。
web直下でも良かったのかも?そもそもcomposerも最初から入っていた?
記事では/usr/local/php/7.3/bin/phpでしたが、サーバ設定が7.4になっていましたので
$ /usr/local/php/7.4/bin/php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
$ export PATH="$PATH:/usr/local/php/7.4/bin"
php -v も composer -v も表示されるようになりました。
いよいよ、自分のプロジェクトをcloneします
$ git clone git@bitbucket.org:xxxxxxxxxx.git
clone出来たら
cd/リポジトリ名
でLaravelのルートに入り、
$ composer install
完了!今の所順調です
$ chmod -R 777 storage
$ chmod -R 775 bootstrap/cache
特定フォルダのパーミッション変更。
.envファイルを変更。
$ vi .env
dbなどの設定箇所を十分に確認して保存したら
$ php artisan key:generate
Application key set successfully.
最後に
$ php artisan migrate
これでdb接続の確認できればひとまず完了!
$ php artisan storage:link
シンボリックリンクを貼ります
参考記事
コントロールパネルで独自ドメイン設定
あとはロリポップのコントロールパネルから取っておいた独自ドメインの設定をするだけですが少し迷ったのでメモしておきます
例としてpwdコマンドで出した下記のフォルダを公開フォルダにしたい時、どこのパスなのか?という問題です
/home/users/2/サーバ名/web/hogehoge/laravel/public
ズバリ、
/home/users/2/サーバ名/web/
以下の部分です。上の例でいうと
hogehoge/laravel/public
がコントロールパネルで指定する公開フォルダです。FTPで入れる領域以下という事ですね。
これで無事に公開されました。
メンテナンスモードにしておく
動作確認できましたが、まだコンテンツが入っていないのでメンテナンスモードにします。
php artisan down --message=“本公開までしばらくお待ちください”
ひとまず、これにて完了。
追記:ハイスピードプランについて
画像をアップしたけど画像が全く表示されないので色々やってみたのですがうまくいかず、サポートに問い合わせ。
ご質問いただいた内容について、ハイスピードプランの
Litespeedサーバーでは、セキュリティの仕様としてドキュメントルート外の
ファイルに対するシンボリックリンクに対して直接アクセスができないようになっています。
ご希望に添えず誠に申し訳ございませんが、
シンボリックリンクするのではなくハードリンクしていただく方法をご検討いただけますようお願いいたします。
ということで、独自ドメインでLaravelアプリを使いたい方はシンボリックリンク、storage:linkが効かないのでご注意ください。
Discussion