extranet/docs/README
2013-11-06 08:37:55 +00:00

237 lines
5.5 KiB
Plaintext

README
======
- System Requirements
- Installation
- Project
- Library
Note : Project are define to be use on Linux Server, so take care about path and file name.
Also some script (CLI) don't work on Windows.
SYSTEM REQUIREMENTS
===================
- Apache 2.2
- PHP 5.3.x
- APC
- Chartdir library
- browscap.ini (http://tempdownloads.browserscap.com/, http://browscap.org/)
- wkhtmltopdf (http://code.google.com/p/wkhtmltopdf/)
INSTALLATION
============
See the file scripts/build/configure.php
On server this script is automatically called with the install option.
configure.php --install
Each servers are reference with a directory, name as the hostname, in config dir and all configure
file is list here
Environment configuration
-------------------------
- Variables
Define application environment in the vhost. This mode activate special features and debugging mode.
SetEnv APPLICATION_ENV "production" => Production
SetEnv APPLICATION_ENV "staging" => Recette
SetEnv APPLICATION_ENV "development" => Developpement
- Static/Global Storage
data/asso
data/association
data/bilanclient
data/bodacc
data/courrier
data/giant
data/greffes
data/groupes
data/iris
data/log
data/logos
data/marques
data/nouveautes
data/wkhtml
- Temporary storage
[projet]/data/
cache
files
infogreffe
log
pages
rss
sessions
wsdl
Apache configuration
--------------------
=> Development example
<VirtualHost *:80>
ServerName extranet.sd.dev
AddDefaultCharset utf-8
DocumentRoot "WORKSPACE/extranet/public"
SetEnv APPLICATION_ENV "development"
<Directory "WORKSPACE/extranet/public/">
AllowOverride All
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
</Directory>
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel debug
ErrorLog "logs/extranet-error.log"
CustomLog "logs/extranet-access.log" common
</VirtualHost>
=> Production configuration
See VHOST file
PHP Configuration
-----------------
File upload
-----------
post_max_size = 50M
file_uploads = On
upload_max_filesize = 40M
max_file_uploads = 10
Session
-------
On sharing plateform, these parameters must be specified to the best value for all web application
session.gc_maxlifetime = 86400
session.cookie_lifetime = 86400
Application must override the session.save_path, soap.wsdl_cache_dir to define it's own path.
WKHTMLTOPDF
-----------
- Get the static version of wkhtmltopdf
- On Ubuntu :
sudo apt-get install libxrender1 libfontconfig
- Set execution flag (chmod +x)
- Test
WebService
----------
Partners
--------
PROJECT
=======
This application is a frontend for the WebService and it's display information graphically.
LIBRARY
=======
Gestion des sessions
====================
Pour la gestion des sessions, il est nécessaire de faire une configuration spéciale afin d'éviter
les conflits entre les différents vhosts.
Les sessions sont stockées dans le même repertoire, les valeurs gc_maxlifetime, cookie_lifetime
définissent les limites de validité des sessions.
Il faut savoir que chaque modification faites par chaque application, dans chaque vhosts modifie le
fonctionnement général de PHP.
Pour eviter d'avoir des conflits sur la gestion des sessions, nous stockons les sessions dans un
répertoire définit.
Voir la configuration dans le fichier application.ini
resources.session.save_path = APPLICATION_PATH "/../cache/sessions"
resources.session.gc_maxlifetime = 86400
resources.session.cookie_lifetime = 86400
resources.session.remember_me_seconds = 86400
Debuggage
=================
Firebug et ChromePHP sont disponible.
Voir dans le fichier Bootstrap pour activer ou non le debuggage.
CONFIGURATION APC
=================
apc.cache_by_default = On
apc.enable_cli = Off
apc.enabled = On
apc.shm_size = 60
apc.max_file_size = 1M
apc.include_once_override = On
apc.stat = Off
apc.stat_ctime = Off
apc.shm_size : Taille du cache en Mo.
apc.num_files_hint : La valeur du nombre maximum de fichiers à cacher est conseillée.
apc.user_entries_hint : La valeur du nombre maximum d'entrées utilisateur
(cache utilisateur) à stocker est conseillée.
Il n'est pas conseillé de tenter de leurrer APC en doublant (par exemple)
ces valeurs. APC double déja en interne les valeurs spécifiées, et le gain en
performances est fortement réduit avec des valeurs non adaptées.
apc.stat : Se base sur les dates de modifications pour recharger le fichier
apc.stat_ctime : Se base sur les dates de création pour recharger le fichier
apc.max_file_size : Restriction sur la taille maximum d'un fichier à cacher.
Ceci peut créer des problèmes de performance lors de la demande en cache de ces
fichiers-là, mais si la mémoire est limitée, l'option demeure intéressante
apc.filters : Expression régulière utilisée pour exclure tout fichier dont le
nom a une correspondance.
apc.cache_by_default : Inverse la tendance de apc.filters : APC cachera
uniquement les fichiers qui ont une correspondance sur le filtre, au lieu de les ignorer.
apc.cache_by_default = Off
apc.filters = "+\.php$"
Dans le vhosts d'apache :
php_flag apc.cache_by_default On