CentOS7にphpMyAdminをEPEL経由でインストールしてみた。
環境:
OS: CentOS 7.5
Webサーバ: nginx (EPELパッケージ)
PHP: php-fpm 5.4.16 (CentOS標準パッケージ)
DB: MariaDB 5.5.56 (CentOS標準パッケージ)
1. nginxインストール
EPELリポジトリを追加する(まだ追加していない場合)
$ sudo yum install epel-release
nginxをインストールする。
$ sudo yum install nginx
追加機能をコンパイルしたい場合は、SRPM を自前でリビルドしてもよい。
あとは自分の用意したいWebサーバに合わせてバーチャルホスト設定ファイルを作成することになる。設定ファイルの中に、phpMyAdmin 用の記述を入れる。Apache 用の設定が /etc/httpd/conf.d/phpMyAdmin.conf にあるので、参考にする。
root /usr/share/phpMyAdmin; ... location ~ ^/libraries/ { deny all; } location ~ ^/setup/lib/ { deny all; } location ~ ^/setup/frames/ { deny all; } location ~ ^/.*\.php$ { allow 203.0.113.100; ←自宅からのアクセス許可 deny all; ←それ以外は全部拒否 fastcgi_pass unix:/run/php-fpm/php-fpm.sock; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } location / { allow 203.0.113.100; deny all; }
$ sudo systemctl enable nginx
$ sudo systemctl start nginx
2. mariadb インストール・設定
$ sudo yum install mariadb mariadb-server
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb
rootパスワードの初期設定を行っておく。
$ mysql_secure_installation
3. phpインストール・設定
必要そうなパッケージをまとめてインストールしておく。
$ sudo yum install php-fpm php-mysql php-gd php-mbstring
phpの基本設定を行う。
$ sudo vi /etc/php.ini
expose_php = Off ←PHPの情報を隠す
ほかにもパフォーマンスチューニングのパラメータがphp.iniの中にあるので、必要に応じて変更しておく。
php-fpmとして動作するときの設定を行う。
$ sudo vi /etc/php-fpm.d/www.conf
listen = /run/php-fpm/php-fpm.sock ←UNIXソケットを利用 listen.owner = nginx ←UNIXソケットの所有者をnginx実行ユーザにする listen.group = nginx listen.mode = 0600 ←nginx以外からソケットを利用できないようにする user = nginx ←php-fpm実行ユーザをnginxにそろえておく group = nginx
php-fpmデーモンを起動する。
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm
3. phpMyAdminインストール・設定
phpMyAdminをインストールする。
$ sudo yum install phpMyAdmin
必要なディレクトリの作成、nginxから読めるよう権限の修正を行う。
$ sudo mkdir -p /var/lib/php/session
$ sudo chown nginx:nginx /var/lib/php/session
$ sudo chgrp -R nginx /etc/phpMyAdmin
$ sudo chown -R nginx:nginx /var/lib/phpMyAdmin
phpMyAdminに必要なDB・テーブルの作成を行う。
$ mysql -u root -p
Enter password:
MariaDB [(none)]> source /usr/share/phpMyAdmin/sql/create_tables.sql;
MariaDB [(none)]> \q
あとはWebブラウザで http://自分のサーバ/phpMyAdmin/ にアクセスし、動作確認を行う。