This commit is contained in:
sparkyx 2007-05-10 20:01:40 +00:00
parent b297ab555a
commit 9a6ef60815

View file

@ -1,371 +0,0 @@
PhpCompta Installation
originally written by Dany De Bontridder
Ce document décrit l'installation complète de PhpCompta et explique
comment ont été installés les programmes dont PhpCompta dépend. Php-
Compta PhpCompta <http://www.phpcompta.org>, site savannah PhpCompta
Savannah <http://savannah.nongnu.org/projects/phpcompta/>
______________________________________________________________________
Table of Contents
1. Avertissement
2. Postgresql (version 8.0.1 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
4.3 configuration de .htaccess
5. Installation de PhpCompta
5.1 Première installation
5.2 Mise à jour
6. Conclusion
______________________________________________________________________
1. Avertissement
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. En général vous pourrez l'installer assez
facilement Installation Rapide
<http://www.phpcompta.org/pmwiki.php/Documentation/InstallationRapide>
Il existe aussi un manuel d'installation exhaustif pour Debian, pleins
d'informations utiles Manuel pour Debian
<http://www.blanchin.eu/?p=12>.
Si vous installez sous Windows, il est assez compliqué de recompiler.
Il est préférable d'utiliser les programmes fournis sur Postgres
<http://www.postgresql.org> et EasyPhp <http://www.easyphp.org/>.
Cependant, les configurations des différents produits sont importantes
et devraient être lues avant d'appeler à l'aide.
2. Postgresql (version 8.0.1 minimum)
2.1. Installation
Soit avec des binaires préparés, soit à partir du code source
Le plus simple est d'utiliser les binaires de votre distribution, ne
compiler ces programmes que si vraiment vous devez le faire ou que
vous préfèrez avoir la dernière version disponible.
Si vous décidez de le compiler vous-même, les options suivantes
fonctionnent
./configure -with-tk --with-python --with-perl --prefix=/ou_vous_voulez
2.2. Configuration et démarrage de PostgreSql
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
Il est impératif que dans le fichier postmaster.conf vous ayez les
options
tcpip_socket = true
port=5432
D'autres options sont conseillées pour l'optimisation de Postgresql
ne pas oublier d'ajouter dans le PATH, l'endroit où se trouve les
binaires de postgres
export PATH=$PATH:/opt/psql/bin
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.
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
2.3. Optimisation
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ée 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(une
fois par jour)
· 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
2.4. Pour la sécurité
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
3. Apache
3.1. Installation d'Apache
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
3.2. Configuration d'Apache
Le fichier httpd.conf doit au moins contenir.
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 Il est possible d'utiliser les virtuals hosts
ainsi
<VirtualHost *>
Servername ...
DocumentRoot /var/www/acapulco/htdocs
<Directory /var/www/acapulco/htdocs/phpcompta/html/>
AddDefaultCharset iso-8859-1
php_value include_path .:../../include:../include:addon
php_flag magic_quotes_gpc off
php_flag session.auto_start on
php_value session.save_path /tmp
php_value max_execution_time 120
php_flag short_open_tag on
php_flag session.use_trans_sid on
</Directory>
</VirtualHost>
Actuellement, le répertoire html, contient un fichier .htaccess qui
contient le nécessaire pour que les variables php soient correctes
(voir ``configuration de .htaccess'').
Apache se démarre avec apachectl start
Remarque : Pour plus d'information, voir le manuel d'Apache.
4. PHP
4.1. Installation de PHP 4.3.1
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=/usr/local/psql \
--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
4.2. Configuration de PHP : Fichier php.ini
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"
4.3. configuration de .htaccess
Dans le cas où vous ne pouvez pas changer le fichier php.ini, il faut
simplement modifier ls fichier PHPCOMPTA/html/.htaccess qui contient.
php_value include_path ".:../include:addon"
php_value session.use_trans_sid true
php_value session.auto_start true
php_value max_execution_time 120
php_value magic_quotes_gpc 0
Note:Normalement, vous ne devez pas changer ce fichier.
5. Installation de PhpCompta
5.1. Première installation
On suppose que postgresql est installé correctement
Etape
· Se connecter en tant que postgres et taper les commandes
createuser -h localhost -d -P postgres phpcompta
createdb -h localhost -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)
· Eventuellement changer dans constant.php votre domaine (voir manuel
: Domaine)
· Vous devez vous connecter sur http://votre_server/admin/setup.php
5.2. Mise à jour
Etape
· Faite un backup de toutes vos bases de données (cf pg_dumpall)
· 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
6. Conclusion
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 !!!!