Wallabag Installation unter Debian
Wallabag ist ein selbsthostbarer Dienst, der eure Webseiten speichert, um diese später zu lesen. Mit den folgenden Schritten, könnt ihr eure Wallabag unter Debian einrichten.
Benötigte Pakete
Die benötigten Pakete können unter diesem Link gefunden werden.
Installation
git clone https://github.com/wallabag/wallabag.git cd wallabag && make install
Virtual Host
Apache 2.4
<VirtualHost 1.2.3.4:443> 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" <Directory /home/user/wallabag/web> Require all granted <IfModule mod_rewrite.c> Options +SymLinksIfOwnerMatch Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> # If you don't want this caching strategy for your assets # you have to comment the two following blocks <IfModule mod_expires.c> 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" </IfModule> <IfModule mod_headers.c> <FilesMatch "\\.css$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\\.(gif|ico|jpe?g|png|svg|webp)$"> Header set Cache-Control "max-age=2592000, public, immutable" </FilesMatch> <FilesMatch "\\.js$"> Header set Cache-Control "max-age=2592000, private" </FilesMatch> </IfModule> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeScript assets # <Directory /home/psycore/wallabag/web> # Options FollowSymlinks # </Directory> # 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 <Directory /home/psycore/wallabag/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> ErrorLog /var/log/apache2/wallabag_error.log CustomLog /var/log/apache2/wallabag_access.log combined </VirtualHost>
Berechtigungen
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 Zertifikat als Cronjob
30 3 * * 0 /opt/certbot/certbot-auto certonly --apache --force-renewal -d wallabag.domain.tld --post-hook "/etc/init.d/apache2 reload"