Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de favoris / Installer le gestionnaire de favoris Sitebar sur Debian

Installer le gestionnaire de favoris Sitebar sur Debian

Par Pierre-Yves Landuré Dernière modification 13/10/2013 22:36

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 :

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.