309 lines
8.8 KiB
Text
309 lines
8.8 KiB
Text
PhpCompta Installation
|
||
originally written by Dany De Bontridder
|
||
$Revision$ $Date$
|
||
|
||
Ce document décrit l'installation complète de PhpCompta et explique
|
||
comment on été installé les programmes dont PhpCompta dépend. Php-
|
||
Compta PhpCompta <http://www.alchimerys.be/FR/phpcompta> site savannah
|
||
PhpCompta Savannah <http://savannah.nongnu.org/projects/phpcompta/>
|
||
______________________________________________________________________
|
||
|
||
Table of Contents
|
||
|
||
|
||
1. Linux
|
||
2. Postgresql (version 732 minimum)
|
||
2.1 Installation
|
||
2.2 Configuration et démarrage de PostgreSql
|
||
2.3 Optimisation
|
||
2.4 Pour la sécurité
|
||
|
||
3. Apache
|
||
3.1 Installation d'Apache
|
||
3.2 Configuration d'Apache
|
||
|
||
4. PHP
|
||
4.1 Installation de PHP 4.3.1
|
||
4.2 Configuration de PHP : Fichier php.ini
|
||
|
||
5. Installation de PhpCompta
|
||
5.1 Première installation
|
||
5.2 Mise à jour
|
||
|
||
6. Conclusion
|
||
|
||
|
||
______________________________________________________________________
|
||
|
||
[1m1. Linux[0m
|
||
|
||
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.
|
||
|
||
|
||
Cependant, les configurations des différents produits est important et
|
||
devrait être lues avant d'appeler à l'aide.
|
||
|
||
|
||
|
||
[1m2. Postgresql (version 732 minimum)[0m
|
||
|
||
[1m2.1. Installation[0m
|
||
|
||
Soit avec des binaires préparés, soit à partir du code source
|
||
|
||
|
||
|
||
Si vous décidez de le compiler vous-même, les options suivantes
|
||
fonctionnent ./configure -with-tk --with-python --with-perl
|
||
--prefix=/opt/psql732
|
||
|
||
|
||
|
||
[1m2.2. Configuration et démarrage de PostgreSql[0m
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
|
||
ne pas oublier d'ajouter dans le PATH, l'endroit où se trouve les
|
||
binaires de postgres
|
||
|
||
ex:
|
||
export PATH=$PATH:/opt/psql732/bin
|
||
|
||
|
||
|
||
Il est impératif d'avoir l'option -i, sinon le server HTTP ne pourra
|
||
pas contacter PostgreSql
|
||
|
||
Dans PGDATA,vous trouverez le fichier nommé pg_hba.conf qui vous
|
||
permettra de régler la sécurité
|
||
|
||
Ce fichier doit au moins contenir la ligne:
|
||
|
||
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
|
||
host all phpcompta 172.16.30.0 255.255.255.0 local
|
||
|
||
|
||
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
|
||
|
||
[1m2.3. Optimisation[0m
|
||
|
||
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.
|
||
|
||
|
||
Les paramètres que vous pouvez utiliser si vous avez une machine d'au
|
||
moins 256 Mb:
|
||
|
||
· 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é pour les tris et les jointures,! attention ce
|
||
paramètre donne la consommation mémoire par session !
|
||
|
||
· Faites tourner régulièrement vacumdb -a -z grâce au crontab
|
||
|
||
· 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
|
||
|
||
· à compléter
|
||
|
||
|
||
[1m2.4. Pour la sécurité[0m
|
||
|
||
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
|
||
|
||
changement mot de passe
|
||
alter user .1. password '.2.'
|
||
|
||
|
||
|
||
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
|
||
|
||
|
||
Ensuite soit vous utilisez la variable d'environnement PGPASSWORD qui
|
||
contient votre mot de passe soit avec le fichier .pgpass dont la syn-
|
||
taxe est
|
||
|
||
host:port:database:username:password
|
||
|
||
|
||
N'oubliez pas de mettre ce fichier en mode 600 !!!! Pour executer sans
|
||
demande de mot de passe host = localhost
|
||
|
||
|
||
[1m3. Apache[0m
|
||
|
||
[1m3.1. Installation d'Apache[0m
|
||
|
||
Si vous décidez de le compiler vous-même, les options suivantes
|
||
fonctionnent
|
||
|
||
./configure --prefix=/opt/http2/ \
|
||
--enable-ssl \
|
||
--enable-http \
|
||
--enable-cgi \
|
||
--enable-so \
|
||
--enable-usertrack \
|
||
--enable-headers \
|
||
--enable-info
|
||
|
||
|
||
|
||
[1m3.2. Configuration d'Apache[0m
|
||
|
||
Le fichier httpd.conf doit au moins contenir. Pour plus d'information,
|
||
voir le manuel d'Apache.
|
||
|
||
LoadModule php4_module modules/libphp4.so
|
||
AddType application/x-httpd-php .php4 .php3 .php .phtml
|
||
|
||
|
||
Et si vous décidez d'avoir la même configuration que moi, mais ce
|
||
n'est pas obligatoire
|
||
|
||
|
||
|
||
< VirtualHost 172.16.30.150 >
|
||
ServerName site
|
||
ErrorLog phpcompta-error.log
|
||
TransferLog phpcompta-debug.log
|
||
DocumentRoot /home/httpd/compta/html
|
||
</VirtualHost >
|
||
|
||
|
||
|
||
Apache se démarre avec apachectl start
|
||
|
||
[1m4. PHP[0m
|
||
|
||
[1m4.1. Installation de PHP 4.3.1[0m
|
||
|
||
Il doit être compilé le dernier !!! Si vous décidez de le compiler
|
||
vous-même, les options suivantes fonctionnent
|
||
|
||
|
||
./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
|
||
|
||
|
||
|
||
le répertoire /software/httpd-2.0.44 est le répertoire ou vous
|
||
installer les sources d'apache
|
||
|
||
[1m4.2. Configuration de PHP : Fichier php.ini[0m
|
||
|
||
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
|
||
|
||
|
||
|
||
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"
|
||
|
||
|
||
|
||
[1m5. Installation de PhpCompta[0m
|
||
|
||
[1m5.1. Première installation[0m
|
||
|
||
On suppose que postgresql est installé correctement
|
||
|
||
|
||
Etape
|
||
|
||
· Se connecter en tant que postgres et taper les commandes
|
||
|
||
|
||
createuser -d -P dany phpcompta
|
||
createdb -O phpcompta phpcompta
|
||
|
||
|
||
|
||
· 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)
|
||
|
||
· Vous devez connecter sur http://votre_server/admin/setup.php
|
||
|
||
[1m5.2. Mise à jour[0m
|
||
|
||
Etape
|
||
|
||
· 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)
|
||
|
||
· Vous devez connecter sur http://votre_server/admin/setup.php
|
||
|
||
[1m6. Conclusion[0m
|
||
|
||
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.
|
||
|
||
|
||
IMPORTANT Vous devez effacer le répertoire html/admin après
|
||
installation ou mise à jour !!!!
|
||
|
||
|
||
|