LoginSignup
0
1

More than 1 year has passed since last update.

OracleLinuxにphpMyAdminをインストールした時にちょいハマりしたこと

Posted at

はじめに

OracleLinux9.1の環境にnginxを入れてphpMyAdminをセットアップしようとした時に少しハマったので備忘メモです。

インストール

インストールはRemiリポジトリからphp関連のモジュールと一緒にインストールしました。

Remiリポジトリを有効にする。

# wget http://rpms.famillecollet.com/enterprise/remi-release-9.1.rpm
# rpm -ivh remi-release-9.1.rpm 
# yum --enablerepo=remi install mysql-server php-mysql phpmyadmin

phpMyAdminとPHPモジュール関連のインストール

PHP本体は別にインストール済だったので関連モジュールのみ追加しています。

# yum install -y --enablerepo=remi phpMyAdmin php-mbstring php-intl php php-mysqlnd

config.inc.phpの場所

phpMyAdminのドキュメントに書いてあるのですが、インストールする環境によってはconfig.inc.phpは/etc/phpMyAdminの下に配置されるとあり、OracleLinuxの場合もそこへ配置されました。

その他、
phpMyAdminのプログラム本体は、/usr/share/phpMyAdmin
キャッシュやテンポラリファイルは、/var/lib/phpMyAdmin
に配置されました。

で、このphpMyAdminへ配置されるのがちょっと自分的に嫌で全部小文字にしたいと思い上記ディレクトリをphpMyAdmin → phpmyadminへ修正した後、/etc/phpMyAdmin/config.inc.phpの以下の項目を編集して小文字のディレクトリへ対応させるべく、以下のように設定ファイルを記述しました。

/etc/phpMyAdmin/config.inc.php
~~~ 中略 ~~~
$cfg['UploadDir'] = '/var/lib/phpmyadmin/upload';
$cfg['SaveDir'] = '/var/lib/phpmyadmin/save';
$cfg['TempDir'] = '/var/lib/phpmyadmin/temp';
~~~ 中略 ~~~

nginxの設定も小文字ディレクトリを読んでくれるように以下のように変更しています。

/etc/nginx/conf.d/phpmyadmin.conf
server {
       listen 80;
       server_name  192.168.0.100; 

       location /phpmyadmin {
                root /usr/share;
                index index.php; 
       }

       location ~ \.php$ {
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /usr/share/$fastcgi_script_name;
                include fastcgi_params;
       }
}

変更した後は念のためnginxとphp-fpmを再起動しました。

# systemctl restart nginx php-fpm

しかし、読み込むディレクトリは変わってくれず404等のエラーが出てしまいます。

調べた結果、

/etc/phpMyAdmin
/etc/phpMyAdmin/config.inc.php

これらのディレクトリやファイルのオーナーグループがroot.apacheなどになっており、この辺をすべてroot.nginxへ変更することで/etc/phpMyAdmin/config.inc.phpを読んでくれるようになりました。
気づくとしょーもないことです・・orz

# chown root.nginx /etc/phpMyAdmin
# chown root.nginx /etc/phpMyAdmin/config.inc.php

先に書いた/var/lib/phpmyadminや/usr/share/phpmyadminとその下のディレクトリやファイルも同じようにroot.nginxになっている必要がありますのでなっていない場合は変更します。

# chown -R root.nginx /var/lib/phpmyadmin ←ディレクトリ名を変更していない場合はphpMyAdmin
# chown -R root.nginx /usr/share/phpmyadmin ←ディレクトリ名を変更していない場合はphpMyAdmin

最初はどこか別の場所にconfig.inc.phpがあってそちらを読んでいるのかと探して見つからず、いろいろしているうちに初歩的なところを見逃してしまってました。

configファイルが読み込めない場合はデフォルトで上に書いた/var/lib/phpMyAdmin等を見に行くようになっているみたいでどこかに書いてあるのかとファイルを検索してみたり・・・。

/etc/phpMyAdminディレクトリ自体を変えられないかはまだ調べていないのですがこれも暗黙に見にいっているようなのでどこで決めているかはまた別に調べたいと思います。

久々に入れたんですがconfig.sample.inc.phpも見つからなくて地味に色々時間がかかってしまいました・・・。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1