Configuration de phpmyadmin

Tags: #<Tag:0x00007f993de5c4e0> #<Tag:0x00007f993de5c3c8>

Ce message a été signalé par la communauté et est temporairement masqué.

Ce message a été signalé par la communauté et est temporairement masqué.

Ce message a été signalé par la communauté et est temporairement masqué.

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

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

Ce message a été signalé par la communauté et est temporairement masqué.

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.

Quelle agressivité et quelle ingratitude vis a vis de personnes qui vous donnent , bénévolement, de leur temps pour tenter de vous rendre service!
On peut critiquer, contester, se lamenter, discuter avec un minimum de respect, pourquoi pas, même de courtoisie.

un problème de lecture peut être?