Nginx+php-fpmでphpMyAdminを動かす


phpmyadmin設置

適当にダウンロードしてきて適当に設置。

1
2
3
4
5
cd /usr/local/src/
sudo wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.6/phpMyAdmin-3.5.6-all-languages.tar.gz?r=http%3A%2F%2Fwww.phpmyadmin.net%2Fhome_page%2Fdownloads.php&ts=1360757374&use_mirror=jaist
sudo tar xvzf phpMyAdmin-3.5.6-all-languages.tar.gz
sudo mv phpMyAdmin-3.5.6-all-languages /var/www/phpMyAdmin
sudo chown -R nginx:nginx /var/www/phpMyAdmin/



php-fpm設定

confファイルを作成してphp-fpm起動。

1
2
3
cd /etc/php-fpm.d/
sudo vim phpMyAdmin.conf
sudo /etc/init.d/php-fpm start
/etc/php-fpm.d/phpMyAdmin.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[phpMyAdmin]
listen = /var/run/php-fpm/phpMyAdmin.socket
;listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
;listen.mode = 0666
user = nginx
group = nginx
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 4
pm.max_spare_servers = 5
pm.max_requests = 100
;pm.status_path = /status
;ping.path = /ping
;ping.response = pong
;request_terminate_timeout = 0
;request_slowlog_timeout = 0
slowlog = /var/log/php-fpm/phpMyAdmin-slow.log
;rlimit_files = 1024
;rlimit_core = 0
;chroot =
;chdir = /var/www
;catch_workers_output = yes
;security.limit_extensions = .php .php3 .php4 .php5
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php-fpm/phpMyAdmin-error.log
php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M



nginx設定

適当にconf書いて起動。
redirectとかアクセス制限とかも適当に。

1
2
3
4
cd /etc/nginx/conf.d/
sudo vim phpMyAdmin.conf
sudo nginx -t
sudo /etc/init.d/nginx restart
/etc/nginx/conf.d/phpMyAdmin.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
  listen 80;
  server_name your.webserver;
  root /var/www;

  location / {
    rewrite ^(.*)$ http://blog.youyo.info$1 permanent;
  }

  location /phpMyAdmin {
    index index.php;

    allow   myIP;
    deny    all;
  }

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

  location ~ /\.ht {
    deny all;
  }
}



nginxでphpのセッションを扱えるようにしておく

デフォルトapacheな感じでnginxユーザーだとパーミッション許可されてないので許可しておく。(念のためです)

1
2
3
4
5
sudo ls -l /var/lib/php/
合計 4
drwxrwx--- 2 root apache 4096  2月 12 16:23 2013 session

sudo chown nginx /var/lib/php/session/



あとはhttp://your.webserver/phpMyAdmin/にアクセスできるようになってるはずなので、適当にGUIから設定して終了。

  • nginxのalias設定意味わかんね(結局使わなかった)
  • “File Not Found”のエラーはもう見たくない

Comments