URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/postgres-sous-debian Title: Postgres sous Debian Authors: DeMZed Date: 2006年10月21日T12:21:55+02:00 Tags: postgresql Score: 0 _Article du 13/03/2006_ **Introduction** Cet aticle va esssayer de synthétiser une méthodologie efficace et simple pour mettre en place : * PostgresSQL * PHPPGAdmin **Installation** On cherche donc à installer plusieurs choses : * PostgresSQL 8.1 : le serveur et un client * La librairie PostGres pour PHP5</li< * phpPGAdmin Pour cela, APT is my geïcha ;) £spaces£ £/spaces£sudo apt-get install postgresql-8.1 php5-pgsql Pour phpPGAdmin, inutile de l'APTiser : £spaces£ £/spaces£cd ~ £spaces£ £/spaces£wget [http://switch.dl.sourceforge.net/sourceforge/phppgadmin/phpP(...)](http://switch.dl.sourceforge.net/sourceforge/phppgadmin/phpPgAdmin-4.0.1.tar.bz2) £spaces£ £/spaces£tar -xvzf phpPgAdmin-4.0.1.tar.bz2 £spaces£ £/spaces£rm phpPgAdmin-4.0.1.tar.bz2 £spaces£ £/spaces£mv phpPgAdmin-4.0.1 /var/www/votresite..homeip.net/admin/db/phpPgAdmin £spaces£ £/spaces£chown -R www-data:www-data /var/www/votresite..homeip.net/admin/db/phpPgAdmin **Configuration** **_Postgres_** _A noter : Attention, la configuration de Postgres risque vous faire pousser des cheveux blancs que vous vous arracherez par frénétiquement par poignées. Postgres bénéficie d'un système d'authentification trés bien fait... trop peut être aux vues des problèmes que vous vous aurez sans doute si vous bidouillez un peu trop !_ Bon, donc vient le temps de la configuration de la base : ceci se fait en se connectant à Postgres. Comme root n'a pas le doit d'accéder au système Postgres, et que le système a été monté avec le user postgres, étant donné que le mot de passe de cet user est (et doit) rester inconnu, il suffit pour root de se faire passer pour postgres : vieuxpaf:~# whoami root vieuxpaf:~# su postgres postgres@vieuxpaf:/root$ psql Bienvenue dans psql 8.1.0, l'interface interactive de PostgreSQL. Tapez: \copyright pour les termes de distribution £spaces£ £/spaces£\h pour l'aide-mémoire sur les commandes SQL £spaces£ £/spaces£\? pour l'aide-mémoire sur les commandes psql £spaces£ £/spaces£\g ou terminez avec un point-virgule pour exécuter une requête £spaces£ £/spaces£\q pour quitter postgres=# SELECT version(); £spaces£ £/spaces£version -------------------------------------------------------------------------------------------------------------- £spaces£ £/spaces£PostgreSQL 8.1.0 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.0.3 20051111 (prerelease) (Debian 4.0.2-4) (1 ligne) Bien. Continuons maintenant par nous créer un user à nous ; mieux vaut ne pas donner trop de droits à ce petit gars là s'il est utilisé depuis l'extérieur ; laissons ses accreditations au minimum (bien que vous puissiez le créer superuser si vous le souhaitez !) £spaces£ £/spaces£create user with login encrypted password '<votre mdp>' Une fois cet utilisateur créé, modifions la configuration de Postgres afin de réaliser les authentification par MD5 et non plus par correspondance aux utilisateurs UNIX. Pour cela, il est nécessaire d'éditer /etc/postgresql/8.1/main/pg_hba.conf et de fixer la valeur suivante : £spaces£ £/spaces£# "local" is for Unix domain socket connections only £spaces£ £/spaces£local all all md5 Ceci nous permet alors de nous connecter via la commande : £spaces£ £/spaces£psql -U steph -W -d postgres Si vous souhaitez finalement accéder à votre base Postgres depuis un intranet, vous devrez éditer le fichier /etc/postgresql/8.1/main/pg_hba.conf et le modifier par exemple ainsi pour permettre à 192.168.0.3 (masque classe C, 255.255.255.0) d'y accéder via authentification MD5 # IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.0.3/24 md5 **_phpPGAdmin_** Tout d'abord, il faut éditer phpPgAdmin/conf/config.inc.php afin de faire de créer la DSN vers notre serveur : £spaces£ £/spaces£$conf['servers'][0]['desc'] = 'PostgreSQL vieuxpaf'; £spaces£ £/spaces£$conf['servers'][0]['host'] = '127.0.0.1'; £spaces£ £/spaces£$conf['servers'][0]['port'] = 5432; £spaces£ £/spaces£$conf['servers'][0]['defaultdb'] = 'postgres'; _A noter : si vous utilisez le module mod-security avec Apache2, faites attention à être à jour (consultez le /var/log/apache2/monsite.error.log)_ **Fin** Finalement...euh... et bien c'est tout ! phpPGAdmin fonctionne ! (waouh(c) inside ;))

AltStyle によって変換されたページ (->オリジナル) /