Selfoss (Aggrégateur RSS)
Environnement
- Conteneur LXC Proxmox
- Ubuntu 18.04
Installation
Installer Apache et PHP :
apt install apache2 php7.2 php7.2-sqlite3 php7.2-gd php7.2-xml php7.2-curl php7.2-mbstring curl
Activer les modules Apache suivants :
a2enmod rewrite headers authz_core
Redémarrer Apache :
systemctl restart apache2
Configuration
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
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 selfoss.domaine.lan
ServerAdmin admin@domaine.lan
DocumentRoot /var/www/selfoss/
AllowEncodedSlashes NoDecode
<Directory /var/www/selfoss/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Redémarrer Apache :
systemctl restart apache2
Créer le dossier /var/www/selfoss/ :
mkdir /var/www/selfoss
Se placer dans /var/www/selfoss/ et télécharger Selfoss :
cd /var/www/selfoss/
wget https://github.com/SSilence/selfoss/releases/download/2.18/selfoss-2.18.zip
Décompresser l'archive, la supprimer et attribuer la propriété du dossier à l'utilisateur Apache (www-data) :
unzip selfoss-2.18.zip
rm /var/www/selfoss-2.18.zip
chown -R www-data:www-data /var/www/selfoss
Attribuer les droits suivants aux fichiers et dossiers :
cd /var/www/selfoss
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Redémarrer Apache :
systemctl restart apache2
Paramétrer le rafraîchissement des flux RSS toutes les 15 minutes (choisir une des 4 méthodes) :
crontab -e
*/15 * * * * /usr/bin/php -f /var/www/html/selfoss/cliupdate.php
*/15 * * * * /bin/su - www-data -c "/usr/bin/php /var/www/html/selfoss/cliupdate.php"
*/15 * * * * /usr/bin/wget -q http://localhost/update --output-document=- >/dev/null 2>&1
*/15 * * * * /usr/bin/curl -Ls 'http://rss.yourdomain.com/update' >/dev/null
Aller à l'adresse http://selfoss.domaine.lan/password pour générer le hash du mot de passe de protection. Ce hash sera copié dans le fichier /var/www/selfoss/config.ini.
Créer le fichier /var/www/selfoss/config.ini comme suit :
nano /var/www/selfoss/config.ini
; see http://selfoss.aditu.de for more information about
; the configuration parameters
[globals]
db_type=sqlite
db_file=data/sqlite/selfoss.db
db_host=localhost
db_database=selfoss
db_username=root
db_password=
db_port=3306
db_prefix=
logger_level=ERROR
items_perpage=500
items_lifetime=15
base_url=
username=utilisateur
password=hash-du-mot-de-passe-précédemment-généré
salt=lkjl1389
public=
rss_title=selfoss feed
rss_max_items=300
rss_mark_as_read=0
homepage=unread
language=fr
auto_mark_as_read=0
auto_stream_more=1
anonymizer=https://anonym.to/?
use_system_font=
readability=
share=gtfprde
wallabag=
allow_public_update_access=
unread_order=
load_images_on_mobile=0
Dans un navigateur Web, se connecter à l'adresse du serveur et finir l'installation.
Sources
https://www.selfoss.aditu.de/ https://github.com/SSilence/selfoss/wiki/ https://freedif.org/opensource-rss-reader-selfoss/