apache phpmyadmin为vhost设置

时间:2014-10-09 09:30:46

标签: apache phpmyadmin shared-hosting php

我想为多个虚拟用户设置phpmyadmin,例如。

example.tld_01/phpmyadmin
example.tld_02/phpmyadmin

注意:所有apache vhost用户和php脚本都是/var/www/html/[web_dir]PHP-FPM + mod_proxy_fcgi

的chroot

尝试01 =>符号链接:

ln -s /usr/share/phpmyadmin/* /var/www/html/[web_dir]/phpmyadmin

问题01:

Since php is chrooted users will not be able to access symbolic link of phpmyadmin

尝试02 => mount --bind:

mount --bind /usr/share/phpmyadmin/* /var/www/html/[web_dir]/phpmyadmin

问题02:

phpmyadmin has got some symbolic linked files in its libraries like "php-gettext/gettext.inc".
So getting this error.
Fatal error: require_once(): Failed opening required './libraries/php-gettext/gettext.inc' (include_path='.:/usr/share/php:/usr/share/pear')

问题:

  1. 为多个虚拟机及其用户设置phpmyadmin的共享主机的最佳方案是什么?

  2. 如果您使用过共享主机,则不会在您的帐户中看到任何像phpmyadmin这样的文件夹。但你仍然可以访问phpmyadmin。这怎么可能?

2 个答案:

答案 0 :(得分:0)

关于您的整体问题,您是否考虑过使用TCP / IP网络而不是套接字?

关于你的问题02,这必须是你的发行版选择打包他们的phpMyAdmin版本的方式 - 官方phpMyAdmin源没有你所描述的符号链接。

答案 1 :(得分:0)

尝试使用mod_alias

在这种情况下,对于每个VirtualHost,您都可以指向相同的目录,如:

<Virtualhost tld1:80>
  DocumentRoot /var/www/html/tld1/
  Alias /phpmyadmin /usr/share/phpmyadmin
</virtualHost>
<Virtualhost tld2:80>
  DocumentRoot /var/www/html/tld2/
  Alias /phpmyadmin /usr/share/phpmyadmin
</virtualHost>

在你的情况下应该运作良好。这是对你的两个问题的答案! :)