Installation de Ploopi

Prérequis

Nous recommandons d'utiliser la distrution GNU/Linux Debian Etch ou Ubuntu mais tout autre distribution peut convenir.

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 sous Debian (en root) :

apt-get install apache2 mysql-server php5 php5-mysql php5-gd php5-cli php5-mcrypt php-pear php5-dev make
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
pecl install stem

En Option (fortement conseillé):
Si vous ne disposiez pas encore d'un serveur MySql, la manipulation ci-dessus l'installe. Il est a noter que lors de son installation, le compte "root" est sans mot de passe !
Si par la suite vous installez phpmyadmin par exemple pensez à mettre un mot de passe au compte root de mysql soit par phpmyadmin soit :

mysql -u root
UPDATE mysql.user SET Password=PASSWORD('nouveau_mot_de_passe') WHERE User='root';
FLUSH PRIVILEGES;

Si vous êtes derrière un proxy, vous pouvez configurer pear pour utiliser les paramètres de votre proxy

pear config-set http_proxy http://login:password@ip_du_proxy:port_du_proxy
Enfin on peut également installer les outils pour l'extraction des contenus (utilisés par le module de gestion de documents)
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 /etc/php5/conf.d qui contient les éléments suivants :

# configuration for pecl stem module
extension=stem.so

Modifiez dans le fichier de configuration de PHP (/etc/php5/apache2/php.ini sous Debian Etch) la configuration des magic quotes

magic_quotes_gpc = Off

En option (surtout pour le module gestion de documents) :

memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 16M

En option également, paramétrez correctement le fuseau horaire par défaut (sinon php vous renvoie Europe/Berlin) :

date.timezone = Europe/Paris

Apache

1. Modifiez le charset par défaut :

nano /etc/apache2/conf.d/charset

Puis remplacez

AddDefaultCharset UTF-8

par

AddDefaultCharset ISO-8859-15

2. Activez le module "rewrite" (en root)

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled

3. Créez un Virtual Host (optionnel mais recommandé).

Pour cela vous pouvez ajouter un fichier dans /etc/apache2/sites-available/ (en root) :

nano /etc/apache2/sites-available/ploopi

puis insérez les lignes suivantes :

<VirtualHost *>
        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>

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 terminer, il faut activer le virtualhost et recharger la configuration d'Apache :

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/apache2.conf spécifie la chaîne d'identification du serveur.
La valeur de cette directive peut être choisie parmi les valeurs suivantes : Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full

Il est recommandé de fixer la valeur à "Prod" (valeur la moins verbeuse) pour un site en production mais si cette valeur est définie à "Prod", 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".

Mise-à-jour : Si vous utilisez la distribution GNU/Linux Debian Lenny, la directive ServerTokens se situe dans le fichier /etc/apache2/conf.d/security.

Apache/Optimisations (optionnel)

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

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".
nano /etc/apache2/conf.d/disable_etag.conf
Contenu du fichier "disabled_etag.conf" :
Header unset ETag
FileETag None
Enfin, on peut redémarrer Apache
/etc/init.d/apache2 reload

MySQL (optionnel)

Editez le fichier de configuration de mysql
nano /etc/mysql/my.cnf
Et commentez les lignes suivantes pour désactiver la création des logs (souvent très lourds) :
#log_bin                        = /var/log/mysql/mysql-bin.log
#expire_logs_days       = 10
#max_binlog_size         = 100M

Installation

Méthode 1 (recommandée) : téléchargement d'une archive

1. Téléchargez la dernière version de Ploopi

2. Copiez le contenu de l'archive (en général un fichier .tar.bz2) sur votre serveur web :

tar jxvf ploopi_x.x.tar.bz2

Méthode 2 (testeurs) : téléchargement depuis SVN

1. Si vous n'avez pas le client svn, vous pouvez l'installer simplement avec cette commande (toujours en root !) :

apt-get install subversion

2. Puis utilisez svn pour télécharger la dernière version :

svn export http://svn.ploopi.org/trunk /var/www/ploopi_x.x --force

3. Enfin, renommez le fichier .htaccess_modele en .htaccess

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. Configurez votre serveur web pour qu'il 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) :

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

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

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 un virtual host vous pouvez laisser la configuration par défaut.

Si vous utilisez ploopi en sous dossier d'un site existant, indiquez le chemin relatif de ce dossier dans la directive RewriteBase.

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.

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
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
cd /var
chmod 775 www
chown root:www-data www
* soit créer les répertoires suivant :
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

Also available in: HTML TXT