前提とする環境
ubuntu 18.04
php 7.2
Laravel 5.8
mysql 5.7.25
apache 2.4.29
本番環境ですること
サーバー自体の基本設定(言語・時間設定等)は完了している前提で、自分がLaravelのプロジェクトをローカル環境と同様に動かすために必要だったことは以下になります。
- 各ミドルウェアの設定
- .envの作成
- vendor配下のインストール
- DB設定
- laravelプロジェクト内の権限の追加
各ミドルウェアの設定
ApacheやMySQLなどプロジェクトに必要な設定は当然する必要があります。
この部分は本記事では詳細割愛しますが、以前書いた記事で説明していますのでそちらを参照ください。
【入門】ubuntu18.04にLaravel5.8のプロジェクト作成する手順
.envの作成
.envは各環境に依存する設定を記述するファイルです。
laravelプロジェクトにおいてはデフォルトで.gitignoreに登録されているため、新しい環境にプロジェクトを持っていったら毎回作成する必要があります。
プロジェクト直下に置いてある.env.exampleをコピーして、.envを作成するのがおすすめです。
例えばlaravel+mysqlのシンプル構成なら、下記のように変更しておけば問題ないでしょう。
APP_NAME=example ←自分のプロジェクト名を入れましょう
APP_ENV=production ←本番環境ならproductionに変更しましょう
APP_KEY= ←後ほど説明します
APP_DEBUG=false ←本番環境ならfalseにしましょう trueだと画面上にエラーが表示されます
APP_URL=http://hogehoge.com ←URLを入れましょう
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 ←DBサーバーが別れている場合はDBサーバーのIPを入れましょう
DB_PORT=3306
DB_DATABASE=hoge ←このプロジェクトでアクセスするデータベースです
DB_USERNAME=fugauser ←このプロジェクトのDBアクセスで使うユーザーです
DB_PASSWORD=passwordhoge ←このプロジェクトのDBアクセスで使うパスワードです
composerでlaravelプロジェクトを直接作成した場合はAPP_KEYは最初から作成されているのですが、.env.exampleからコピーして手動で作成した場合は、以下のコマンドでアプリケーションキーを作成します。コマンド実行が完了すれば自動的に.envにキーが入力されます。
php artisan key:generate
vendor配下のインストール
.envと同様に.gitignoreに設定されているため、vendorディレクトリ(laravel本体が置いてある)もインストールする必要があります。
以下のコマンドを実行すればvendor以下にlaravelがインストールされます。
composer install
DB設定
他のサイトなどをみた限りでは、データベース作成などの必要はなさそうですが、自分の場合マイグレーション実行とは別にデータベース作成が必要でした。結果的に行ったこと一覧は以下になります。
- ユーザー作成
- データベース作成
- マイグレーション実行(php artisan migrate)
laravelプロジェクト内の権限の追加
自分の場合Laravelプロジェクトで何箇所か権限がないためFatal errorが出ました。
以下のページを参考に、いくつかディレクトリに権限を付与することでエラーが解消されました。