Task #3108 : Ajout des domaines

This commit is contained in:
sparkyx 2005-09-08 10:33:40 +00:00
parent 59025b27fc
commit 27c9c0ffc7
3 changed files with 342 additions and 0 deletions

View file

@ -0,0 +1,329 @@
PhpCompta Installation
originally written by Dany De Bontridder
$Revision$ $Date$
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.alchimerys.be/FR/phpcompta>, site savan-
nah PhpCompta Savannah <http://savannah.nongnu.org/projects/php-
compta/>
______________________________________________________________________
Table of Contents
1. Avertissement
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
______________________________________________________________________
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.
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 732 minimum)
2.1. Installation
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
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
ex:
export PATH=$PATH:/opt/psql732/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
< 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
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=/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
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"
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 !!!!

View file

@ -257,6 +257,7 @@ createdb -h localhost -O phpcompta phpcompta
<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>Eventuellement changer dans constant.php votre domaine (voir manuel : Domaine)
<item>
Vous devez vous connecter sur http://votre_server/admin/setup.php
</itemize>

View file

@ -945,6 +945,18 @@ p
centralisation se fait par le menu "Avancé -> Centralise".
</sect1>
</sect>
<sect>Domaines
<p> Ils est possible d'avoir phpcompta installé plusieurs fois
sur votre machine dans des "virtual host" différents, mais si vous
le faites vous remarquerez que
les différentes sites phpcompta (virtual host) accèdent les
mêmes bases de données.
<p> Pour éviter cela on utilise les domaines. Le domaine sera matériellement
concrétiser par un préfixe pour vos bases de données. Donc chaque
application PhpCompta aura ses propres bases de données.
</sect>
<sect> Exemple
<sect1>Ouverture de compte