Amazon EC2(Amazon Linux)のNginxサーバにphpMyAdminを設定

Amazon Linuxの環境にPHPとMySQLを前回インストールしました。
今回はウェブベースでデータベースの管理ができるphpMyAdminをインストールします。

phpMyAdminのインストール

1. EPELリポジトリの有効化

EPELリポジトリを有効化する。

1.$ sudo yum-config-manager --enable epel

2. yumでインストール

phpMyAdminをインストールする。

1.$ sudo yum install phpMyAdmin

ここで[y]を入力し、[Enter]

1....
2.Install 1 Package (+13 Dependent packages)
3.
4.Total download size: 9.7 M
5.Installed size: 37 M
6.Is this ok [y/d/N]: y
7.Downloading packages:
8....

ここで[y]を入力し、[Enter]
EPEL リポジトリの GPG キーをインポートします。

1....
2.Importing GPG key 0x0608B895:
3. Userid : "EPEL (6) <epel@fedoraproject.org>"
4. Fingerprint: 8c3b e96a f230 9184 da5c 0dae 3b49 df2a 0608 b895
5. Package : epel-release-6-8.9.amzn1.noarch (installed)
6. From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
7.Is this ok [y/N]: y
8....
9....
10.Complete!

3. Nginxの設定

/etc/nginx/nginx.confの修正(以下の内容を追記)

  • server {の中に記載
  • location ~ \.php$ {より前に記載
1.        ....
2. ....
3.
4. location /phpMyAdmin {
5. alias /usr/share/phpMyAdmin;
6. index index.php index.html;
7. #allow 127.0.0.1;
8. #deny all;
9. }
10. location ~ /phpMyAdmin/.*\.php$ {
11. fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
12. fastcgi_index index.php;
13. #fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name;
14. fastcgi_param SCRIPT_FILENAME /usr/share/$uri;
15. include fastcgi_params;
16. }
17.
18. location ~ \.php$ {
19. ....
20. ....

設定反映をします。

  • Nginxの再起動
1.$ sudo /etc/init.d/nginx restart

表示されないですね。。
悩むこと2時間。。

  • php-fpmの再起動
1.$ sudo /etc/init.d/php-fpm restart

apacheに慣れている私は、php-fpmこの存在が頭にありませんでした。
ありがとうQiita

4. phpMyAdminの表示

http://ドメインまたはパブリックIP/phpMyAdmin/
にアクセス。

phpmyadmin

5. phpMyAdminへのログイン

さて、あとは設定しているアカウントでのログインだけです。
….
ログインできない!!ChromeではphpMyAdminへのログインページが表示できているが
IEでは、Cannot start session without errors...こんなエラーが出てます。

sessionの設定がうまくできてないようです。

そこで、 NginxがPHPのセッションディレクトリにアクセスできる
ようにする必要があります。

PHPのセッション用ディレクトリのグループ変更

/var/lib/php/5.6/session/最初はapacheグループになっています。

1.drwxrwx--- 2 root apache  4096 Dec 11 02:59 session

今回はapacheではなく、Nginxを設定します。

1.$ sudo chown -R root:nginx /var/lib/php/5.6/session/

php-fpmの再起動

1.$ sudo /etc/init.d/php-fpm restart

ログインできました。。

セキュリティ

  1. アクセス制限
    Nginxの設定で、コメントアウトしていますが、phpMyAdminのアクセスを許可する
    IPアドレスを指定するとセキュリティ上安心です。
1.    #allow 127.0.0.1;
2. #deny all;

IPが絞れない場合は、Bascic認証を使用すると良いかと思います。

  1. ディレクトリ名
    /phpMyAdmin/これでアクセスしていますが、デフォルトの設定のままなので、
    推測されやすいと思います。このディレクトリ名は変えた方がセキュリティ上良いかと思います。

別の記事でphpMyAdminのセキュリティに関してまとめたいと思います。

参考:
チュートリアル: Amazon Linux への LAMP ウェブサーバーのインストール

[Sponsored Links]







  • このエントリーをはてなブックマークに追加
[Sponsored Links]