cent7 + phpMyAdmin + nginx + fpm

このあたりか...
https://qiita.com/100/items/8e9d9540845cc23e6111
https://beautifulajax.dip.jp/?p=1025

まずは
# rpm remove php-common で 古い php を削除して...
# yum install yum-utils https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# vi /etc/yum.repos.d/remi.repo
includepkgs=phpMyAdmin php-phpmyadmin-sql-parser php-phpmyadmin-motranslator php-phpsecli php-fpm

# yum-config-manager --enable remi
# yum install php-fpm php-mbstring php-mysqlnd php-intl


# vi /etc/php-fpm.d/www.conf
; user = apache
user = nginx
; group = apache
group = nginx

;listen = 127.0.0.1:9000
listen = /var/run/php7-fpm.sock

; listen.owner = nobody
; listen.group = nobody
listen.owner = nginx
listen.group = nginx

からの fpm を起動させて
# systemctl start php-fpm
# systemctl status php-fpm
# systemctl enable php-fpm


# netstat -a --unix |grep php
unix 2 [ ACC ] STREAM LISTENING 356969 /var/run/php7-fpm.sock

nginx の conf は以下のとおり


location ~ \.php$ {
root /usr/share/nginx/takmi_jp;
fastcgi_pass unix:/var/run/php7-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}

と書いて...
# systemctl restart nginx
# systemctl status nginx

あちこちの情報に書いてある
fastcgi_param SCRIPT_FILENAME /scripts/$fastcgi_script_name; <--- これにハマるw
/scripts/ なんてディレクトリないから $document_root に変更
解決方法はこちら
https://qiita.com/puttyo_bubu/items/5bf554ef2790f6435c32

とりあえず ドキュメントルートしたの test.php にはアクセスできた。
セキュリティ上よろしくないから即削除

からの!
phpmyadmin を 本家サイトからDL。 どうも rpm では入らないらしい?

# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip
# unzip phpMyAdmin-4.8.5-all-languages.zip
# rm phpMyAdmin-4.8.5-all-languages.zip
# ln -sf phpMyAdmin-4.8.5-all-languages phpmyadmin

nginx の conf に以下を追加して system restart nginx


# phpmyadmin
location /phpmyadmin {
#root /usr/share/nginx/phpMyAdmin-4.8.5-all-languages;
root /usr/share/nginx;
index index.php;

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

からの ブラウザで 以下のエラー


phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

session_start(): Failed to read session data: files (path: /var/lib/php/session)

/var/lib/php/session はすでにあるらしいので、オーナーだけ変更

# ls -ld /var/lib/php/session
drwxrwx--- 2 root apache 4096 3月 6 17:00 /var/lib/php/session
# chown nginx:nginx /var/lib/php/session

ブラウザリロードで無事アクセス成功!

さて... 
このまま /phpmyadmin で アクセスさせてしまうのはよろしくないのでアクセス制限を...
自前環境的に nginx + rdns としたいところだけど コンパイルからか? 手間なので断念
Basic 認証を入れることにする...


auth_basic "fof 〜〜〜";
auth_basic_user_file /etc/nginx/htpasswd;

現状のバージョンはこんな感じ (途中無駄なものも入れちゃったかも?

# rpm -qa |grep php
php-cli-7.1.27-1.el7.remi.x86_64
php-intl-7.1.27-1.el7.remi.x86_64
php-mysqlnd-7.1.27-1.el7.remi.x86_64
php-json-7.1.27-1.el7.remi.x86_64
php-7.1.27-1.el7.remi.x86_64
php-pdo-7.1.27-1.el7.remi.x86_64
php-symfony-common-2.8.12-2.el7.noarch
php-fpm-7.1.27-1.el7.remi.x86_64
php-common-7.1.27-1.el7.remi.x86_64
php-mbstring-7.1.27-1.el7.remi.x86_64
php-symfony-class-loader-2.8.12-2.el7.noarch

一旦 phpmyadmin は動いたので良しとしますかね