Not logged in. · Lost password · Register
Forum: Non-English Discussion French discussion RSS
DOKUWIKI WITH MYSQL ?
J'aimerais savoir comment utiliser le DokuWiKi avec une base MySQL
Avatar
THANATOS #1
Member since May 2007 · 1 post
Group memberships: Members
Show profile · Link to this post
Subject: DOKUWIKI WITH MYSQL ?
Bonjour,
Je recherche à utiliser le DokuWiKi avec une base de données MySQL dans le but de pouvoir faire interagir le wiki avec l’ensemble de mon site. L’idée est de pouvoir utiliser ma table d’utilisateurs de mon site (avec les mots passe qui sont encrypté en MD5) pour le Wiki.
Malheureusement hélas, DokuWiKi est très mal renseigné pour des personnes non anglophones.
Mais recherche m’ont apporté un lien qui semble en parler :
http://wiki.splitbrain.org/wiki:auth:mysql

Comprenant l’anglais que (grace) à internet je me retrouve confronté à l’incompréhension de ce lien.
Surtout que sur ce lien, il me semble être déjà pour des utilisateurs anglophones avancés.
Je vous explique tout de même les démarche que j’en ai compris, et ou j’en suis afin d’espéré avoir un éclaircissement sur la marche a suivre pour arrivé à bout de mes besoins.
Pour commencer j’ai rajouté :
require_once('mysql.conf.php');

Au fichier conf/local.php, renommé /conf/mysql.conf.php.example en /conf/mysql.conf.php et ensuite éditer en modifiant les lignes d’informations à la connexion de ma base SQL :

$conf['auth']['mysql']['server']   = 'localhost';
$conf['auth']['mysql']['user']     = 'root';
$conf['auth']['mysql']['password'] = '';
$conf['auth']['mysql']['database'] = 'testwikiauth';

Dans le fichier : /conf/dokuwiki.php j’ai remplacer la ligne :
$conf['authtype']    = 'plain';          //which authentication backend should be used
Par :
$conf['authtype']    = 'mysql';          //which authentication backend should be used

J’ai créé dans ma database testwikiauth avec l’exemple la table :
CREATE TABLE `users` (
  `uid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `login` varchar(20) NOT NULL DEFAULT '',
  `pass` varchar(60) NOT NULL DEFAULT '',
  `firstname` varchar(255) NOT NULL DEFAULT '',
  `lastname` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY  (`uid`),
  UNIQUE KEY `login` (`login`)
) TYPE = MYISAM;

Je retourne sous mon DokuWiKi, une erreur surgit :
« L'authentification est temporairement indisponible. Si cela perdure, merci d'informer l'administrateur du Wiki. »
Alors a ce moment la, je me suis dis j’ai oublié quelque chose ?!
Je regarde donc à l’exemple :
http://wiki.splitbrain.org/wiki:auth:mysql#an_improved_exa…
Je me rends compte que j’ai peut être oublié de modifié dans mysql.conf.php :

$conf['auth']['mysql']['getUserInfo'] = "SELECT pass, CONCAT(firstname,' ',lastname) AS name, email AS mail
                                         FROM users
                                         WHERE login='%u'";
$conf['auth']['mysql']['addUser']     = "INSERT INTO users
                                         (login, pass, email, firstname, lastname)
                                         VALUES ('%u', '%p', '%e',
                                         SUBSTRING('%n', 1, LOCATE(' ', '%n')),
                                         SUBSTRING('%n', LOCATE(' ', '%n') + 1) )";
$conf['auth']['mysql']['FilterName']  = "CONCAT(firstname,' ',lastname) LIKE '%n'";
$conf['auth']['mysql']['UpdateName']  = "firstname=SUBSTRING_INDEX('%{name}',' ', 1),
                                         lastname=SUBSTRING_INDEX('%{name}',' ', -1)";

Je retourne sous mon DokuWiKi, une erreur surgit (la même) :
« L'authentification est temporairement indisponible. Si cela perdure, merci d'informer l'administrateur du Wiki. »


J’arrive donc pas avec l’exemple… ce qui m’étonne pas j’ai sans doute du comprendre que la moitié. Quelqu’un peut répondre à mon poste de manière a ce que je sache ce qui ne va pas, et en même que les autres utilisateurs dans le même problème que moi, je puisse trouver une solution ici ?
Ou une traduction du document ?

Je vous remercie d’avance,
THANATOS
Avatar
gtraxx #2
Member since Jun 2007 · 3 posts · Location: Belgium
Group memberships: Members
Show profile · Link to this post
Salut , je viens de voir votre post et en lisant correctement , je me rend compte qu'il manque des données pour l'authentification.
En gros on ne vois pas de "loggin" , dans les exemples il y as ceci:
$conf['auth']['mysql']['checkPass']   = "SELECT pass
                                         FROM usergroup AS ug
                                         JOIN users AS u ON u.uid=ug.uid
                                         JOIN groups AS g ON g.gid=ug.gid
                                         WHERE login='%{user}'
                                         AND name='%{dgroup}'";
Ceci illustre bien l'utilisation de md5 : %{user}
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2020-02-26, 15:22:47 (UTC +01:00)