Laravel5 LinuxMint ローカル環境でハマったのでメモ

Laravel5 LinuxMint ローカル環境でハマったのでメモ
         

この記事は1年以上前に更新されたものです。内容が古い可能性がありますのでご注意ください。

開発環境

  • LinuxMint17.2
  • apache2
  • php 5.5.9
  • Laravel 5.1.35(LTS)

現象

routes.phpを編集しても、404エラーとなる。

修正箇所

apacheモジュールの有効化確認

apacheモジュールの「mod_rewrite」が有効になっているか。
.htaccessにて、mod_rewriteを使用しているため。

参考:Ubuntu版Apache2でmod_rewriteを有効にする

参考サイトに書いてある通りコマンド実行。

cat /etc/apache2/mods-available/rewrite.load

上記を実行すると以下が返ってくる。

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

返ってきたら使えるので、有効にするコマンド実行。

sudo a2enmod rewrite

実行すると以下のようなメッセージが出て、再起動を促される。

Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart

言われるがまま再起動しましょう。

sudo service apache2 restart

apache設定確認

LaravelディレクトリのAllowOverrideがNoneになっていないか。
Noneの場合、.htaccessが禁止(無効化?)される。

これこそ環境によって異なりそうですが、私の環境の場合は以下にありました。
/etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

公開ディレクトリ以下、見事にNone・・・
NoneをAllに書き換えてから、apacheを再起動。

これで解決しました・・・。