altocompta/doc/INSTALL-fr.sgml
2005-02-01 20:56:14 +00:00

272 lines
8.3 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 on
été installé 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">
</abstract>
<!-- Table of contents -->
<toc>
<sect>Linux
<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 est destinées à ceux devant le faire manuellement.
<p> Cependant, les configurations des différents produits est important
et devrait ê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
./configure -with-tk --with-python --with-perl --prefix=/opt/psql732
</p>
</sect1>
<sect1>Configuration et démarrage de PostgreSql
<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>
ne pas oublier d'ajouter dans le PATH, l'endroit où se trouve les
binaires de postgres
<quote>
ex:
export PATH=$PATH:/opt/psql732/bin
</quote>
</p>
<p>
Il est impératif d'avoir l'option -i, 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
il faut aussi que l'utilisateur qui installera ce programme existe pour postgres et
puisse créer des utilisateur et des bases de données la commande
<quote>
/opt/psql732/bin/createuser -a -d $USER
</quote>
</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
<itemize>
<item> Augmenter la zone mémoire pour les tri (dans postgres.conf) sort_mem = 8192</item>
<item> Faites tourner régulièrement vacumdb -a -z grâce au crontab</item>
<item> Dans php.ini, bien utiliser les permanent_connection </item>
<item> à compléter </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
<quote>
changement mot de passe
alter user .1. password '.2.'
</quote>
<quote>
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
</quote>
Ensuite soit vous utilisez la variable d'environnement PGPASSWORD qui contient
votre mot de passe soit avec le fichier .pgpass dont la syntaxe est
<quote>
host:port:database:username:password
</quote>
N'oubliez pas de mettre ce fichier en mode 600 !!!! Pour executer sans demande
de mot de passe host = localhost
Ensuite soit vous utilisez la variable d'environnement PGPASSWORD qui contient
votre mot de passe soit avec le fichier .pgpass dont la syntaxe est
<quote>
host:port:database:username:password
</quote>
N'oubliez pas de mettre ce fichier en mode 600 !!!! Pour executer sans demande
de mot de passe host = localhost
</sect1>
</sect>
<sect> Apache
<sect1>Installation d'Apache
<p>
Si vous décidez de le compiler vous-même, les
options suivantes fonctionnent
<quote>
./configure --prefix=/opt/http2/ \
--enable-ssl \
--enable-http \
--enable-cgi \
--enable-so \
--enable-usertrack \
--enable-headers \
--enable-info
</quote>
</p>
</sect1>
<sect1> Configuration d'Apache
<P>
Le fichier httpd.conf doit au moins contenir. Pour plus d'information, voir
le manuel d'Apache.
<quote>
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php4 .php3 .php .phtml
</quote>
Et si vous décidez d'avoir la même configuration que moi, mais ce
n'est pas obligatoire
<quote>
&lt; VirtualHost 172.16.30.150 &gt;
ServerName site
ErrorLog phpcompta-error.log
TransferLog phpcompta-debug.log
DocumentRoot /home/httpd/compta/html
&lt;/VirtualHost &gt;
</quote>
Apache se démarre avec apachectl start
</p>
</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
register_globals = on
[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
<p>
On suppose que postgresql est installé correctement
Etape
<itemize>
<item> Se connecter en tant que postgres et taper la commande
<verb> createuser -d phpcompta</verb>
<item> Là on vous comptez installer le soft, créer le répertoire, règler les permissions
<item> connecter vous en tant que l'utilisateur qu'il a le droit dans le répertoire décrit plus haut, puis
taper ./install.sh
</itemize>
</sect>
<sect>Conclusion
<p>
Voilà maintenant, il vous suffit de faire ./install.sh pour tout
installer; puis d'aller avec votre navigateur sur l'url.
http://adresse_ip_du_virtualhost/test.php. Vous verrez directement,
si l'application fonctionne.
</p>
</sect>
<sect>Remarque
<p>
<itemize>
<item>Il faut créer le répertoire où seront mis l'application elle-même,
ici, les fichiers seront dans /home/httpd/compta, l'endroit est défini dans setenv.sh. Créer ce
répertoire, le propriétaire de répertoire doit être le même que
celui qui installera l'application. Cet utiliserateur devra
aussi avoir le privilège de créer un utilisateur pour postgres
(fonction createuser).
<item>Adapter le fichiers setenv.sh selon vos besoins
</itemize>
</sect>
</article>