はじめに
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する設定をするのを忘れずに。
自分はすっかり忘れて無駄な時間を費やしました。
テスト用に作った環境で /etc/nginx/conf.d/default.conf をいくらいじっても何も変わらなくて
よくよく見たら /etc/nginx/nginx.conf からincludeを漏れてた。。失われた時間を思うと泣ける。— Sumito.Tsukada (@19840209) November 26, 2019
上記設定が終わったら再起動する
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');"
環境変数追加
公式ドキュメントにあるように
環境変数の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