Documentation
Installation de PLOOPI
Prérequis
Nous recommandons d’utiliser la distribution GNU/Linux Debian ou Ubuntu
mais toute autre distribution peut convenir.
Le présent tutoriel est basé sur une Debian Lenny fraîchement installée. (Installation basique)
Mise à jour avec des commentaires pour l’installation avec Debian Squeeze !
Avant de démarrer l’installation de PLOOPI, vous devez vérifier que vous disposez des éléments suivants :
- GNU/Linux
- Apache 1.3x ou 2.x
- PHP 5.x
- MySQL 5.x
Certaines extensions de PHP sont également obligatoires pour un fonctionnement optimal :
- php5-mcrypt
- php5-gd
- php5-dev (pour pecl)
- php-pear : détail des classes ci-après
Remarques :
- Ploopi n’a pas été testé en environnement Windows, installé côté serveur
- Ploopi doit fonctionner avec lighttpd – tests à venir.
Vous pouvez très facilement installer les paquets prérequis pour un bon fonctionnement de PLOOPI (en root) :
|
1 2 3 4 5 6 7 |
apt-get install apache2 mysql-server php5 php5-mysql php5-gd php5-cli php5-mcrypt php-pear php5-dev make pear channel-update pear.php.net pear upgrade PEAR pear upgrade-all pear install --alldeps Cache_Lite HTTP_Request XML_Feed_Parser Xml_Beautifier XML_Serializer-0.20.0 OLE-1.0.0RC1 Spreadsheet_Excel_Writer-0.9.1 PEAR_info Net_UserAgent_Detect Text_Highlighter-0.7.1 Text_Diff-1.1.0 Net_SMTP Mail Mail_Mime pecl channel-update pecl.php.net pecl install stem |
L’installation d’un serveur MySQL sous Debian Lenny demande automatiquement un mot de passe pour le compte “root”.
Si, lors de votre installation du serveur MySQL, aucun mot de passe ne vous est demandé, ou si vous souhaitez le modifier, exécutez les commandes suivantes :
| 1 |
mysql -u root |
|
1 2 |
UPDATE mysql.user SET Password=PASSWORD('nouveau_mot_de_passe') WHERE User='root';
|
Si vous êtes derrière un proxy, vous pouvez configurer pear pour utiliser les paramètres de votre proxy
| 1 |
pear config-set http_proxy http://login:password@ip_du_proxy:port_du_proxy |
Optionnel : Installation des outils pour l’extraction des contenus, utilisés par le module de gestion de documents
| 1 |
apt-get install catdoc xpdf-utils jhead unrtf unzip zip |
Paramétrage du serveur
PHP
Le module pecl/stem n’est pas chargé par défaut avec PHP.
Pour charger stem, créez par exemple un fichier stem.ini dans le dossier /etc/php5/conf.d :
| 1 |
nano /etc/php5/conf.d/stem.ini |
Rajoutez les éléments suivants :
|
1 2 |
# configuration for pecl stem module |
Dans le fichier de configuration de PHP, /etc/php5/apache2/php.ini :
| 1 |
nano /etc/php5/apache2/php.ini |
- Modifiez la configuration des “magic quotes” (jusque Debian Lenny)
| 1 |
magic_quotes_gpc = Off |
- Paramétrez le fuseau horaire par défaut (sinon PHP vous renvoie Europe/Berlin) :
| 1 |
date.timezone = Europe/Paris |
- Désactivez le buffer interne de php (à partir de Debian Squeeze)
| 1 |
output_buffering = Off |
- Optionnel (conseillé pour le module gestion de documents) :
|
1 2 3 |
memory_limit = 128M |
Apache
1. Modifiez le charset par défaut, dans le fichier /etc/apache2/conf.d/charset :
| 1 |
nano /etc/apache2/conf.d/charset |
Remplacez
#AddDefaultCharset UTF-8
par
| 1 |
AddDefaultCharset ISO-8859-15 |
2. Activez le module “rewrite” (en root)
| 1 |
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled |
3. Créez un Virtual Host
Pour cela, ajoutez un fichier dans /etc/apache2/sites-available/ :
| 1 |
nano /etc/apache2/sites-available/ploopi |
puis insérez les lignes suivantes :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<VirtualHost *:80> ServerName monploopi DocumentRoot /var/www/monploopi/ <Directory /var/www/monploopi/> AllowOverride All </Directory> # config CGI ScriptAlias /cgi/ /var/www/monploopi/cgi/ <Directory "/var/www/monploopi/cgi/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </VirtualHost> |
Remarque : La configuration CGI permet d’uploader des fichiers sans limite de taille avec une barre de progression.
Il est par contre nécessaire de disposer de l’interpréteur php en ligne de commande (paquet php5-cli)
Pour finir, il faut activer le virtualhost et recharger la configuration d’Apache :
|
1 2 |
ln -s /etc/apache2/sites-available/ploopi /etc/apache2/sites-enabled/000-ploopi /etc/init.d/apache2 reload |
4. Vérifiez la directive ServerTokens
La directive ServerTokens située dans le fichier /etc/apache2/conf.d/security spécifie la chaîne d’identification du serveur.
La valeur de cette directive peut être choisie parmi les valeurs suivantes : Prod | Major | Minor | Minimal | OS | Full
Il est recommandé de fixer la valeur à “Prod” (valeur la moins verbeuse) pour un site en production mais si tel est le cas, l’installation du portail ne pourra pas contrôler précisément la configuration de votre serveur. Il est conseillé de régler cette valeur à “Major” pendant la phase d’installation du portail. Vous pouvez ensuite redéfinir la valeur de la directive ServerTokens à “Prod”.
Apache/Optimisations
Pour aller un peu plus loin et optimiser le comportement de Ploopi nous pouvons activer les modules “expires” et “headers”.
Le module “expires” est utilisé par le fichier “.htaccess” intégré à Ploopi pour gérer la mise en cache des fichiers statiques.
Le module “headers” va nous permettre de désactiver les etag
|
1 2 3 |
ln -s /etc/apache2/mods-available/expires.load /etc/apache2/mods-enabled/ ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/ |
Ensuite il faut créer un fichier “disabled_etag.conf”.
| 1 |
nano /etc/apache2/conf.d/disable_etag.conf |
Contenu du fichier “disabled_etag.conf” :
|
1 2 |
Header unset ETag |
Enfin, on peut recharger Apache
| 1 |
/etc/init.d/apache2 reload |
MySQL (optionnel)
Editez le fichier de configuration de MySQL
| 1 |
nano /etc/mysql/my.cnf |
Et commentez les lignes suivantes pour désactiver la création des logs (souvent très lourds) :
|
1 2 3 |
#log_bin = /var/log/mysql/mysql-bin.log |
Installation
Méthode 1 (recommandée) : téléchargement d’une archive
1. Téléchargez la dernière version de PLOOPI
2. Assurez-vous d’avoir le paquet bzip2 sur votre système, sinon :
| 1 |
apt-get install bzip2 |
2. Copiez le contenu de l’archive sur votre serveur web :
|
1 2 |
tar jxvf ploopi_stable.tar.bz2 mv ploopi_stable/ /var/www/ploopi_x.x |
Au passage, on renomme le dossier ploopi_stable en ploopi_x.x.
4. Dans le fichier hosts du système client :
| 1 |
nano /etc/hosts |
Rajoutez la ligne suivante :
| 1 |
adresse_ip_du_serveur monploopi |
Méthode 2 (développeur) : téléchargement des sources depuis SVN
On suppose que le dossier d’installation de PLOOPI est le suivant : /var/www/ploopi_x.x
1. Si vous n’avez pas le client svn, vous pouvez l’installer simplement avec cette commande (toujours en root !) :
| 1 |
apt-get install subversion |
2. Puis utilisez svn pour télécharger la dernière version :
| 1 |
svn export http://svn.ploopi.org/trunk /var/www/ploopi_x.x --force |
3. Enfin, renommez le fichier .htaccess_modele en .htaccess
| 1 |
mv /var/www/ploopi_x.x/.htaccess_modele /var/www/ploopi_x.x/.htaccess |
Suite et fin…
On supposera pour la suite que le dossier précédemment créé se situe dans /var/www/ploopi_x.x/
3. Assurez-vous que votre serveur web puisse accéder au dossier nouvellement créé (nous parlerons de http://mondomaine/monploopi/
)
4. Vérifiez les droits d’accès en lecture/écriture pour le processus apache. L’idéal est d’appliquer les règles suivantes (en root) :
|
1 2 3 4 5 6 7 8 9 |
cd /var/www/ploopi_x.x/ chown -R www-data:www-data . find . -type d -print0 | xargs -0 -n 1 chmod 500 find . -type f -print0 | xargs -0 -n 1 chmod 400 find {data,config,modules} -type d -print0 | xargs -0 -n 1 chmod 700 find {data,config,modules} -type f -print0 | xargs -0 -n 1 chmod 600 find bin -type f -print0 | xargs -0 -n 1 chmod 500 chmod 500 ./cgi/upload.cgi |
4. Ouvrez un navigateur à l’adresse http://mondomaine/monploopi/
– Vous devriez arriver sur la page d’installation.
5. Lorsque l’installation est terminée, il est fortement recommandé de supprimer le fichier ./config/install.php et de modifier les droits d‘écriture pour apache sur le dossier ./config
|
1 2 3 |
rm -rf ./config/install.php find config -type d -print0 | xargs -0 -n 1 chmod 500 find config -type f -print0 | xargs -0 -n 1 chmod 400 |
Configuration .htaccess
Si vous utilisez un virtual host vous pouvez laisser la configuration par défaut.
Un fichier .htaccess est inclus à la racine de Ploopi.
Ce fichier peut ne pas être interprété par Apache.
Vérifiez pour cela que la directive AllowOverride n’est pas configurée à “None”.
Il peut être nécessaire de d’adapter le fichier .htaccess à votre configuration.
Notamment la directive RewriteBase qui doit être adapté au dossier contenant ploopi.
Si vous utilisez ploopi en sous dossier d’un site existant, indiquez le chemin relatif de ce dossier dans la directive RewriteBase.
| 1 |
RewriteBase /monploopi/ |
Bénéficier des vignettes de prévisualisation des fichiers
Cette fonction est notamment utilisée par la GED et plus généralement, par tous les modules usant de la classe mimethumb du framework.
Elle permet la prévisualisation des contenus de nombreux formats de fichier.
| 1 |
apt-get install inkscape ffmpeg html2ps php5-imagick imagemagick ghostscript |
Si vous avez accès à un webservice jodconvert la gestion de documents pourra utiliser ce webservice afin de convertir les documents de la suite office de microsoft (en indiquant l’URL du webservice dans les paramètres du module Doc) sinon
| 1 |
apt-get install openoffice.org |
(Il faut au moins disposer d’une version 2.4 ou >, et bien vérifier que le paquet openoffice.org-headless est installé)
Pour que les différents appels externes fonctionnent il est nécessaire qu’ils aient accès au dossier ~/ du user appelant (www-data dans notre cas). Ce répertoire correspond par défaut à /var/www.
2 solutions possibles :
- soit donner a apache l’accès en écriture au dossier /var/www
|
1 2 3 |
cd /var chmod 775 www chown root:www-data www |
- soit créer les répertoires suivant :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
cd /var/www # Pour inkscape (>= 0.47 ?) mkdir .config chmod 700 .config chown www-data:www-data .config # Pour inkscape (< 0.47 ?) mkdir .inkscape chmod 700 .inkscape chown www-data:www-data .inkscape # Pour imagick (?) mkdir .gnome2 chmod 700 .gnome2 chown www-data:www-data .gnome2 # Pour openoffice.org (>= 3.0) mkdir .openoffice.org chmod 700 .openoffice.org chown www-data:www-data .openoffice.org # Pour openoffice.org (< 3.0) mkdir .openoffice.org2 chmod 700 .openoffice.org2 chown www-data:www-data .openoffice.org2 |
Retour en haut de la page

