我有一台带有 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
在您的系统上查看)。