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になっていた。
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日。実際のサイト作りはまた今度書きます。