Recent Changes - Search:

Législation

Login

ManuelInstallation

Attention, ce progamme vous est donné sous licence GNU GPL. Il n'est accompagné d'aucune garantie. Vous l'utilisez à vos risques et périls.


PhpCompta Installation

Ce document décrit l'installation complète de PhpCompta et explique comment ont été installés les programmes dont PhpCompta dépend. PhpCompta PhpCompta, site savannah PhpCompta Savannah

1. Avertissement

Si vous installez sur Linux, l'installation d'apache, postgres et php doit 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 à des utilisateurs avancés. En général vous pourrez l'installer assez facilement <url url= "http://www.phpcompta.org/pmwiki.php/Documentation/InstallationRapide" name="Installation Rapide"> Il existe aussi un manuel d'installation exhaustif pour Debian, pleins d'informations utiles <url url="http://www.blanchin.eu/?p=12" Name="Manuel pour Debian">.

Si vous installez sous Windows, il est assez compliqué de recompiler. Il est préférable d'utiliser les programmes fournis sur Postgres et EasyPhp.

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.

<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:

# 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) work_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 syntaxe 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

<P> 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

&lt;VirtualHost *&gt;
	Servername ...
	DocumentRoot /var/www/acapulco/htdocs
        &lt;Directory /var/www/acapulco/htdocs/phpcompta/html/&gt;
                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
        &lt;/Directory&gt;
&lt;/VirtualHost&gt;

Actuellement, le répertoire html, contient un fichier .htaccess qui contient le nécessaire pour que les variables php soient correctes (voir Lien).

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

<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


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
  • 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 !!!!

Edit - History - Print - Recent Changes - Search
Page last modified on June 07, 2008, at 12:31 PM