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

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

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

如果我通过安装PMA (我认为apt install phpmyadmin这将使它安装在下面)然后/usr/share/phpmyadmin/我不能根据该灯上托管的我的网站域导航到 PMA(以下将出错):

example-1.com/phpmyadmin
example-2.com/phpmyadmin

如果我没记错的话,我必须通过 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

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

如果我没记错的话,符号链接会很有帮助。我的方向正确吗(我现在无法测试)?

答案1

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

Debian 的 PMA 包是什么所做的就是删除一个配置文件,用于/etc/apache2/conf-available/phpmyadmin.conf设置 PMA 正常运行所需的细节。如果您想要详细信息,您可以在自己的时间查看它,但归根结底是,从那时起,PMA 可以并且将会与每一个您配置的站点具有可用的 PHP 功能,只需将以下行添加到<VirtualHost>指令即可:

Alias /phpmyadmin /usr/share/phpmyadmin

此时 PMA 应该适用于该站点,无需任何进一步的操作。

(另外,该死的。忍者。)

答案2

Debian PHPMyAdmin 软件包将主要内容安装在/usr/share/phpmyadmin.这是通过网络服务器配置实现的;例如,如果您使用的是 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

正如通常的情况一样,包裹的README.Debian包含有用的信息,值得阅读(请/usr/share/doc/phpmyadmin/README.Debian.gz在您的系统上查看)。

相关内容