Shaarli (Serveur de marque-page)
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