Problème de configuration mysql [Réglé]
smaj Membre non connecté
Booster Roquette
- Booster Roquette
- Voir le profil du membre smaj
- Inscrit le : 17/01/2016
- Groupes :
Je cherche à résoudre un problème lié à l'installation de piwik j'explique donc dans l'ordre comment j'ai procédé.
La configuration est debian 8 avec ispconf mysql php 5.6.30-0+deb8u1
À l'installation de piwik, aucun message d'erreur tout marche impeccable le premier jour
J'ai installé piwik dans un sous domaine et donc un serveur à part via ispconf
Le chargement des widgets se solde par un message d'erreur et depuis l'url de
Code :
/piwik/index.php?module=Installation&action=systemCheckPage&widget=undefined&idSite=1&period=day&date=yesterday&showtitle=1&random=5144
il ressort des problèmes avec les capacité de la base de données et de droits.
Code :
LOAD DATA INFILE
L'utilisation de LOAD DATA INFILE va grandement accélérer la vitesse du processus d'archivage de Piwik. Pour le rendre disponible à Piwik, essayez de mettre à jour PHP & MySQL et assurez vous que votre utilisateur MySQL a les privilèges de FILE.
Si votre serveur Piwik traque des sites à grand trafic, (ex > 100 000 pages par mois), nous recommandons d'essayer de résoudre ce problème.
Erreur: LOAD DATA INFILE failed... Error was:
Try #1: LOAD DATA INFILE : SQLSTATE[28000]: Invalid authorization specification: 1045 Access denied for user 'XXX'@'%' (using password: YES)[28000]
Troubleshooting: FAQ on piwik.org
Pour résoudre le problème j'ai du procéder de la sorte (j'ai pris des notes pour être sur de les retrouver)
Configuration serveur mysql
Modifier la configuration du serveur sql
Code :
nano /etc/mysql/my.cnf
Aller à la section [mysqld] et lui ajouter les 2 lignes suivantes
Code :
[mysqld]
local-infile = 1
secure-file-priv = ""
Pareil pour la section [mysql]
Code :
[mysql]
local-infile = 1
secure-file-priv = ""
Code :
service mysql restart
Rectifier les droits
Code "SQL :
mysql> USE piwikdatabase mysql>select user,secure_File_priv from mysql.user; +------------------+-----------+ | user | File_priv | +------------------+-----------+ | root | Y | | root | Y | | root | Y | | root | Y | | debian-sys-maint | Y | | phpmyadmin | N | | roundcube | N | | ispconfig | N | | XXXXXXXXXXX | N | | userpiwik | N | +------------------+-----------+ 11 rows in set (0.00 sec)
Changer les droits
Code :
mysql> GRANT FILE ON *.* to userpiwik@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Configuration de piwik
Dans la section [General] du fichier de configuration de /piwik/config/config.ini.php lui ajouter
Code :
enable_load_data_infile= "1"
Code :
service mysql restart
Piwik peut retourner ce genre d'erreur:
Code :
ERROR 13 (HY000): Can't get stat of '/tmp/assets/fichiers.scv' (Errcode: 13)
Un coup de chmod la dessus ...
Code :
/tmp# chmod -R 755 assets/
Et plus d'erreur avec piwik mais il y a toujours un mais:
Impossible de ce connecter à mysql depuis un terminal
Code :
mysql: unknown variable 'secure-file-priv='
Donc voilà ou j'en suis c'est à dire que si j'ajoute la variable secure-file-priv = "" piwik fonctionne mais je n'accède plus à mysql depuis mon terminal alors que par phpmyadmin oui
Donc ce que je fait c'est que j'édite le fichier de conf mysql
Code :
nano /etc/mysql/my.cnf
Commenter les lignes
Code :
[mysqld]
local-infile = 1
# secure-file-priv = ""
Code :
[mysql]
local-infile = 1
# secure-file-priv = ""
Redémarrer le serveur sql ..
mais bon c'est moyen comme procédé non ?
Avez vous une soution ou une piste à explorer ?
Édité par smaj Le 25/10/2017 à 10h40
janus57 Membre non connecté
- Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
- Equipe Assistance
déjà avant de faire ce genre de manipulation est-ce que vous êtes sûr un site à fort trafic, car sinon cette manipulation est inutile (comme écrit dans la FAQ de piwik).
Aussi il peu y avoir un problème selon la version php, open_basedir et/ou me module mysql utilisé (mysql vs mysqlnd : Cf : https://github.com/piwik/piwik/issues/11088).
Sinon normalement il faut juste mettre
Code TEXT :
et si on veux sécuriser le tout il faut mettre local-infile = 1
Code TEXT :
dans la section mysqld (serveur) et surtout pas dans la section mysql (client).secure-file-priv = "/path/to/piwik/file"
mais il faut bien savoir que si par défaut c'est désactivé c'est pour une question de sécurité, donc sauf si piwik le nécessite vraiment (car le site à plus de 100k pages/vus/mois.
Quelques liens :
- https://piwik.org/faq/troubleshooting/faq_194/
- https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_secure_file_priv
Cordialement, janus57
smaj Membre non connecté
Booster Roquette
- Booster Roquette
- Voir le profil du membre smaj
- Inscrit le : 17/01/2016
- Groupes :
Citation :
dans la section mysqld (serveur) et surtout pas dans la section mysql (client).
mais il faut bien savoir que si par défaut c'est désactivé c'est pour une question de sécurité
mais il faut bien savoir que si par défaut c'est désactivé c'est pour une question de sécurité
Oui c'est justement ce qui me faisait peur ...
Mais du coup expliqué comme tu viens de l faire c'est plus clair que la doc en anglais.
En plus je me suis fié à ce que j'ai pu glaner sur le net et nous pouvons constater que certaines infos sont carrément foireuses ce pourquoi je vous ai soumis mon problème.
Ce que je ne comprend pas c'est lien avec le plantage du chargement des widgets et le fait d'insérer ou non cette règle et qui semble agir sur le comportement de l'interface bizarre mais bon tu viens de me retirer une belle épine du pied encore une fois janus57 et en plus je n'ai plus d'erreur dans piwik.
janus57 Membre non connecté
- Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
- Equipe Assistance
pour le coup il faut inspecter les logs, sa fait un petit moment que je n'utilise plus piwik (car les stats je m'en fou complètement pour le moment).
Après cela peu aussi dépendre de la configuration de ISPConfig, plus précisément du moteur PHP (de mémoire il y a 2 ou 3 moteurs PHP qui sont mod_php, fastcgi/cgi, php-fpm).
Sachant que par défaut piwik va générer une archive des stats à chaque connexion (ou pratiquement) il est peut être utile de mettre en place le cron (pour le coup ça c'est une bonne idée que suggère le rapport piwik).
Enfin comme dit plus haut perso je toucherais pas à la config MySQL à moins que piwik est réellement un impact négatif visible sur les perfs, car là sans la présence d'un secure-file-priv non vide (voir doc mysql) c'est pas trop secure si un site se fait injecter car le pirate peu importer (et surtout exporter) dans un fichiers (de quoi vider une bdd en quelques secondes).
Cordialement, janus57
smaj Membre non connecté
Booster Roquette
- Booster Roquette
- Voir le profil du membre smaj
- Inscrit le : 17/01/2016
- Groupes :
janus57 Membre non connecté
- Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
- Equipe Assistance
Pour sa qu'il faut restreindre seulement et uniquement au répertoire où sont les fichiers sql que piwik utilisé et qu'ils faut un SDI/IDS pour surveiller le tout vu qu'un logiciel sans faille n'existe pas.
Cordialement, janus57
smaj Membre non connecté
Booster Roquette
- Booster Roquette
- Voir le profil du membre smaj
- Inscrit le : 17/01/2016
- Groupes :
J'ai donc virer la règle # secure-file-priv = chemin/piwin/tmp/assets/
J'ai laissé local-infile = 1
J'ai supprimer les privilèges GRANT de mon utilisateur sql/piwik
J'ai modifié mon fichier de configuration piwik et surtout j'ai fait attention à la syntaxe car sur la doc de piwik par exemple il n'y a pas les " " .
Code PHP :
enable_load_data_infile= "0" enable_sql_optimize_queries = "0" session_save_handler = "dbtable"
Coté log par contre je ne sais pas trop quoi chercher en fait.
Si je prend les logs du site piwik j'ai pas ml de d'erreurs de ce style
Code TEXT :
[Wed Oct 25 08:59:54.501836 2017] [:error] [pid 29975] [client 90.108.129.85:55868] PHP Fatal error: Cannot redeclare class Piwik\\Plugins\\BulkTracking\\Tracker\\Requests in Cannot redeclare class Piwik\\Plugins\\BulkTracking\\Tracker\\Requests on line 16, referer:
Coté ispconf on a Fast-CGI - CGI - SuPHP - Mod-PHP - PHP-FPM - HHVM
janus57 Membre non connecté
- Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
- Equipe Assistance
Citation :
J'ai donc virer la règle # secure-file-priv = chemin/piwin/tmp/assets/
J'ai laissé local-infile = 1
J'ai supprimer les privilèges GRANT de mon utilisateur sql/piwik
J'ai modifié mon fichier de configuration piwik et surtout j'ai fait attention à la syntaxe car sur la doc de piwik par exemple il n'y a pas les " " .
J'ai laissé local-infile = 1
J'ai supprimer les privilèges GRANT de mon utilisateur sql/piwik
J'ai modifié mon fichier de configuration piwik et surtout j'ai fait attention à la syntaxe car sur la doc de piwik par exemple il n'y a pas les " " .
donc il faut aussi virer le "local-infile = 1"
Pour le reste c'est à voir avec le forum piwik mais soit c'est un bug de piwik, soit la config PHP de ISPConfig (je sais que j'ai déjà eu des problèmes si on respecte pas les recommandations, pour ça que mon panel ISPConfig est à l'abandon [toujours MàJ cependant] en attente de réinstallation).
Cordialement, janus57
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie