web-dev-qa-db-fra.com

Accédez à phpmyadmin sur localhost et reconfigurez phpmyadmin: ERREUR 1045 (28000): accès refusé pour l'utilisateur 'root' @ 'localhost'.

J'ai déjà lu de nombreux sujets sur cette question, mais aucune des réponses ne fonctionnait pour moi. J'essaie d'accéder à http: // localhost/phpmyadmin mais cela me donne: 403 Forbidden (vous n'êtes pas autorisé à accéder à/phpmyadmin sur ce serveur.). J'essaie donc de reconfigurer étape par étape phpmyadmin:

Sudo dpkg-reconfigure phpmyadmin
  1. réinstallez la base de données pour phpmyadmin?

    oui

  2. Méthode de connexion pour la base de données MySQL de phpmyadmin:

    Prise Unix

  3. Nom de la base de données MySQL pour phpmyadmin:

    shopware_db

  4. Nom d'utilisateur MySQL pour phpmyadmin:

    phpmyadmin

  5. Mot de passe de l'application MySQL pour phpmyadmin:

    [mot de passe choisi]

  6. Confirmation du mot de passe:

    [même mot de passe]

  7. Nom de l'utilisateur administratif de la base de données:

    root

  8. Serveur Web à reconfigurer automatiquement:

[*] Apache2 [ ] lighttpd

  1. (seulement parfois après avoir choisi "réessayer" à la fin) Une nouvelle version (/tmp/dbconfig-package-config.vagoAL) du fichier de configuration /etc/dbconfig-common/phpmyadmin.conf est disponible, mais la version actuellement installée a été modifiée localement.

    garder la version locale actuellement installée

10. An error occurred while installing the database: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

ce qui est quelque chose que je ne comprends pas, car je peux me connecter à 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>

Remarque: la ligne Include /etc/phpmyadmin/Apache.conf est incluse dans /etc/Apache2/Apache2.conf

Et voici mon /etc/phpmyadmin/Apache.conf (j'ai modifié les premières lignes car cela a été suggéré dans l'une de ces réponses):

# 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>

Modifier:

Lorsque vous laissez Name of the database's administrative user (étape 7) par défaut (debian-sys-maint) aucune erreur ne se produit. Mais quel nom d'utilisateur est-ce? D'où est ce que ça vient? Je ne peux pas le changer en root?

Et http: // localhost/phpmyadmin n'est toujours pas accessible.

2
Sadik

Le problème se produit lorsque Apache n'est pas configuré correctement. Tout ce que je devais faire était de modifier /etc/Apache2/sites-available/000-default.conf. Juste après

DocumentRoot /var/www/html

ajouter:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

De plus, comme mentionné précédemment, vous devez définir cette ligne à la fin de /etc/Apache2/Apache2.conf

Include /etc/phpmyadmin/Apache.conf
1
Sadik