我已经阅读了很多关于这个问题的帖子,但没有一个答案对我有用。我尝试访问http://localhost/phpmyadmin但它给了我403 禁止(您无权访问此服务器上的 /phpmyadmin。)因此,我尝试逐步重新配置 phpmyadmin:
sudo dpkg-reconfigure phpmyadmin
- 为 phpmyadmin 重新安装数据库?
是的
- phpmyadmin连接MySQL数据库方法:
Unix 套接字
- phpmyadmin 的 MySQL 数据库名称:
shopware_db
- phpmyadmin 的 MySQL 用户名:
phpmyadmin
- phpmyadmin 的 MySQL 应用程序密码:
[已选择密码]
- 确认密码:
[相同密码]
- 数据库管理用户的名称:
根
- Web 服务器自动重新配置:
[*] apache2 [ ] lighttpd
- (仅在最后选择“重试”后有时才会发生)配置文件 /etc/dbconfig-common/phpmyadmin.conf 有新版本 (/tmp/dbconfig-package-config.vagoAL) 可用,但当前安装的版本已被本地修改。
保留当前安装的本地版本
10.An error occurred while installing the database: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这是我不明白的,因为我可以连接到 mysql:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)
...
mysql> use shopware_db
Database changed
mysql>
注意:该行Include /etc/phpmyadmin/apache.conf
包含在/etc/apache2/apache2.conf
这是我的/etc/phpmyadmin/apache.conf(我修改了第一行,因为这是其中一个答案所建议的):
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.php
AllowOverride all
Require all granted
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen On
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/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
编辑:
当保留Name of the database's administrative user
(步骤 7)的默认值时(debian-系统维护) 没有错误发生。但是那是什么用户名?它从哪里来的?我不能把它改成root吗?
和http://localhost/phpmyadmin仍然无法访问。
答案1
这个问题是由于 apache 配置不正确而发生的。我所要做的就是编辑/etc/apache2/sites-available/000-default.conf
。之后
DocumentRoot /var/www/html
添加:
<Directory "/var/www/html">
AllowOverride All
</Directory>
另外,如前所述,你必须在/etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf