Moodle avec Postgresql 8
Nombre de réponses : 12Je suis dans le point d'installer Moodle sur une machine Linux UBUNTU 6.0, l'installation fonctionne jusqu'a l'étape de base de donnée setting, où je choisis au type de la base de donnée Postgres 7 au lieu de Mysql, et après avoir remplie les autres champs (nom de la base et user et mot de passe) de la base de dennées que j'ai déja créer, et faire suivant, la connection ne se fait pas et message d'erreur:
Moodle n'a pas pu se connecter à la base de données indiquée. Veuillez vérifier les paramères de votre base de données
et pourtant les paramètre sont juste.
j'ai besoin d'une idée ou un manuel d'installation de moodle avec Postgresql.
Merci d'avance pour votre aide
Khaled
Re: Moodle avec Postgresql 8
Re: Moodle avec Postgresql 8
Merci pour votre aide, j'ai pas trouver vraiment grand chose sur le lien. Finalement j'ai réussi l'installation.
Salutation.
Khaled.
Re: Moodle avec Postgresql 8
Bonjour Khaled,
Il y a peut-être une raison toute simple liée à la configuration de postgresql ?
1er point à vérifier : est-ce que le serveur postgresql est lancé ?
2e point : est-ce que postgresql autorise la machine qui héberge Moodle à se loguer à la base de données ? (fichier pg_hba.conf)
3e point : est-ce que le serveur postgresql autorise les communications internet ? (fichier postgresql.conf)
4e point : est-ce que la base moodle est bien créée dans postgresql ?
5e point : utilises-tu le bon utilisateur postgresql pour accéder à la base ?
6e point : est-ce que tu disposes des droits dans le dossier pour écrire le fichier de configuration de Moodle ?
Ces questions sont peut-être assez bêtes sur le principe mais en général c'est "petites choses" ont le don de pourrir l'utilisation d'un système ...
Si tout cela est ok, il faudra que tu nous en dises plus sur ta configuration système.
Cordialement
Philippe Vignoles
Re: Moodle avec Postgresql 8
Merci de votre aide mais mon problème n'est pas encore résolu, j'ai toujours pas pus établir la connection, pour les point que vous m'avez demandé de vérifier c'est fait et d'ailleur voici une copie des ligne de mon fichier pg-dba.conf :
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
et ça c'est la preuve que ma base et bien crée:
postgres@OTCAClient1:~$ psql -l
Liste des bases de données
Nom | Propriétaire | Encodage
-----------+--------------+----------
moodle | moodleuser | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 lignes)
pour les autres points ils sont tous OK.
Pour ma configuration j'ai pas grand chose a vous dire a part que j'ai installé la version Ubuntu 6.0 de linux disponible sur le site : http://www.ubuntu.com/ (j'ai pas de configuration spéciale installation par défaut)
mais mon problème j'ai même éssayé l'installation de moodle sur windows XP mais j'arive toujours au point de la connection a la base de données et l'installation s'arrête.
Merci encore
Khaled.
Re: Moodle avec Postgresql 8
Bonjour Khaled,
et en essayant de modifier la ligne du pg_hba.conf :
# Database administrative login by UNIX sockets
local all postgres ident sameuser
en :
# Database administrative login by UNIX sockets
local all all trust
Après modification du fichier, il faut relancer le service postgresql :
/etc/init.d/postgresql restart
(ou stop puis start à la place de restart).
Tenez-nous au courant.
Cordialement
Philippe Vignoles
Re: Moodle avec Postgresql 8
Je viens de faire les changements sur le fichier pg_hba.conf a l'instant et ça marche enfin (j'avais perdu espoir) j'ai pu continuer l'installation avec succé.
Je vous remercie infiniment pour votre precieuse aide.
Salutations
Khaled.
Re: Moodle avec Postgresql 8
Bonjour Khaled,
Parfait !
Alors j'ai une bonne et une mauvaise nouvelles. Je commence par la bonne :
l'idée que j'avais eu était la bonne et par conséquent, le problème venait de l'utilisation du compte postgres et de la manière de l'utiliser pour postgresql via linux. Je m'explique : le mode de connexion avec les mots clés "ident sameuser"t indique qu'il faut utiliser le même utilisateur pour postgresql que celui qui existe dans Linux (même mot de passe si je ne me trompe pas). Problème : si on essaie de se loguer au système avec le compte postgres, on ne doit normalement pas arriver à le faire car le compte est probablement désactivé pour des questions de sécurité. Il faut de préférence passer par root au préalable ou éventuellement utiliser les sudo (ce que je n'ai jamais fait).
La mauvaise nouvelle :
la config que j'ai suggérée n'a vraiment de raison d'être que pour tester l'outil. Il ne faut pas la laisser telle quelle car elle est trop permissive. L'idéal est de créer un utilisateur spécifiquement pour gérer la base de données de Moodle dans postgresql (et uniquement dans postgresql pas pour Linux). Ensuite dans pg_hba.conf, il faudra accorder des droits de connexion à cet utilisateur sur la base de données. La ligne de commande pourrait ressembler à :
host moodle moodleuser 127.0.0.1/32 md5
cela force l'authentification pour la connexion à la base en autorisant l'utilisateur moodleuser (créé dans postgresql) à se connecter à la base de données moodle uniquement sur la boucle locale. Le mot clé md5 impose une authentification à la base par mot de passe crypté. Comme il s'agit d'une boucle locale, on peut éventuellement prendre le risque de laisser trust pour faire les premiers essais ou au cas où md5 ne marcherait pas.
Bien entendu, il faut que l'utilisateur moodleuser ait des droits sur la bdd moodle (il serait même judicieux que ce soit lui le créateur). Après tout ça cela devrait marcher. Bien entendu, dans le fichier config.php de moodle (qui se trouve dans la racine du dossier), il faut retrouver toutes ces informations :
il faut trouver l'adresse du serveur
le nom de compte de connexion à la base (moodleuser)
la base de données (moodle)
et le pilote à utiliser (postgres7).
Voilà pour le moment.
Cordialement
Philippe Vignoles
Re: Moodle avec Postgresql 8
Je pense que j'ai explosé ma joie un peu rapidement et je croyais que c'est fini, mais non, un nouveau problème, après que les scriptes de l'installation des tables ont tous été bien exécutés avec succé, et la dernière étape de l'installation(Création du site) je rentre le nom du site et l'abrégé et je fais enregistrer et la, voici le message d'erreur:
Serious Error! Could not set up the site!
voisi le bout de code dans le fichier site.php qui affiche ce commentaire:
if ($newid = insert_record('course', $form)) {
// Site created, add blocks for it
$page = page_create_object(PAGE_COURSE_VIEW, $newid);
blocks_repopulate_page($page); // Return value not checked because you can always edit later
$cat->name = get_string('miscellaneous');
if (insert_record('course_categories', $cat)) {
redirect("$CFG->wwwroot/$CFG->admin/index.php", get_string("changessaved"), 1);
} else {
error("Serious Error! Could not set up a default course category!");
}
} else {
error("Serious Error! Could not set up the site!");
}
J'ai tout essayer, tous les folders sont accessible en ecriture et en lecture par les utilisateur, mais je ne comprend pas pour quoi ca ne marche pas.
Merci de votre aide d'avance.
Khaled
Re: Moodle avec Postgresql 8
Rebonjour Khaled,
Pour cette erreur, je me sens sec. Est-ce que le fichier config.php est correctement créé ? Tu peux nous donner la partie du code ?
Cordialement
Philippe Vignoles
Re: Moodle avec Postgresql 8
Le fichier config.php a été bien créer et voici son code:
<?php /// Moodle Configuration File
unset($CFG);
$CFG->dbtype = 'postgres7';
$CFG->dbhost = 'user=\'moodleuser\' password=\'Adm1n2006\' dbname=\'moodle\'';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';
$CFG->wwwroot = 'http://localhost/moodle';
$CFG->dirroot = '/var/www/moodle';
$CFG->dataroot = '/var/www/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode
require_once("$CFG->dirroot/lib/setup.php");
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>
Et tous les folders ou fichiers sont permis en lecture et ecriture et suppression.
Merci d'avance
Khaled.
Re: Moodle avec Postgresql 8
Bonjour Khaled,
Eh bien finalement, je confirme que je n'ai pas trop d'idée sur l'origine de l'erreur. Je n'ai jamais constaté ce problème (et pourtant j'ai bien utilisé postgres avec Moodle).
Est-ce qu'en utilisant pgaccess (fourni avec postgresql ou à installer séparémment) ou webmin, on peut visualiser correctement les tables qui ont été créées au moment de l'installation ?
Désolé de ne pas être plus efficace sur ce problème
Cordialement
Philippe Vignoles
Re: Moodle avec Postgresql 8
Bonjour Khaled,
Où en es-tu de l'installation avec postgresql ?
Je viens de re-réfléchir au fichier config.php de moodle. S'agit-il d'un extrait ? Car en ce qui me concerne, le mien est beaucoup plus long...
As-tu tenté de modifié le code :
$CFG->dbtype = 'postgres7';
$CFG->dbhost = 'user=\'moodleuser\' password=\'Adm1n2006\' dbname=\'moodle\'';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';
par
$CFG->dbtype = 'postgres7';
$CFG->dbhost = 'localhost';
$CFG->dbname = 'moodle';
$CFG->dbuser = 'moodleuser';
$CFG->dbpass = 'Adm1n2006';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';
Le mieux est de reprendre le fichier de configuration exemple fourni pas moodle (config-dist.php) et de le modifier à sa sauce. Il ne faut pas oublier, dans ce fichier exemple, de renseigner correctement l'adresse du site de moodle :
$CFG->wwwroot = 'http://localhost/moodle';
$CFG->dirroot = '/var/www/moodle';
$CFG->dataroot = '/var/www/moodledata';
comme cela était fait dans ton extrait.
Il faut ensuite sauvegarder ce fichier en le renommant en config.php et tenter de continuer l'installation à partir de là.
Ce qui est bizarre c'est que tu as eu toutes ces difficultés d'installation. Avec la version 1.6, cela est très simple (j'ai juste eu le problème de la version de php pour y arriver mais à part ça, cela a roulé parfaitement).
Tu nous tiens au courant ?
Cordialement
Philippe Vignoles