CentOS7にlaravel install(nginx,php-fpm)

はじめに

PHP でcomposerをinstallしようとした際に使った手順まとめ

オフィシャルサイトに書いてあったコマンドをそのまんまコピペでinstallすることができる。

https://getcomposer.org/download/

今回はnginx, php-fpmで動作する環境を作る。

nginx install

yum install nginx -y

設定ファイル修正

cd /etc/nginx/conf.d
cp -p default.conf default.conf.org
vi default.conf
server {
  listen 80;
  server_name localhost;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
  }
}

/etc/nginx/nginx.conf に/etc/nginx/conf.d/default.conf をincludeする設定をするのを忘れずに。

自分はすっかり忘れて無駄な時間を費やしました。

上記設定が終わったら再起動する

systemctl restart nginx

php-fpmなどをinstall

yum -y --enablerepo=remi-php72,epel install php-fpm php-gd php-gmp php-mbstring php-mcrypt php-opcache php-pdo php-pear-MDB2-Driver-mysqli php-pecl-memcached php-pecl-msgpack php-xml php-devel php-gd

php-fpmの設定ファイルを修正

cd /etc/php-fpm.d/
cp -p www.conf www.conf.org
vi www.conf
[www]
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
[www]
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
systemctl restart php-fpm

Composerのinstallコマンド

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
php -r "unlink('composer-setup.php');"

環境変数追加

公式ドキュメントにあるように

https://laravel.com/docs/6.x

環境変数のPATHにcomposerのbinを追加する必要がある。

export PATH="~/.composer/vender/bin:$PATH";

最新版のinstall

composer create-project --prefer-dist laravel/laravel cms

version指定したinstall。現在、

v5.5.28がinstall される。

composer create-project --prefer-dist laravel/laravel cms "5.5.*"

 

権限変更

sudo chown -R nginx:nginx cms/storage
sudo chmod -R 775 cms/storage
sudo chown `whoami` /usr/share/nginx/html/cms/storage/logs

selinuxを無効化

sudo setenforce 0

 

確認

installに成功すると、以下のような画面が表示する

http://{GLOBAL IP}/cms/public/index.php