从每个网站的域访问由其发行版包索引安装的 PHPMyAdmin

3 debian symlink architecture apache-httpd phpmyadmin

我有一台带有 LAMP 和 PHPMyAdmin (PMA) 的远程机器。让我们假设这个发行版是 Debian/Ubuntu。

如果我通过apt install phpmyadmin(这将使其安装在/usr/share/phpmyadmin/我认为下)安装 PMA,那么我将无法根据该灯上托管的网站域导航到 PMA(以下将出错):

example-1.com/phpmyadmin
example-2.com/phpmyadmin
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,我必须通过 say 导航MY_IP_ADDRESS/usr/share/phpmyadmin/才能成功访问 PMA。

但是,如果我通过以下方式直接在文档根目录上安装 PMA,我确实能够根据域导航到 PMA(如上所示):

pma="[pP][hH][pP][mM][yY][aA][dD][mM][iI][nN]"
cd /var/www/html/
rm -rf ${pma}*
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
unzip ${pma}*.zip
mv ${pma}*/ phpmyadmin/
rm ${pma}*.zip
unset pma
cd
Run Code Online (Sandbox Code Playgroud)

一方面,安装PMAapt install phpmyadmin简单方便。另一方面,但不允许我根据域导航到它。另一方面,我确实想仅根据域导航到它。

如果我没有错,符号链接可能会有所帮助。我的方向是否正确(我现在无法测试)?

Ste*_*itt 5

Debian PHPMyAdmin 软件包将主要内容安装在/usr/share/phpmyadmin. 这是通过 Web 服务器配置提供的;例如,如果您使用 Apache HTTPD,/etc/phpmyadmin/apache.conf则链接到/etc/apache2/conf-available/phpmyadmin.conf,并且可以使用a2enconf或启用或禁用a2disconf。(交互式配置的首选方法是dpkg-reconfigure -plow phpmyadmin。)

如果您的网站被配置为虚拟主机,您应该能够/phpmyadmin通过以类似的方式配置它们来提供对所有它们的访问;事实上,据我所知,如果启用了 PHPMyAdmin 配置,那应该是默认情况:

Alias /phpmyadmin /usr/share/phpmyadmin
Run Code Online (Sandbox Code Playgroud)

通常情况下,软件包中README.Debian包含有用的信息,值得一读(参见/usr/share/doc/phpmyadmin/README.Debian.gz您的系统)。


Sha*_*dur 5

事实上,Debian 安装了大部分 PMA /usr/share/phpmyadmin,这是 LSB 标准的正确位置。但这是一个与您问题的前提不太相关的细节。

Debian 的 PMA 包做了一个配置文件,/etc/apache2/conf-available/phpmyadmin.conf其中设置了 PMA 正常运行所需的细节。如果您需要详细信息,您可以在自己的时间查看它,但归结为从那时起,PMA 可以并且将与您配置的具有可用 PHP 的每个站点一起使用,只需将以下行添加到该<VirtualHost>指令:

Alias /phpmyadmin /usr/share/phpmyadmin
Run Code Online (Sandbox Code Playgroud)

那时 PMA 应该可以为该站点工作,无需任何进一步的操作。

(另外,drat。Ninja'd。)