Installer le gestionnaire de favoris Sitebar sur Debian
Sitebar est un gestionnaire de favoris en ligne conçu pour être utilisé dans un panneau latéral à la navigation. Il est intéressant pour ses fonctionnalités de travail en groupe et la possibilité d'organiser les favoris en dossiers.
Ce guide est testé sur:
- Debian 6.0 Squeeze
- Debian 7.0 Wheezy
Ce guide est testé avec ces versions de Sitebar:
- 3.4 nightly
Prérequis
Ce guide nécessite :
- a2tools, l'outil d'administration simplifiée d'Apache 2.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
- mysql-tools, l'outil d'administration simplifiée de MySQL sur l'hôte local (et l'hôte du serveur MySQL, si différent).
Paramètres
Renseignez le nom de domaine où sera disponible l'application:
DOMAIN="sitebar.domain.com"
Renseignez le nom d'hôte du serveur MySQL:
MYSQL_HOST="localhost"
Si le serveur MySQL n'est pas local, l'outil mysql-tools essaiera de s'y connecter avec le client MySQL, ou, en cas d'échec de connexion, via une connexion SSH.
Renseignez le nom du certificat SSL à utiliser pour chiffrer l'application avec HTTPS (créé via la procédure Créer un certificat SSL / TLS sur Debian) (optionnel, recommandé):
SSL_KEY_NAME="${DOMAIN}"
Installation
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/sitebar/${DOMAIN}"
Détectez le protocole utilisé:
PROTOCOL="http"
command test -n "${SSL_KEY_NAME}" -a -e "/etc/ssl/private/${SSL_KEY_NAME}.key" && PROTOCOL="https"
Assurez-vous que le dossier parent existe:
command mkdir --parent "$(command dirname "${INSTALL_PATH}")"
Préparation de l'environnement
Installez les logiciels nécessaires:
command apt-get install php5-mysql mysql-client subversion
Rechargez la configuration de PHP:
test -x /etc/init.d/php5-fpm && /etc/init.d/php5-fpm force-reload
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
test -x /etc/init.d/nginx && /etc/init.d/nginx force-reload
Mise en place de l'application
Téléchargez les sources de l'application:
command svn checkout "svn://svn.sitebar.org/sitebar/trunk" "${INSTALL_PATH}"
Remarque : la version téléchargée est la 3.4 dite nightly. Cette version est une "rolling release" stable, sans release officielle. La version stable officielle (3.3.9) date de plusieurs années déjà.
Corrigez le fichier command.php:
if [ -z "$(command grep 'adm/config.inc.php' "${INSTALL_PATH}/command.php")" ]; then
command sed -i \
-e "/errorhandler.inc.php/i\\
if (@\!include_once('./adm/config.inc.php'))\\
{\\
header('Location: config.php');\\
exit;\\
}\\
" \
"${INSTALL_PATH}/command.php"
fi
Corrigez la classe SB_Localizer:
command sed -i \
-e 's/^\([\t ]*\)\(function & staticInstance\)/\1static \2/' \
"${INSTALL_PATH}/inc/localizer.inc.php"
Création de la base de données
Créez la base de données:
MYSQL_PARAMS="$(command mysql-tools --server="${MYSQL_HOST}" --with-ssh \
--auto-hosts --db-prefix="sitebar" --create "${DOMAIN}")"
Récupérez les paramètres de la nouvelle base de données:
MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \ | cut --delimiter="=" --fields="2-")" MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \ | cut --delimiter="=" --fields="2-")" MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \ | cut --delimiter="=" --fields="2-")" echo "${MYSQL_PARAMS}"
Initialisez le contenu de la base de données:
command mysql --user="${MYSQL_USER}" --password="${MYSQL_PASSWORD}" \ --host="${MYSQL_HOST}" "${MYSQL_DB}" \ < "${INSTALL_PATH}/sql/install.sql"
Configuration
Configurez la connexion à la base de données:
echo "<?php \$SITEBAR = array ( 'db' => array ( 'host' => '${MYSQL_HOST}', 'username' => '${MYSQL_USER}', 'password' => '${MYSQL_PASSWORD}', 'name' => '${MYSQL_DB}', ), 'baseurl' => '${PROTOCOL}://${DOMAIN}/', 'login_as' => null, ); " > "${INSTALL_PATH}/adm/config.inc.php"
Créez la configuration du serveur HTTP pour le domaine:
if [ -n "${SSL_KEY_NAME}" -a -e "/etc/ssl/private/${SSL_KEY_NAME}.key" ]; then
command a2tools --ssl="${SSL_KEY_NAME}" --overrides="FileInfo" "${DOMAIN}" "${INSTALL_PATH}"
command a2tools --template="redirect" "${DOMAIN}" "https://${DOMAIN}/"
else
command a2tools --overrides="FileInfo" "${DOMAIN}" "${INSTALL_PATH}"
fi
L'outil est maintenant disponible sur le domaine. Créez l'utilisateur d'administration.
Mise à jour automatique
Mettez en place un script de mise à jour automatique quotidienne du code de l'outil:
echo "#"'!'"/bin/bash
# Update ${PROTOCOL}://${DOMAIN}/ source code from SVN.
test -x '/usr/bin/svn' -a -d '${INSTALL_PATH}' && /usr/bin/svn update '${INSTALL_PATH}' > '/dev/null'" \
> "/etc/cron.daily/${DOMAIN}-update"
command chmod +x "/etc/cron.daily/${DOMAIN}-update"
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):
command backup-manager-tools add "${INSTALL_PATH}"
N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).
Résolutions des problèmes
Affichage incompréhensible et illisible
Il existe une incompatibilité entre la page d'erreur de l'outil et le module deflate d'Apache 2. Pour obtenir une erreur compréhensible, désactivez le module deflate d'Apache 2:
command a2dismod deflate
/etc/init.d/apache2 force-reload
Remerciements
- Merci aux développeurs de SiteBar.