Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de favoris / Installer la plateforme de favoris Shaarli sur Debian

Installer la plateforme de favoris Shaarli sur Debian

Par Pierre-Yves Landuré Dernière modification 21/04/2018 18:25

Shaarli est une plateforme de gestion de favoris mono-utilisateur et ne nécessitant pas un serveur SQL. C'est une solution très légère pour une personne ne nécessitant pas de travailler en groupe.

Ce guide est testé sur:

  • Debian 8.0 Jessie
  • Debian 9.0 Stretch

Ce guide est testé avec ces versions de Shaarli:

  • 0.9.6
  • 0.8.4

Prérequis

Ce guide nécessite:

Paramètres

Renseignez le nom de domaine où sera disponible l'application:

domain="liens.domain.com"

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 ou via Let's Encrypt) (optionnel, recommandé):

sslKeyName="auto"

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Déterminez le chemin d'installation:

installPath="/opt/shaarli/${domain}"

Déterminez le chemin des données:

dataPath="/var/lib/shaarli/${domain}"

Déterminez le chemin du cache:

cachePath="/var/cache/shaarli/${domain}"

Créez les dossiers:

${cmdProxy} mkdir -p "${installPath}" "${dataPath}" "${cachePath}"

Mise en place de l'application

Obtenez les sources de la dernière version du logiciel à l'aide de sf-downloader:

command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
command chmod +x '/tmp/sf-downloader'
source="$(${cmdProxy} /tmp/sf-downloader \
    --output-directory="${installPath}" \
--generic='https://github.com/shaarli/Shaarli/releases' \
    --strip-components=1 \
    --tgz 'shaarli' 'shaarli-vVERSION-full.tar.gz')"

Ajustez les permissions:

${cmdProxy} chown -R root:root "${installPath}"
${cmdProxy} chmod -R go-w "${installPath}"

Placez le dossier de données à l'emplacement adéquat selon la LSB:

while read localPath; do
if [[ -d "${installPath}/${localPath}" ]]; then
${cmdProxy} mv "${installPath}/${localPath}" "${dataPath}/${localPath}"
${cmdProxy} ln -s "${dataPath}/${localPath}" "${installPath}/${localPath}"
${cmdProxy} chown -R www-data:www-data "${dataPath}/${localPath}"
fi
done <<< "data"

Placez les dossiers de cache à l'emplacement adéquat selon la LSB:

while read localPath; do
if [[ -d "${installPath}/${localPath}" ]]; then
${cmdProxy} mv "${installPath}/${localPath}" "${cachePath}/${localPath}"
${cmdProxy} ln -s "${cachePath}/${localPath}" "${installPath}/${localPath}"
${cmdProxy} chown -R www-data:www-data "${cachePath}/${localPath}"
fi
done <<< "cache
pagecache
tmp"

Mise en place de l'hôte virtuel

Créez la configuration du serveur HTTP:

if [[ -n "${sslKeyName}" && ( -e "/etc/ssl/private/${sslKeyName}.key" || "${sslKeyName}" = 'auto' ) ]]; then
  ${cmdProxy} a2tools --ssl="${sslKeyName}" --overrides='All' "${domain}" "${installPath}"
else
${cmdProxy} a2tools --overrides='All' "${domain}" "${installPath}"
fi

L'outil est maintenant disponible sur le domaine spécifié en HTTP ou HTTPS si possible.

Sauvegardes

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):

${cmdProxy} backup-manager-tools add "${installPath}"
${cmdProxy} backup-manager-tools add "${dataPath}"

Pour aller plus loin

Mise en place du thème Material

Téléchargez la dernière version du thème:

command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
command chmod +x '/tmp/sf-downloader'
source="$(${cmdProxy} /tmp/sf-downloader \
--generic='https://github.com/kalvn/Shaarli-Material/releases' \
    --strip-components=1 \
    --tgz 'shaarli-material' 'vVERSION.tar.gz')"

Mettez en place le thème:

${cmdProxy} cp -r "${source}/material" "${installPath}/tpl/"

Supprimez les fichiers inutiles:

command rm -r "${source}"

Si le thème Material ne vous convient pas, reportez-vous à la liste des thèmes disponibles pour Shaarli (en).

Mise en place d'un plug-in

Reportez-vous à la liste des plug-ins Tiers de Shaarli (en).

Mise à jour

Renseignez le nom de domaine où sera disponible l'application:

domain="liens.domain.com"

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Déterminez le chemin d'installation:

installPath="/opt/shaarli/${domain}"

Déterminez le chemin des données:

dataPath="/var/lib/shaarli/${domain}"

Déterminez le chemin du cache:

cachePath="/var/cache/shaarli/${domain}"

Mettez en place la dernière version de l'application:

command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
command chmod +x '/tmp/sf-downloader'
source="$(${cmdProxy} /tmp/sf-downloader \
    --output-directory="${installPath}" \
--generic='https://github.com/shaarli/Shaarli/releases' \
    --strip-components=1 \
    --tgz 'shaarli' 'shaarli-vVERSION-full.tar.gz')"

Ajustez les permissions:

${cmdProxy} chown -R root:root "${installPath}"
${cmdProxy} chmod -R go-w "${installPath}"

Recréez les liens symboliques nécessaires pour les données:

while read localPath; do
if [[ -d "${installPath}/${localPath}" ]]; then
${cmdProxy} rm -r "${installPath}/${localPath}"
${cmdProxy} ln -s "${dataPath}/${localPath}" "${installPath}/${localPath}"
${cmdProxy} chown -R www-data:www-data "${dataPath}/${localPath}"
fi
done <<< "data"

Recréez les liens symboliques nécessaires pour les caches:

while read localPath; do
if [[ -d "${installPath}/${localPath}" ]]; then
${cmdProxy} rm -r "${installPath}/${localPath}"
${cmdProxy} ln -s "${cachePath}/${localPath}" "${installPath}/${localPath}"
${cmdProxy} chown -R www-data:www-data "${cachePath}/${localPath}"
fi
done <<< "cache
pagecache
tmp"

L'application est à jour.

Remerciements

  • Merci aux développeurs de Shaarli.