Shaarli (Serveur de marque-page)

Logo Shaarli

Environnement

  • Conteneur LXC Proxmox
  • Ubuntu 18.04

Installation

Installer Apache et PHP :

apt install apache2 php7.2 php7.2-mbstring php7.2-intl php7.2-gd php7.2-curl php7.2-xml

Activer les modules Apache Rewrite :

a2enmod actions rewrite

Redémarrer Apache :

systemctl restart apache2

Configuration

Sauvegarder le virtualhost par défaut:

mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak 

Éditer le virtualhost par défaut et le modifier de la manière suivante (/!\ à adapter à son besoin) :

nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
    ServerName   shaarli.mon-nom-de-domaine.fr
    DocumentRoot /var/www/shaarli/

    <Directory /var/www/shaarli/>
        AllowOverride All
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                allow from all
    </Directory>

    LogLevel  warn
    ErrorLog  /var/log/apache2/shaarli-error.log
    CustomLog /var/log/apache2/shaarli-access.log combined
</VirtualHost>

Autoriser le téléversement d'un fichier de 128 Mio avec PHP :

cp -p /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
cp -p /etc/php/7.2/cli/php.ini /etc/php/7.2/cli/php.ini.bak
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/cli/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/cli/php.ini

Activer le Optimizer Plus Cache dans PHP :

sed -i s'/;opcache.enable=1/opcache.enable=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.enable_cli=0/opcache.enable_cli=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.memory_consumption=128/opcache.memory_consumption=128/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.save_comments=1/opcache.save_comments=1/' /etc/php/7.2/apache2/php.ini

Vérifier que le garbage collector des sessions PHP est activé sous peine de remplir tout l'espace disque (session.gc_probability doit être égal à 1) :

cat /etc/php/7.2/cli/php.ini | grep sessions.gc_probability
<session.gc_probability = 1>

Redémarrer Apache :

systemctl restart apache2.service

Se placer dans le dossier "/var/www/", télécharger et installer la dernière version :

cd /var/www/
wget https://github.com/shaarli/Shaarli/releases/download/v0.9.7/shaarli-v0.9.7-full.zip
unzip shaarli-v0.9.7-full.zip
mv /var/www/Shaarli /var/www/shaarli
chown www-data:www-data -R /var/www/shaarli/

Dans un navigateur internet, se connecter sur le serveur pour finaliser l'installation.

Mise à jour

Sauvegarder l'installation actuelle :

mv /var/www/shaarli /var/www/shaarli.old

Télécharger et décompresser la nouvelle version :

wget https://github.com/shaarli/Shaarli/releases/download/v0.9.7/shaarli-v0.9.x-full.zip 
unzip shaarli-v0.9.x-full.zip
mv /var/www/Shaarli /var/www/shaarli
chown www-data:www-data -R /var/www/shaarli/

Copier le dossier data de l'installation actuelle vers la nouvelle :

cp -pR /var/www/shaarli.old/data /var/www/shaarli/

Vérifier que la nouvelle installation fonctionne et supprimer l'ancienne :

rm -fR /var/www/shaarli.old/data

Sources

https://shaarli.readthedocs.io/en/master