291 lines
9 KiB
Text
291 lines
9 KiB
Text
<!doctype linuxdoc system>
|
|
<article>
|
|
<title> PhpCompta Installation</title>
|
|
<author>
|
|
<name>originally written by Dany De Bontridder </name>
|
|
</author>
|
|
<date>$Revision$ $Date$</date>
|
|
<abstract>
|
|
Ce document décrit l'installation complète de PhpCompta et explique comment
|
|
ont été installés les programmes dont PhpCompta dépend.
|
|
PhpCompta <url url="http://www.alchimerys.be/FR/phpcompta" name="PhpCompta">,
|
|
site savannah
|
|
<url url="http://savannah.nongnu.org/projects/phpcompta/" name="PhpCompta Savannah">
|
|
<!-- Table of contents -->
|
|
<toc>
|
|
<sect>Avertissement
|
|
<p> Si vous installez sur Linux, l'installation d'apache, postgres et php peut se
|
|
faire avec les "packages" standards
|
|
fournis; ces "packages" sont largement suffisants. Les explications
|
|
données ici sur l'installation de ces produits sont destinées à ceux
|
|
préfèrant le faire manuellement.
|
|
|
|
<p>Si vous installez sous Windows, il est assez compliqué de recompiler.
|
|
Il est préférable d'utiliser les programmes fournis sur <url url="http://www.postgresql.org"
|
|
name="Postgres"> et <url url="http://www.easyphp.org/" name="EasyPhp">.
|
|
|
|
|
|
<p> Cependant, les configurations des différents produits sont importantes
|
|
et devraient être lues avant d'appeler à l'aide.
|
|
</sect>
|
|
|
|
<sect>Postgresql (version 732 minimum)
|
|
<sect1>Installation
|
|
<p>
|
|
Soit avec des binaires préparés, soit à partir du code source
|
|
</p>
|
|
<p>
|
|
Si vous décidez de le compiler vous-même, les
|
|
options suivantes fonctionnent
|
|
<verb>
|
|
./configure -with-tk --with-python --with-perl --prefix=/opt/psql732
|
|
</verb>
|
|
</p>
|
|
</sect1>
|
|
<sect1>Configuration et démarrage de PostgreSql <label id="configuration">
|
|
<p>
|
|
Comme d'habitude pour postgres, il faut tout d'abord définir, créer
|
|
l'utilisateur postgres puis initialiser l'endroit où seront stocké vos données
|
|
(variable env. PGDATA),
|
|
exemple
|
|
<tscreen><verb>
|
|
root#mkdir /data/psql
|
|
root#chown postgres /data/psql
|
|
root#su - postgres
|
|
postgres#initdb -D /data/psql
|
|
postgres#pg_ctl -D /data/psql -o '-i' start
|
|
</verb></tscreen>
|
|
</p>
|
|
<p>
|
|
Il est impératif que dans le fichier postmaster.conf vous ayez les options
|
|
<verb>
|
|
tcpip_socket = true
|
|
port=5432
|
|
</verb>
|
|
D'autres options sont conseillées pour l'optimisation de Postgresql
|
|
</p>
|
|
<p>
|
|
ne pas oublier d'ajouter dans le PATH, l'endroit où se trouve les
|
|
binaires de postgres
|
|
<verb>
|
|
ex:
|
|
export PATH=$PATH:/opt/psql732/bin
|
|
</verb>
|
|
</p>
|
|
<p>
|
|
Il est impératif d'avoir soit l'option -i soit la directive tcpip_socket=true
|
|
, sinon le server HTTP ne pourra pas contacter PostgreSql.
|
|
</p>
|
|
<P>
|
|
Dans PGDATA,vous trouverez le fichier nommé pg_hba.conf qui
|
|
vous permettra de régler la sécurité<newline>
|
|
|
|
Ce fichier doit au moins contenir la ligne:
|
|
<verb>
|
|
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
|
|
host all phpcompta 172.16.30.0 255.255.255.0 local
|
|
</verb>
|
|
Il vaut mieux remplacer 172.16.30.0 par l'adresse du server HTTP, dans
|
|
le cas où vous utilisez un VirtualHost avec une adresse IP, c'est
|
|
cette adresse qu'il vous faudra mettre
|
|
</p>
|
|
</sect1>
|
|
<sect1>Optimisation
|
|
<p> Posgresql est une base de données très rapide, cependant, il vous faudra configurer
|
|
pour pouvoir en bénéficier. Les paramètres par défaut sont prévus pour une machine qui n'a
|
|
que 16 Mb de RAM... Donc, aller voir la documentation sur Postgresql.org, chapitre
|
|
Run-time Configuration.
|
|
|
|
<p> Les paramètres que vous pouvez utiliser si vous avez une machine d'au moins 256 Mb:
|
|
<itemize>
|
|
<item> Augmenter la zone mémoire pour les tri (dans postgres.conf) sort_mem = 8192; cette
|
|
zone mémoire est important car elle a trait à la mémoire utilisée pour les tris et les
|
|
jointures! attention ce paramètre donne la consommation mémoire par session !
|
|
</item>
|
|
<item> Faites tourner régulièrement vacumdb -a -z grâce au crontab(une fois par jour)</item>
|
|
<item> Dans postgres.conf, les shared_buffers: calculées en page de 8Kb,
|
|
la valeur par défaut
|
|
est de seulement 64, ce qui correspond à 512Kb, une meilleure valeur est 640 </item>
|
|
|
|
</itemize>
|
|
</sect1>
|
|
<sect1> Pour la sécurité
|
|
<p>Vous pouvez ajouter la sécurité à votre server Postgresql en changeant
|
|
dans pg_hba.conf. Mais avant de faire cela, ajoutez un mot de passe à
|
|
vos utilisateurs avec la commande remplacer .1. par le nom de l'utilisateur
|
|
et .2. par son mot de passe
|
|
<verb>
|
|
changement mot de passe
|
|
alter user .1. password '.2.'
|
|
</verb>
|
|
|
|
<verb>
|
|
Sécurité
|
|
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
|
|
host all phpcompta 172.16.30.0 255.255.255.0 md5
|
|
local all phpcompta 172.16.30.0 255.255.255.0 md5
|
|
</verb>
|
|
Ensuite soit vous utilisez la variable d'environnement PGPASSWORD qui contient
|
|
votre mot de passe soit avec le fichier .pgpass dont la syntaxe est
|
|
<verb>
|
|
host:port:database:username:password
|
|
</verb>
|
|
N'oubliez pas de mettre ce fichier en mode 600 !!!! Pour executer sans demande
|
|
de mot de passe host = localhost
|
|
|
|
</sect>
|
|
|
|
<sect> Apache
|
|
<sect1>Installation d'Apache
|
|
<p>
|
|
Si vous décidez de le compiler vous-même, les
|
|
options suivantes fonctionnent
|
|
<verb>
|
|
./configure --prefix=/opt/http2/ \
|
|
--enable-ssl \
|
|
--enable-http \
|
|
--enable-cgi \
|
|
--enable-so \
|
|
--enable-usertrack \
|
|
--enable-headers \
|
|
--enable-info
|
|
</verb>
|
|
</p>
|
|
</sect1>
|
|
|
|
<sect1> Configuration d'Apache
|
|
<P>
|
|
Le fichier httpd.conf doit au moins contenir.
|
|
<verb>
|
|
LoadModule php4_module modules/libphp4.so
|
|
AddType application/x-httpd-php .php4 .php3 .php .phtml
|
|
</verb>
|
|
Et si vous décidez d'avoir la même configuration que moi, mais ce
|
|
n'est pas obligatoire
|
|
<verb>
|
|
< VirtualHost 172.16.30.150 >
|
|
ServerName site
|
|
ErrorLog phpcompta-error.log
|
|
TransferLog phpcompta-debug.log
|
|
DocumentRoot /home/httpd/compta/html
|
|
</VirtualHost >
|
|
</verb>
|
|
|
|
Apache se démarre avec apachectl start
|
|
</p>
|
|
<p>
|
|
Remarque : Pour plus d'information, voir le manuel d'Apache.
|
|
|
|
</sect1>
|
|
</sect>
|
|
|
|
|
|
<sect>PHP
|
|
<sect1>Installation de PHP 4.3.1
|
|
<p>
|
|
Il doit être compilé le dernier !!!
|
|
Si vous décidez de le compiler vous-même, les
|
|
options suivantes fonctionnent
|
|
<tscreen><verb>
|
|
./configure --prefix=/opt/php431 \
|
|
--with-apxs2=/opt/http2/bin/apxs \
|
|
--with-fastcgi \
|
|
--with-zlib \
|
|
--with-pgsql=/opt/psql732 \
|
|
--with-mysql \
|
|
--with-apache2=/software/httpd-2.0.44
|
|
</verb></tscreen>
|
|
|
|
le répertoire /software/httpd-2.0.44 est le répertoire ou vous installer
|
|
les sources d'apache
|
|
</p>
|
|
</sect1>
|
|
|
|
<sect1>Configuration de PHP : Fichier php.ini
|
|
<P>
|
|
s'il n'existe pas, vous devez le créer, l'endroit
|
|
où vous le trouverez dépend des options de compilation. Dans le cas,
|
|
où vous avez compilé php de la même manière que moi, il se trouve
|
|
dans /opt/php431/lib.
|
|
Recopier simplement le fichier fourni à cet endroit.
|
|
|
|
Sinon, adaptez votre fichier, il doit avoir au minimum les options
|
|
suivantes
|
|
<verb>
|
|
|
|
magic_quotes_gpc = Off
|
|
magic_quotes_runtime = Off
|
|
magic_quotes_sybase = Off
|
|
|
|
|
|
[Session]
|
|
session.save_handler = files ; handler used to store/retrieve data
|
|
session.save_path = /tmp ; argument passed to save_handler
|
|
; in the case of files, this is the
|
|
; path where data files are stored
|
|
session.use_cookies = 1 ; whether to use cookies
|
|
session.name = PHPSESSID
|
|
; name of the session
|
|
; is used as cookie name
|
|
session.auto_start = 1 ; initialize session on request startup
|
|
session.cookie_lifetime = 0 ; lifetime in seconds of cookie
|
|
; or if 0, until browser is restarted
|
|
session.cookie_path = /tmp ; the path the cookie is valid for
|
|
|
|
allow_call_time_pass_reference = on
|
|
register_argc_argv = on
|
|
session.bug_compat_42 = 1
|
|
session.bug_compat_warn = 0
|
|
session.use_trans_sid = 1
|
|
include_path=".:../include:addon"
|
|
</verb>
|
|
</p>
|
|
</sect1>
|
|
</sect>
|
|
<sect>Installation de PhpCompta
|
|
<sect1>Première installation
|
|
<p>
|
|
On suppose que postgresql est installé correctement
|
|
|
|
<p>Etape
|
|
<itemize>
|
|
<item> Se connecter en tant que postgres et taper les commandes
|
|
<verb>
|
|
createuser -h localhost -d -P postgres phpcompta
|
|
createdb -h localhost -O phpcompta phpcompta
|
|
</verb>
|
|
|
|
<item>Décompacter le package dans le répertoire de votre choix, et configurer Apache pour qu'il
|
|
puisse accèder au sous-répertoire html. (voir plus haut la directive DocumentRoot)
|
|
<item>
|
|
Vous devez vous connecter sur http://votre_server/admin/setup.php
|
|
</itemize>
|
|
</sect1>
|
|
<sect1>Mise à jour
|
|
<p>Etape
|
|
<itemize>
|
|
<item> Faite un backup de toutes vos bases de données (cf pg_dumpall)
|
|
<item>Décompacter le package dans le répertoire de votre choix,
|
|
et configurer Apache pour qu'il
|
|
puisse accèder au sous-répertoire html. (voir plus haut la directive DocumentRoot)
|
|
<item>
|
|
Vous devez connecter sur http://votre_server/admin/setup.php
|
|
</itemize>
|
|
</sect1>
|
|
</sect>
|
|
<sect>Conclusion
|
|
<p>
|
|
En vous connectant à l'adresse
|
|
http://votre_server/admin/setup.php; vous installerez
|
|
tout ce qu'il faut, testerez votre installation et surtout met à jour
|
|
les bases de données dans le cas d'une mise à jour. En cas de problème,
|
|
signalez-le nous.
|
|
|
|
<p>
|
|
IMPORTANT Vous devez effacer le répertoire html/admin après installation ou mise
|
|
à jour !!!!
|
|
</p>
|
|
</sect>
|
|
|
|
|
|
</article>
|