====== Wallabag installation under Debian ======
Wallabag is a self-hostable service that stores your web pages to read them later. With the following steps, you can set up your Wallabag under Debian.
===== Required packages =====
The required packages can be found [[https://doc.wallabag.org/en/admin/installation/requirements.html|unter be found at this link]].
===== Installation =====
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
===== Virtual Host =====
==== Apache 2.4 ====
ServerName wallabag.domain.tld
ServerAlias www.wallabag.domain.tld
# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine On
SSLProtocol -ALL +TLSv1 +TLSv1.2
SSLCompression Off
SSLSessionTickets on
SSLHonorCipherOrder off
SSLCipherSuite ECDH+AESGCM:ECDH+AES256:!aNULL:!MD5:!DSS:!DH:!AES128
SSLVerifyDepth 10
SSLCertificateFile /etc/letsencrypt/live/wallabag.domain.tld/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wallabag.domain.tld/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/wallabag.domain.tld/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/wallabag.domain.tld/fullchain.pem
DocumentRoot "/home/user/wallabag/web"
Require all granted
Options +SymLinksIfOwnerMatch
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
# If you don't want this caching strategy for your assets
# you have to comment the two following blocks
ExpiresActive On
ExpiresByType application/javascript A259200
ExpiresByType image/avif "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/webp "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
Header set Cache-Control "max-age=2592000, public"
Header set Cache-Control "max-age=2592000, public, immutable"
Header set Cache-Control "max-age=2592000, private"
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
#
# Options FollowSymlinks
#
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
RewriteEngine Off
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
===== Authorisations =====
chown -R www-data:www-data /home/user/wallabag/var
chown -R www-data:www-data /home/user/wallabag/web
chown -R www-data:www-data /home/user/wallabag/bin/
chown -R www-data:www-data /home/user/wallabag/app/config/
chown -R www-data:www-data /home/user/wallabag/vendor/
chown -R www-data:www-data /home/user/wallabag/data/
===== LetsEncrypt certificate as cronjob =====
30 3 * * 0 /opt/certbot/certbot-auto certonly --apache --force-renewal -d wallabag.domain.tld --post-hook "/etc/init.d/apache2 reload"