Configuration de phpmyadmin

Tags: #<Tag:0x00007fb41a9d5758> #<Tag:0x00007fb41a9d5500>

Dans mon premier message, j’ai indiqué que j’utilisais Nginx comme serveur, mais visiblement, j’aurais dû l’écrire en capitale et en gras.
J’avais utilisé le tuto de DigitalOcéan, je l’ai clairement dit.
Je viens de désinstaller et de purger phpmyadmin.
Pour l’installation, j’ai les écrans suivants :
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ?
Pour la question : Serveur Web à reconfigurer automatiquement :
Je n’ai pas le choix du serveur Nginx.
Je n’ai pas panneau de choix : MySQL application password for phpmyadmin.
Le paragraphe : créer une configuration Apache pour phpmyadmin ne me sert à rien puisque j’utilise Nginx.
Et je ne devrais pas enlever la coche de solution puisque je ne l’ai pas mise.
Alors en attendant un tuto qui fonctionne autrement, j’utilise un lien ce qui me permet d’avoir un phpmyadmin fonctionnel.

Tu utilise un tuto pour apache que tu détournes avec le lien. Les packages sont conçus avec apache donc normal que tu n’ai pas le choix de nginx. Ça semble une évidence.
Après si la violation de la secu est sans importance tant mieux. Mais c’est crade.
Voilà un lien avec nginx, et là non plus il n’y a pas de lien symbolique.

Il est pour Debian 11/10 mais valable pour 12.

C’est TOI qui m’as donné un tutoriel pour Apache alors que j’ai dit dès mon premier message que j’utilisais Nginx.
Après, libre à toi de ne pas te préoccuper de ce qu’a besoin celui qui ouvre un fil de forum avant d’y répondre.
Sur ton dernier tutoriel, on remarque dans les commentaires que la configuration de Nginx donne une erreur 404.
J’aimerais autant avoir un tutoriel qui fonctionne, car un tutoriel qui ne fonctionne pas, c’est crade.
En tout cas, ça fonctionne sans lien.

SAlut,
quand on aide beaucoup de gens,comme le fait zargos, on a tendance à rater une ligne quand elle n’est pas mise en avant.

Pour pouvoir aider , il faut aussi que les infos soient complètes :

  • on ne sait pas quel debian ( 8/9/10/11/12/13 ?)
  • on ne sait pas comment tu as installé nginx, phpmyadmin ( dépots, autre ) ; quelles configurations tu as changé ou est-ce tout neuf?
  • on n’a pas les messages d’erreurs : que donnent les logs de nginx?
  • quand tu fais un truc, puisque tu n’as pas réussi à aller jusqu’u bout, peut-être fais-tu des erreurs intermédiaires, donc donnes toujours les commandes effectuées : par exemple quand tu dis « Je viens de désinstaller et de purger phpmyadmin » , as-tu vérifieé , par exemple que /usr/share/phpmyadmin avait disparu

En tout cas sur le site nginx. pas de phpmyadmin, sur le site de phpmyadmin pas de nginx

1 J'aime

Bonjour, dindoun.
Quelle mauvaise foi.
Vous ne ferez pas croire que Zargos n’est capable de faire attention à un message de cinq lignes.
D’autre part, aider beaucoup de personnes ne justifie pas de ne pas faire attention à ce qu’elles disent, car c’est quand même un minimum.

On sait comment j’ai installé phpmyadmin dès mon premier message.
Comme vous n’avez pas lu mon premier message, je vous cite la seconde ligne de mon premier message : « J’ai installé le paquet des dépôts de phpmyadmin et je ne sais pas comment faire pour faire fonctionner le logiciel. »

Non, je n’ai pas vérifié que le gestionnaire de paquet avait fait son boulot quand j’ai désinstallé et purgé phpmyadmin, car j’ai confiance en ce gestionnaire de paquet que je connais depuis au moins vingt ans. Si vous mettez en doute son efficacité, merci d’en apporter les preuves.

Oui, le site de Nginx ne parle pas de phpmyadmin et le site de phpmyadmin ne parle pas de Nginx.
Tout le monde peut comprendre que le site d’un serveur WEB a mieux à faire que de parler de toutes les applications WEB disponible.
De même, le site de phpmyadmin a sans doute mieux à faire que de parler de tous les serveurs WEB du marché.

Enfin bon, votre message ne sert à rien puisque ma question est résolue et je suis passé à autre chose depuis.

3 messages ont été fusionnés à un sujet existant : Gestion des accès et su/sudo

bon STOP la récréation on reviens au sujet …

PS : grâce à vous je vais avoir du ménage.

Pour résumer que ce soit avec Nginx ou Apache la méthode d’utilisation reste la même, PHPMyAdmin est à placé dans un vhost et le fichier de configuration est à récupérer comme d’habitude.

Pour ce qui est du paquets provenant des dépôts j’ai trop rien contre mais il ne prends pas en charge Nginx correctement (cela devrait être signalé mais bon …).

En règle générale je récupère le paquets provenant du projet :

wget https://files.phpmyadmin.net/phpMyAdmin/X.X.X/phpMyAdmin-X.X.X-all-languages.tar.gz
tar -zxvf phpMyAdmin-X.X.X-all-languages.tar.gz
sudo mv phpMyAdmin-X.X.X-all-languages /usr/share/phpMyAdmin
sudo cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
sudo vim /usr/share/phpMyAdmin/config.inc.php
$cfg['blowfish_secret'] = '?????????????????????'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

A ce moment on adapte la configuration à ces besoins et on s’assure d’avoir les modules php suivants pour le bon fonctionnement : php-json php-mbstring php-xml

On s’occupe de la partie Mysql :

sudo mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p
sudo mysql -u root -p

Dans le shell :

CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

On s’occupe du vhost :

sudo nano /etc/nginx/conf.d/phpMyAdmin.conf

On adapte au besoin :

server {
   listen 80;
   server_name XXXXXXXXXXXXXXXX;
   root /usr/share/phpMyAdmin;
   location / {
      index index.php;
   }
## Images and static content is treated different
   location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log off;
      expires 30d;
   }
   location ~ /\.ht {
      deny all;
   }
   location ~ /(libraries|setup/frames|setup/libs) {
      deny all;
      return 404;
   }
   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass unix:/run/php/phpX-X-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name;
   }
}

PS : Ne pas oublier la création/permissions au dossier temporaire de PHPMyAdmin.

Franchement des tutoriels ils y en a pléthore donc par pitié si vous en proposez un à quelqu’un assurez vous à minima de lui préciser si il faut adapter …

PS : 2 En règle générale je ne déploie quasiment plus que par Ansible mes stacks applicatives, via des rôles adaptés depuis ceux sur Ansible galaxy

PS3 : Pour les remarques sur la sécurité, je dirais aussi que l’on peux aussi très bien se passer de PHPMyAdmin :wink:

1 J'aime

L’important, c’est que maintenant, ça fonctionne avec le paquet APT des dépôts sans avoir besoin d’un lien alors que je n’ai aucun vhost pour Nginx. Enfin, je ne vais pas chercher plus loin du moment que ça fonctionne.
Le plus drôle, c’est que j’avais besoin de phpmyadmin pour récupérer le mot de passe admin de Joomla! et qu’hier, l’équipe de Joomla! a mis à disposition un fichier php empaqueté qui permet de réinitialiser le mot de passe admin.
Bon, je vais quand même garder phpmyadmin en cas de besoin, c’est quand même plus conviviale que le terminal.

Tu parviens à atteindre en web à une web application sans vhost ?

Tu peux très bien dédié un vhost comme recycler le vhost par défaut (que d’ailleurs je ne recommande pas d’utiliser).
De manière générale je conserve le vhost par défaut pour gérer mon monitoring (dans le cas de répartition de charges avec plusieurs frontaux, test de santé et autres) et dédie systématiquement des vhosts pour mes applications servi par le serveur web.

PS : @ignace1972 tu as le droit d’indiquer via la petite coche le message où réside ta solution fonctionnelle :wink:

J’ai la config nginx.conf pour Wordpress, une autre dans site-avalable pour Joomla! et c’est tout.
En fait, j’ai fait le tuto de DigitalOcéan puis je me suis aperçu que ça fonctionnait avec le lien, puis je me suis aperçu que ça fonctionnait avec ignace72.eu/phpmyadmin, donc j’ai supprimé le lien et je laisse comme ça puisque ça fonctionne.

salut,

j’ai essayé aussi cette méthode , mais j’a iété bloqué par l’absence de conf-available

d’après ce que tu dis , il faut juste créer /etc/nginx/conf.d/phpMyAdmin.conf , pas de a2enconf ?

pour server_name, je peux mettre localhost?

pas de création de /usr/share/phpMyAdmin/tmp/ ?

PS

désolé je ne n’essayerais plus de t’aider pour me faire insulter

justement , il reste des traces : je ne dis jamais rien que je n’essaie moi-même , c’est pour ça que , n’ayant pas réussi , je n’ai pas proposé de méthode. Par contre /usr/share/phmmyadmin n’est pass toujours nettoyé après un purge remove

C’est le vhost dédié, oui

Nope c’est pour Apache ça, tu fais un lien symbolique vers sites-enabled ou tu colle le fichier à cet endroit, le include présent dans le fichier générale fera le reste … un simple reload et c’est parti.

Nginx sur cet aspect est bien plus basique que Apache.

Si il doit y avoir ça pour régler les trois (de souvenir j’en déploie quasiment jamais et à chaque fois via ansible) :

$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['TempDir'] = '';

https://docs.phpmyadmin.net/fr/latest/config.html

désolé je ne n’essayerais plus de t’aider pour me faire insulter

Il n’existe aucune insulte dans ce que je vous ai dit, mais je survivrai à votre absence d’aide.

A partir du moment ou des fichiers du paquet ont été modifiés ou bien qu’un fichier a été ajouté à un répertoire du paquet, la purge n’élimine pas toujours soit le fichier (et donc le répertoire) soit le répertoire. Le deuxième cas est le plus fréquent.

en fait tu ne fais aucun lien symbolique.
Il suffit de créer le fichier dans conf-available ou sites-available, et les commandes a2enconfet a2ensite se chargent de créer les liens symboliques dans conf-enabled et sites-enabled. Il vaut mieux éviter de le faire à la main. a2disconf et a2dissite dont les commandes pour désactiver les conf/sites.
a2enmod et a2dismod servent à activer/désactiver les modules apache.
Bien sur, il faut penser à faire le systemctl reload apache2.
conf-available sert pour les configuration apache du type http://serveur/conf et les sites-available pour faire les vhosts http://site1, http://site2

C’est un serveur HTTP plus l:léger pour des configurations plus simple.

On parle de Nginx là :wink:

Sans commentaire.

On parle de Nginx là :wink:

Il le sait, mais il s’en fout visiblement.

Je ne corrigeais que ce qui était dit sur le lien symbolique pour apache qui était cité par @Clochette :wink:

Je ne corrigeais que ce qui était dit sur le lien symbolique pour apache qui était cité par @Clochette :wink:

Clochette ne parlait pas d’Apache, mais du lien symbolique vers site-enabled à faire sous Nginx.