CentOS7.2へのLaravel5.4インストール

CentOS7.2へのLaravel5.4インストールをやってみました。

 

自分のやり方がもしかしたらおかしかったのかもしれないが、いろいろとつまづいたので、備忘録に残します。

 

このやり方も、もしかしたら間違っているかもしれないので、もし変なところがあったら指摘コメントをいただけると幸いです。

 

●まず、CentOSを最小構成でインストールしておく。

 ※環境はVMWare Player上にしました。

 

 

 

SELinuxをOFF

※これやっとかないと、インストール後のブラウザアクセスで500エラーになります。apacheのエラーログに

PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

PHP Fatal error:  Unknown: Failed opening required '/home/laravel/project/public/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0

が出ます。

 

・とりあえずOFF
setenforce 0

・リブート後も反映されるように設定ファイル編集しておく。
vi /etc/selinux/config
disabledに変更し保存
SELINUX=disabled

 

 

●FirewalldをOFF
・とりあえず停止
systemctl stop firewalld

自動起動設定を停止しておく。
systemctl disable firewalld

 

 


●PHP7インストール
通常だとCentOS7.2はPHP5.4が標準インストールされるが、laravel5.4はPHP5.6以上が必要。PHP7をインストールするために、リポジトリを追加する。


yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

・PHP7をインストール。
yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-xml
※この時同時にApacheもインストールされるらしい。

 


●composerインストール
composerを取得し、PATHが通る場所に置いておく。ここでは/usr/localbin。

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

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

 

 

 

●Laravelインストール

どうもzipが必要らしい。入れておく。
yum install zip unzip

インストールはlaravel用に準備したアカウントで行う。ここではlaravel。
useradd laravel
passwd laravel

apacheがのぞけるようにパーミッションを変更。
chmod 777 /home/laravel


ここでlaravelユーザでログインしなおす

プロジェクトディレクトリを作成し、そこにlaravelをインストール。
mkdir /home/laravel/project
composer create-project laravel/laravel:5.4 /home/laravel/project

 

 


●日本語化
なんだかわからないけど日本語化。

cd /home/laravel/project

composer require laravel-ja/comja5:~1

./vendor/bin/comja5 -f
./vendor/bin/comja5 -a


composer global require laravel-ja/comja5:~1

※ どうも、PHPのソースコメントが日本語化されるっぽい。

 

 

 

デバッグモードがtrueの時にコンパイル済みコアファイル削除
php artisan optimize

※プロジェクトディレクトリの.envファイルの中にあるAPP_DEBUGがデバッグモード。install直後はtrueになっていた。

 

 

 

Apache用にパーミッション変更

chmod -R a+w storage/*
chmod -R a+w bootstrap/cache

 

 

 

Apacheの設定
・ドキュメントルート変更
vi /etc/httpd/conf/httpd

DocumentRoot "/home/laravel/project/public"
<Directory "/home/laravel/project/public">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>


httpdを再起動
systemctl restart httpd

 

・ブラウザでアクセスしてみたら、やっと出た。ここまで来るのにまる1日。実際のサイト作りはまた今度書きます。

 

 

f:id:ponkotsu_engine:20170211164812p:plain