Installer la plateforme de favoris Shaarli sur Debian
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:
- 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.
- php-tools, l'outil de configuration simplifiée de PHP.
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.