Ce tutoriel est spécialement rédigé par un débutant pour des débutants sous Mandrake. Il ne se veut absolument pas exhaustif des méthodes d'installation et de configuration de PostgreSQL et de pgaccess. En effet, de très bons articles sont déjà présents sur Internet mais nécessitent des connaissances avancées en informatique qu'un débutant avec Linux ne comprend pas toujours, comme moi .
Pas d'erreur, le titre est volontairement au singulier, une seule compétence est nécessaire que tout débutant digne de ce nom ne possède pas encore et qui va nous être très utile. De quoi s'agit-il ?
De savoir modifier un fichier texte au sein même de la console.Cette compétence va nous permettre de modifier un fichier texte appartenant
à un autre utilisateur (le super-utilisateur root par exemple) en nous évitant
de devoir fermer notre session graphique en cours.
Si vous savez déjà
le faire, vous pouvez aller directement au début du
tutoriel.
Nous allons utiliser l'éditeur vi. Il suffit pour cela de taper en ligne de commande
vi nom_fichier
vi peut sembler repoussant à la première utilisation pour un débutant mais c'est un éditeur très convivial. Pour le prendre en main, un tutoriel existe. Il nécessite d'installer vim. Suivez-le et en deux minutes vous an saurez assez pour réaliser ce que nous vous proposons. Le tutoriel se lance en lançant à partir de la ligne de commande
vim tutor
Le début vous apprend à supprimer et à insérer des caractères dans le texte. Vous pouvez continuer mais pensez bien que cette compétence vous sera acquise à jamais !
En guise d'installation, on ne va pas faire compliqué (nous sommes débutants, souvenez-vous). Nous installons toutes les archives RPM contenues dans les CD Mandrake comportant le mot postgresql. Mais, les deux paquetages suivants devraient suffire :
Les numéros de versions auront peut-être changé à l'heure où vous lirez
ces lignes.
Pour plus d'informations sur l'installation de PostgreSQL et sur les
dernières versions, voir les liens à la fin de ce
document.
Attribuons-nous tout de suite le droit d'utiliser PostgreSQL en créant un utilisateur à notre nom (disons MonNom). Voici les commandes à lancer :
su
su postgres
createuser MonNom
Cet utilitaire vous demandera tout d'abord si le nouvel utilisateur a le droit de créer des bases de données. Répondez y (pour yes, oui), cela vous permettra de créer autant de bases de données que vous le souhaitez. La deuxième, et dernière question, concerne le droit de création des utilisateurs. Il est préférable de répondre non à cette question pour des raisons de sécurité mais quelle que soit votre réponse, elle n'influera pas sur la suite de ce tutoriel.
Pgaccess ne nécessite pas vraiment d'installation, étonnant n'est-ce
pas !
Voici où le
télécharger. Pour un débutant, prendre le fichier nommé Hardcore
(gzipped source tarball) car il ne nécessite aucune compilation.
Une fois l'archive téléchargée, décompressez-la où vous voulez. Vous y trouverez le fichier pgaccess.tcl qu'il suffit de lancer pour accéder à pgaccess. Voici comment faire :
sh pgaccess.tcl
Si vous utilisez l'interface KDE, vous pouvez mettre tout simplement un raccourci vers pgaccess.tcl dans le tableau de bord (un glisser-déposer suffit). C'est bien plus pratique.
Nous sommes pratiquement prêt à utiliser PostgreSQL et pgaccess. Mais, des petites modifications sont nécessaires dans les fichiers pg_hba.conf et postgresql.conf. C'est maintenant que la compétence du début va nous servir.
Ouvrons une console (par exemple, avec l'application Konsole) et connectons-nous en tant qu'utilisateur root :
su
Créons un mot de passe pour l'utilisateur postgres (je suppose que vous ne l'avez pas encore fait) :
passwd postgres
Connectons-nous maintenant en tant qu'utilisateur postgres (c'est très important, il ne faut surtout pas être l'utilisateur root pour effectuer la suite).
su - postgres
Aucun mot de passe ne vous est demandé. En effet, comme nous sommes l'utilisateur root, nous sommes administrateur et cet état nous affanchit du besoin du mot de passe.
Allons maintenant dans le répertoire où se trouvent les fichiers à modifier.
cd /var/lib/pgsql/data
Commençons par pg_hba.conf :
vi pg_hba.conf
Le fichier est composé en deux parties. Celle du haut explique dans la
langue de Shakespeare l'utilité de ce fichier et la façon de l'utiliser. Vous
pouvez la lire mais, pour ce qui nous concerne, la fin du fichier nous
intéresse, nous avons besoin de supprimer le caractère #
en
début de ligne, ce symbôle étant un caractère de commentaire, des trois
lignes en bas du fichier, certainement les trois dernières lignes.
# local all all trust
# host all all 127.0.0.1 255.255.255.255 trust
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others) local all all ident sameuser
Ces lignes deviennent :
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others) local all all ident sameuser
Des paramétrages plus fins sont possibles. Si vous voulez en savoir plus, suivez ces quelques liens.
Cela fait, on sauvegarde le fichier avec la commande :wq
et
on passe au suivant avec la commande :
vi postgresql.conf
Deux lignes dans le haut du fichier doivent subit le même sort, à savoir
supprimer le caractère #
en début de ligne. Plus exactement,
elles se trouvent dans la partie Connection Parameters, ces
lignes sont tcpip_socket = true et port = 5432. Voici
en détail ce que ça donne :
# Connection Parameters
#
#tcpip_socket = true
#ssl = false
#max_connections = 32
#superuser_reserved_connections = 2
#port = 5432
qui devient :
# Connection Parameters
#
tcpip_socket = true
#ssl = false
#max_connections = 32
#superuser_reserved_connections = 2
port = 5432
Cela étant fait, enregistrons le fichier (là-encore, commande
:wq
).
Voila voila, c'est fini ! Testons PostgreSQL pour voir si cela fonctionne bien.
Commençons par quitter la connexion de l'utilisateur postgres en tapant la commande :
exit
Nous devons d'abord lancer le serveur. Nous avons quitté l'utilisateur postgres et sommes revenu en tant qu'utilisateur root. Cet utilisateur a le droit de lancer les services, dont le serveur PostgreSQL. Pour cela, il faut taper :
service PostgreSQL start