CentOS7にLaravelをインストール

CentOS7.6にLaravel5.8をインストールする手順。

前提

  • OSはCentOS7.6
  • PHPと必要なモジュールはインストール済み
  • WebサーバはApache

Composerのインストール

LaravelはComposer経由でインストールするため、まずComposerを入れておく。まず、curlでcomposer.pharを持ってくる。

$ curl -sS https://getcomposer.org/installer | php

どこからでも実行できるよう、composer.pharをパスの通っているディレクトリに移動する。

# mv composer.phar /usr/local/bin/composer

Laravelのインストール

インストールしたいディレクトリに移動して、Composer経由でLaravelをインストールする。create-projectでLaravelのインストールからプロジェクトの作成まで一度にやってくれる。プロジェクト名は好きに設定してOK。

composer create-project --prefer-dist laravel/laravel [プロジェクト名]

バージョンを指定することも可能だが、今回は最新で問題ないので指定していない。

インストール後の設定

Laravelの設定

[プロジェクト名]/configディレクトリに各種設定ファイルがあるので変更する。データベースやメールサーバの設定などできるが、一旦はapp.phpの下記を変更すればいいだろう。

'timezone' => 'Asia/Tokyo'
, 'locale' => 'ja'
, 'fallback_locale' => 'ja'
, 'faker_locale' => 'ja_JP',

パーミッションの設定

Webサーバから書き込み可能にするため、 storageとbootstrap/cacheディレクトリのパーミッションを変更する。

chmod -R 777 [プロジェクト名までのパス]/storage
chmod -R 777 [プロジェクト名までのパス]/bootstrap/cache

ドキュメントルートの設定

Apacheのhttpd.confを開いて、ルートディレクトリを[プロジェクト名]配下のpublicディレクトリに変更する。

[プロジェクト名]/public

設定したらサーバを再起動。

systemctl restart httpd

ブラウザでアクセスしてLaravelの画面が表示されていればOK。

補足

トップページは表示されるが、それ以外のページは404 Not Foundになる場合

トップページ([プロジェクト名]/public)にはアクセスできるが、それ以外のページは404 Not Foundになる場合、おそらく.htaccessが効いていない。まず、Apacheのconfファイルを開き、AllowOverrideがnoneになっていないか確認する。

<Directory "[ルートディレクトリ]"> #今回のルートディレクトリはpublicまでのパス
AllowOverride All # Noneだと.htaccessが無効
</Directory>

問題なければ、Apacheのmod_rewriteが有効になっているか確認してみる。

コメントを残す

メールアドレスが公開されることはありません。