Installer la plateforme de favoris collaboratifs Scuttle sur Debian 4.0 Etch et 5.0 Lenny
Depuis maintenant 5 ans, j'utilise Sitebar pour gérer mes favoris. J'ai pourtant atteins les limite de cet outil car il ne me permet pas de gérer simplement les liens qui sont intéressants, mais pas vitaux. N'ayant aucune confiance dans les services du type de del.ico.us, ou Digg, ou autres outils de favoris collaboratifs présents sur Internet, j'ai décidé d'essayer Scuttle pour gérer mes pages à conserver "au cas où". Ce guide facilite l'installation de Scuttle sur Debian GNU/Linux.
Pré-requis
Serveur HTTP avec support du PHP
En premier lieu, il vous faut un serveur HTTP avec support du PHP. Vous pouvez par exemple utiliser Lighttpd comme décrit dans mon guide :
Installer Lighttpd et PHP 5 sur Debian 4.0 Etch et 5.0 Lenny.
Nous installons en plus les modules nécessaires au bon fonctionnement de Scuttle :
/usr/bin/apt-get install php5-mysql unzip mysql-client apg
Une fois ceci fait, redémarrez votre serveur HTTP pour prendre ne compte les nouveaux modules :
/etc/init.d/lighttpd force-reload
Base de données MySQL
Scuttle utilise une base de données MySQL pour stocker les favoris. Créez une base de données SCUTTLE pour répondre à ce besoin. Cela peut être fait en suivant mon guide:Installer et configurer MySQL sur Debian 4.0 Etch et 5.0 Lenny
Une fois la base de donnée créée, nous plaçons une valeur par défaut pour le nom d'hôte du serveur de la base de données:
if [ -z "$MYSQL_HOST" ]; then
MYSQL_HOST=localhost
fi
Attention : Si vous avez suivi mon guide sur le même hôte que votre serveur HTTP, vous pouvez passer ces lignes de commandes, sinon, remplacer les informations en gras par celles correspondant à votre base de données MySQL :
MYSQL_HOST=localhost
MYSQL_DB=SCUTTLE
MYSQL_USERNAME=scuttle
MYSQL_USERPWD=scuttle_password
Installation
La première étape de l'installation consiste à déterminer la version de Scuttle que vous souhaitez installer. Vous trouverez le numéro de la dernier version de logiciel en visitant la page d'accueil de Scuttle. Une fois la version déterminée, renseignez-la dans une variable d'environnement :
VERSION=0.7.4
Et lancez le téléchargement :
/usr/bin/wget http://downloads.sourceforge.net/scuttle/scuttle.${VERSION}.zip \
--output-document=/tmp/scuttle.${VERSION}.zip
Une fois le téléchargement terminé, décompressez le fichier à l'emplacement adéquat :
/usr/bin/unzip -d /opt /tmp/scuttle.${VERSION}.zip
Et renommez le dossier ainsi créé :
/bin/mv "/opt/scuttle ${VERSION}" /opt/scuttle
Et nous créons un lien symbolique dans le dossier /var/www:
/bin/ln -s /opt/scuttle /var/www/
Une fois ceci fait, vous pouvez supprimer l'archive téléchargée :
/bin/rm /tmp/scuttle.${VERSION}.zip
Configuration
Initialisation de la base de données
La première étape de configuration est l'initialisation de la base de données. En premier lieu, générez un préfixe de tables aléatoire afin d'augmenter la sécurité contre les attaques par injection SQL:
TABLE_PREFIX=$(/usr/bin/apg -q -a 0 -n 1 -M NCL)
Appliquez ce préfixe aux script de création des tables :
/bin/sed -i -e "s/sc_/${TABLE_PREFIX}_/g" /opt/scuttle/tables.sql
Enfin, créez les tables à l'aide de la commande :
/usr/bin/mysql --host=$MYSQL_HOST --user=$MYSQL_USERNAME --password=$MYSQL_USERPWD $MYSQL_DB \
< /opt/scuttle/tables.sql
Restructuration des données
Afin que votre installation de Scuttle corresponde mieux aux règle de la LSB (Linux Standard Base), nous plaçons les dossiers cache et templates à des emplacements plus appropriés./bin/mkdir --parent /var/lib/scuttle
/bin/mv /opt/scuttle/cache /var/cache/scuttle
/bin/mv /opt/scuttle/templates /var/lib/scuttle
/bin/chown -R www-data:www-data /var/cache/scuttle
Mise en place de la configuration
Une fois les tables créées en base de données, configurez Scuttle pour utiliser cette base de données :
/bin/cp /opt/scuttle/config.inc.php.example /opt/scuttle/config.inc.php
/bin/sed -i \
-e "s/^\(\$dbtype[ \t]*=\).*/\1 'mysql';/" \
-e "s/^\(\$dbhost[ \t]*=\).*/\1 '${MYSQL_HOST}';/" \
-e "s/^\(\$dbuser[ \t]*=\).*/\1 '${MYSQL_USERNAME}';/" \
-e "s/^\(\$dbpass[ \t]*=\).*/\1 '${MYSQL_USERPWD}';/" \
-e "s/^\(\$dbname[ \t]*=\).*/\1 '${MYSQL_DB}';/" \
-e "s/^\(\$tableprefix[ \t]*=\).*/\1 '${TABLE_PREFIX}_';/" \
-e "s|^\(\$TEMPLATES_DIR[ \t]*=\).*|\1 '/var/lib/scuttle/templates/';|" \
-e "s|^\(\$dir_cache[ \t]*=\).*|\1 '/var/cache/scuttle';|" \
-e "s/^\(\$usecache[ \t]*=\).*/\1 true;/" \
/opt/scuttle/config.inc.php
Votre installation de Scuttle devrait maintenant être disponible depuis l'URL :
Il n'y a pas de compte d'administration. Il faut vous enregistrer afin de pouvoir utiliser Scuttle.
Une fois votre installation fonctionnelle, supprimez les fichiers inutiles (et pouvant poser des problèmes de sécurité :
/bin/rm /opt/scuttle/tables.sql
/bin/rm /opt/scuttle/AUTHORS
/bin/rm /opt/scuttle/*.txt
Affinage de la configuration
Francisation de l'application
Utilisez cette ligne de commande pour que Scuttle soit traduit en français :
/bin/sed -i \
-e "s/^\(\$locale[ \t]*=\).*/\1 'fr_FR';/" \
-e "s|^\(\$shortdate[ \t]*=\).*|\1 'd/m/Y';|" \
/opt/scuttle/config.inc.php
Modification du nom du site
Si vous souhaitez que votre installation de Scuttle s'appelle autrement que Scuttle, voici la procédure à suivre. En premier lieu, renseignez le nom du site :
SITE_NAME="Liens en vrac"
Remarque : Ce nom ne doit pas contenir de guillemet simple (').
Et appliquez cette configuration :
/bin/sed -i -e "s/^\(\$sitename[ \t]*=\).*/\1 '${SITE_NAME}';/" \
/opt/scuttle/config.inc.php
Modification de l'adresse électronique de l'administrateur
Afin que l'on puisse vous contacter depuis votre installation de Scuttle, il est nécessaire de paramètrer l'adresse électronique de l'administrateur du site. Pour ce faire, renseignez l'adresse électronique a utiliser :
ADMIN_EMAIL=contact@domaine.com
Et appliquez la configuration :
/bin/sed -i -e "s/^\(\$adminemail[ \t]*=\).*/\1 '${ADMIN_EMAIL}';/" \
/opt/scuttle/config.inc.php
Désactivation du formulaire d'inscription
Si vous souhaitez limiter le nombre d'utilisateurs pouvant utiliser votre installation de Scuttle, il est nécessaire de désactiver manuellement le formulaire d'inscription. Pour ce faire, utilisez ces commandes :
/bin/rm /opt/scuttle/register.php
/bin/sed -i -e '/register/d' /var/lib/scuttle/templates/about.tpl.php
/bin/sed -i -e '/register/d' /var/lib/scuttle/templates/toolbar.inc.php
Intrégration dans Mozilla Firefox
En plus du système de bookmarklets permettant d'ajouter des liens à votre Scuttle avec n'importe quel navigateur, il existe une extension Firefox améliorant l'intégration de Scuttle à Firefox :
Dorigo consultants














