当我安装 phpmyadmin 时
apt-get install phpmyadmin
要访问它,我必须写入以下地址格式
http://123.123.123.123/phpmyadmin
假设这是我的服务器的 IP 地址。但如果我想使用子域名,该怎么办?
http://phpmyadmin.dbugger.com
我应该如何配置/修改 Apache 中的配置文件以使其正常工作?
答案1
如果您使用 安装了 phpMyAdmin apt-get
,则文件通常会安装到 中/usr/share/phpmyadmin
。因此,创建一个新的虚拟主机配置并将指令指向DocumentRoot
应该/usr/share/phpmyadmin
可以工作。
Apache 将其每个站点的配置存储在 中/etc/apache2/sites-available
。
创建/etc/apache2/sites-available/phpmyadmin.dbugger.com
(如评论中所述,如果您在更高版本的 Ubuntu 上使用 Apache 2.4,则.conf
名称需要扩展),然后填写以下内容:
<VirtualHost *:80>
ServerName phpmyadmin.dbugger.com
ServerAdmin [email protected]
DocumentRoot /usr/share/phpmyadmin
<Directory />
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
</Directory>
# Authorize for setup
<Directory setup>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>
# Disallow web access to directories that don't need it
<Directory libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory setup/lib>
Order Deny,Allow
Deny from All
</Directory>
</VirtualHost>
启用虚拟主机:
sudo a2ensite phpmyadmin.dbugger.com
然后重新加载Apache:
sudo service apache2 reload
答案2
我认为这无关紧要。phpmyadmin 会连接到您指定的数据库,与您的网站或域名无关。因此,如果您有两个使用不同数据库的子域,只需配置 phpmyadmin 以使用正确的数据库即可。您可以(手动)在 /var/www 中并行安装多个 phpmyadmin 实例,并对它们进行不同的配置;只需获取 tar.gz 并以不同的名称解压即可。