wallabag Documentation

Transcrição

wallabag Documentation
wallabag Documentation
Release 2.1.0
Nicolas Lœuillet
04.01.2017
Nutzerdokumentation
1
Installation von wallabag
1.1 Voraussetzungen . . . . . . . . . . . . . . . .
1.2 Installation . . . . . . . . . . . . . . . . . . .
1.3 Virtualhosts . . . . . . . . . . . . . . . . . . .
1.4 Rechte, um das Projektverzeichnis zu betreten
.
.
.
.
3
3
4
5
7
2
wallabag-Installation aktualisieren
2.1 Upgrade von 2.0.x zu 2.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Upgrade von 2.1.x zu 2.1.y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Upgrade von 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
11
12
12
3
Konfiguration
3.1 Einstellungen . . . . . .
3.2 RSS . . . . . . . . . . .
3.3 Benutzer-Informationen
3.4 Passwort . . . . . . . .
3.5 Tagging-Regeln . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
13
14
14
15
Migration von einem Drittanbieter
4.1 Pocket . . . . . . . . . . . . . . . . .
4.2 Readability . . . . . . . . . . . . . . .
4.3 Instapaper . . . . . . . . . . . . . . .
4.4 wallabag 1.x . . . . . . . . . . . . . .
4.5 wallabag 2.x . . . . . . . . . . . . . .
4.6 Import über die Kommandozeile (CLI)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
18
18
19
20
5
Account erstellen
5.1 Registrierungsformular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Anmeldung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
23
25
6
Artikel
6.1 Speichere deinen ersten Artikel
6.2 Artikel herunterladen . . . . . .
6.3 Artikel teilen . . . . . . . . . .
6.4 Artikel-Anmerkungen . . . . .
.
.
.
.
27
27
28
28
29
Fehler während des Artikelladens
7.1 Warum schlägt das Laden eines Artikels fehl? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Wie kann ich helfen das zu beheben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
31
4
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
7.3
8
9
Wie kann ich versuchen, einen Artikel erneut zu laden? . . . . . . . . . . . . . . . . . . . . . . . . .
Filter
8.1 Status . . . . . .
8.2 Vorschaubild . .
8.3 Sprache . . . . .
8.4 Lesezeit . . . . .
8.5 Domainname . .
8.6 Erstellungsdatum
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Tags
31
33
33
34
34
34
34
34
35
10 Android App
10.1 Zweck dieses Dokuments . . . . . .
10.2 Schritte, um dein App zu einzurichten
10.3 Bekannte Limitierungen . . . . . . .
10.4 Referenzen . . . . . . . . . . . . . .
.
.
.
.
37
37
37
57
57
11 Was bedeuten die Parameter?
11.1 Standardeinstellungen der parameters.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Bedeutung von jedem Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
60
12 wallabag sichern
12.1 Grundlegende Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
63
63
13 Häufig gestellte Fragen
13.1 Während der Installation sehe ich den Fehler Error Output: sh: 1: @post-cmd: not
found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2 Ich kann das Registrierungsformular nicht validieren . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3 Ich erhalte meine Aktivierungsmail nicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.4 Wenn ich den Aktivierungslink klicke, bekomme ich die Nachricht Der Nutzer mit dem
Bestätigungstoken "DtrOPfbQeVkWf6N" existiert nicht . . . . . . . . . . . . .
13.5 Ich habe mein Passwort vergessen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.6 Ich erhalte den Fehler failed to load external entity, wenn ich wallabag installiere . .
65
65
66
66
14 API Dokumentation
14.1 Voraussetzungen . . . . . . . . . .
14.2 Einen neuen API Client erstellen .
14.3 Einen Aktualisierungstoken erhalten
14.4 Existierende Einträge erhalten . . .
14.5 Deinen ersten Eintrag hinzufügen .
14.6 Eintrag löschen . . . . . . . . . . .
14.7 Andere Methoden . . . . . . . . .
14.8 Drittanbieter Ressourcen . . . . . .
.
.
.
.
.
.
.
.
67
67
67
67
68
69
70
71
71
15 Lasse wallabag in docker-compose laufen
15.1 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Wechsel des DBMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 wallabag laufen lassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
73
73
73
16 Wirke an dieser Dokumentation mit
75
17 Übersetze wallabag
17.1 wallabag Webapplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
77
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
65
65
17.2 wallabag Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
18 Wartungsmodus
18.1 Aktivieren des Wartungsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Deaktivieren des Wartungsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
79
79
19 Asynchrone Aufgaben
19.1 Installation von RabbitMQ für asynchrone Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .
19.2 Redis für asynchrone Aufgaben installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
81
82
iii
iv
wallabag Documentation, Release 2.1.0
wallabag ist eine Read-it-later Applikation: es speichert Websites, indem es nur den Inhalt behält. Elemente wie
Navigation oder Werbung werden gelöscht.
Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organisiert:
• Nutzerdokumentation
• Entwicklerdokumentation
Die Dokumentation ist in anderen Sprachen verfügbar :
• Documentation in english
• Documentation en français
Nutzerdokumentation
1
wallabag Documentation, Release 2.1.0
2
Nutzerdokumentation
KAPITEL 1
Installation von wallabag
1.1 Voraussetzungen
wallabag ist kompatibel mit PHP >= 5.5, inkl. PHP 7.
Bemerkung: To install wallabag easily, we create a Makefile, so you need to have the make tool.
wallabag nutzt eine große Anzahl an Bibliotheken, um zu funktionieren. Diese Bibliotheken müssen mit einem Tool
namens Composer installiert werden. Du musst es installieren sofern du es bisher noch nicht gemacht hast.
Composer installieren:
curl -s http://getcomposer.org/installer | php
Du kannst eine spezifische Anleitung hier finden.
Du benötigst die folgenden Extensions damit wallabag funktioniert. Einige von diesen sind vielleicht schon in deiner
Version von PHP aktiviert, somit musst du eventuell nicht alle folgenden Pakete installieren.
• php-session
• php-ctype
• php-dom
• php-hash
• php-simplexml
• php-json
• php-gd
• php-mbstring
• php-xml
• php-tidy
• php-iconv
• php-curl
• php-gettext
• php-tokenizer
3
wallabag Documentation, Release 2.1.0
• php-bcmath
wallabag nutzt PDO, um sich mit der Datenbank zu verbinden, darum benötigst du eines der folgenden Komponenten:
• pdo_mysql
• pdo_sqlite
• pdo_pgsql
und dessen dazugehörigen Datenbankserver.
1.2 Installation
1.2.1 Auf einem dedizierten Webserver (empfohlener Weg)
Um wallabag selbst zu installieren, musst du die folgenden Kommandos ausführen:
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
Um PHPs eingebauten Server zu starten und zu testen, ob alles korrekt installiert wurde, kannst du folgendes Kommando ausführen:
make run
und wallabag unter http://deineserverip:8000 erreichen.
Tipp: Um Parameter mit Umgebungsvariable zu definieren, musst du die Variable mit dem SYMFONY__ Präfix setzen.
Zum Beispiel SYMFONY__DATABASE_DRIVER. Du kannst einen Blick die Symfony Dokumentation werfen.
1.2.2 Auf einem geteilten Webhosting
Wir stellen ein Paket inkl. aller Abhängigkeiten bereit. Die Standardkonfiguration nutzt SQLite für die Datenbank.
Wenn du diese Einstellung ändern willst, ändere bitte app/config/parameters.yml.
Wir haben bereits einen Nutzer erstellt: Login und Passwort sind wallabag.
Vorsicht: Mit diesem Paket überprüft wallabag nicht die von der Applikation gebrauchten Exentions (diese Tests
werden während composer install durchgeführt wenn du einen dedizierten Webserver hast, siehe oben).
Führe dieses Kommando aus, um das neueste Paket herunterzuladen und zu entpacken:
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Du findest die md5 Hashsumme des neuesten Pakets auf unserer Website.
Jetzt lies die Dokumentation, um einen Virtualhost zu erstellen, dann greife auf dein wallabag zu. Wenn du die Datenbankkonfiguration eingestellt hast, MySQL oder PostgreSQL zu nutzen, musst du einen Nutzer über das folgende
Kommando erstellen php bin/console wallabag:install --env=prod.
4
Kapitel 1. Installation von wallabag
wallabag Documentation, Release 2.1.0
1.2.3 Installation mit Docker
Wir stellen ein Docker Image zu Verfügung, um wallabag einfach zu installieren. Schaue in unser Repository in
unserem Docker Hub, um mehr Informationen zu erhalten.
Kommando, um den Container zu starten
docker pull wallabag/wallabag
1.3 Virtualhosts
1.3.1 Konfiguration von Apache
Angenommen du willst wallabag in das Verzeichnis /var/www/wallabag installieren und du willst PHP als Apache Modul nutzen, dann ist hier ein vhost für wallabag:
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
#
#
#
#
#
uncomment the following lines if you install assets as symlinks
or run into problems when compiling LESS/Sass/CoffeScript assets
<Directory /var/www/wallabag>
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 /var/www/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>
Nach dem du Apache neugeladen oder neugestartet hast, solltest du nun wallabag unter http://domain.tld erreichen.
1.3. Virtualhosts
5
wallabag Documentation, Release 2.1.0
1.3.2 Konfiguration von Nginx
Angenommen du willst wallabag in das Verzeichnis /var/www/wallabag installieren, dann ist hier ein Rezept für
wallabag:
server {
server_name domain.tld www.domain.tld;
root /var/www/wallabag/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Nach dem Neuladen oder Neustarten von nginx solltest du nun wallabag unter http://domain.tld erreichen.
Tipp: Wenn du eine große Datei in wallabag importieren willst, solltest du diese Zeile zu deiner nginx Konfiguration
hinzufügen client_max_body_size XM; # allows file uploads up to X megabytes.
1.3.3 Konfiguration von lighttpd
Angenommen du willst wallabag in das Verzeichnis /var/www/wallabag installieren, dann ist hier ein Rezept für
wallabag (bearbeite deine lighttpd.conf und füge die Konfiguration dort ein):
server.modules = (
"mod_fastcgi",
"mod_access",
"mod_alias",
6
Kapitel 1. Installation von wallabag
wallabag Documentation, Release 2.1.0
"mod_compress",
"mod_redirect",
"mod_rewrite",
)
server.document-root = "/var/www/wallabag/web"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
server.follow-symlink = "enable"
index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
dir-listing.activate = "disable"
url.rewrite-if-not-file = (
"^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
"^/([^?]*)" => "/app.php?=$1",
)
1.4 Rechte, um das Projektverzeichnis zu betreten
1.4.1 Testumgebung
Wenn wir nur wallabag testen wollen, führen wir nur das Kommando php bin/console server:run
--env=prod aus, um unsere wallabag Instanz zu starten und alles wird geschmeidig laufen, weil der Nutzer, der
das Projekt gestartet hat, den aktuellen Ordner ohne Probleme betreten kann.
1.4.2 Produktionsumgebung
Sobald wir Apache oder Nginx nutzen, um unsere wallabag Instanz zu erreichen, und nicht das Kommando php
bin/console server:run --env=prod nutzen, sollten wir dafür sorgen, die Rechte vernünftig zu vergeben,
um die Ordner des Projektes zu schützen.
Um dies zu machen, muss der Ordner, bekannt als DocumentRoot (bei Apache) oder root (bei Nginx), von dem
Apache-/Nginx-Nutzer zugänglich sein. Sein Name ist meist www-data, apache oder nobody (abhängig vom
genutzten Linuxsystem).
Der Ordner /var/www/wallabag/web musst dem letztgenannten zugänglich sein. Aber dies könnte nicht genug
sein, wenn wir nur auf diesen Ordner achten, weil wir eine leere Seite sehen könnten oder einen Fehler 500, wenn wir
die Homepage des Projekt öffnen.
Dies kommt daher, dass wir die gleichen Rechte dem Ordner /var/www/wallabag/var geben müssen, so wie wir
es für den Ordner /var/www/wallabag/web gemacht haben. Somit beheben wir das Problem mit dem folgenden
Kommando:
1.4. Rechte, um das Projektverzeichnis zu betreten
7
wallabag Documentation, Release 2.1.0
chown -R www-data:www-data /var/www/wallabag/var
Es muss analog für die folgenden Ordner ausgeführt werden
• /var/www/wallabag/bin/
• /var/www/wallabag/app/config/
• /var/www/wallabag/vendor/
• /var/www/wallabag/data/
durch Eingabe der Kommandos
chown
chown
chown
chown
-R
-R
-R
-R
www-data:www-data
www-data:www-data
www-data:www-data
www-data:www-data
/var/www/wallabag/bin
/var/www/wallabag/app/config
/var/www/wallabag/vendor
/var/www/wallabag/data/
ansonsten wirst du früher oder später folgenden Fehlermeldung sehen:
Unable to write to the "bin" directory.
file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
1.4.3 Zusätzliche Regeln für SELinux
Wenn SELinux in deinem System aktiviert ist, wirst du zusätzliche Kontexte konfigurieren müssen damit wallabag
ordentlich funktioniert. Um zu testen, ob SELinux aktiviert ist, führe einfach folgendes aus:
getenforce
Dies wird Enforcing ausgeben, wenn SELinux aktiviert ist. Einen neuen Kontext zu erstellen, erfordert die folgende
Syntax:
semanage fcontext -a -t <context type> <full path>
Zum Beispiel:
semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"
Dies wird rekursiv den httpd_sys_content_t Kontext auf das wallabag Verzeichnis und alle darunterliegenden Dateien
und Ordner anwenden. Die folgenden Regeln werden gebraucht:
Vollständiger Pfad
/var/www/wallabag(/.*)?
/var/www/wallabag/data(/.*)?
/var/www/wallabag/var/logs(/.*)?
/var/www/wallabag/var/cache(/.*)?
Kontext
httpd_sys_content_t
httpd_sys_rw_content_t
httpd_log_t
httpd_cache_t
Nach dem diese Kontexte erstellt wurden, tippe das folgende, um deine Regeln anzuwenden:
restorecon -R -v /var/www/wallabag
Du kannst deine Kontexte in einem Verzeichnis überprüfen, indem du ls -lZ tippst und alle deine aktuellen Regeln
mit semanage fcontext -l -C überprüfst.
Wenn du das vorkonfigurierte latest-v2-package installierst, dann ist eine weitere Regel während der Installation nötig:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"
Nachdem du erfolgreich dein wallabag erreichst und die Installation fertiggestellt hast, kann dieser Kontext entfernt
werden:
8
Kapitel 1. Installation von wallabag
wallabag Documentation, Release 2.1.0
semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
retorecon -R -v /var/www/wallabag/var
1.4. Rechte, um das Projektverzeichnis zu betreten
9
wallabag Documentation, Release 2.1.0
10
Kapitel 1. Installation von wallabag
KAPITEL 2
wallabag-Installation aktualisieren
Du wirst hier mehrere Wege finden, um deine wallabag zu aktualisieren:
• von 2.0.x zu 2.1.1
• von 2.1.x zu 2.1.y
• von 1.x zu 2.x
2.1 Upgrade von 2.0.x zu 2.1.1
Warnung: Mache eine Sicherung deines Pocket-Consumer-Key, falls hinzugefügt, da dieser nach dem Upgrade
erneut hinzugefügt werden muss.
2.1.1 Upgrade auf einem dedizierten Webserver
rm -rf var/cache/*
git fetch origin
git fetch --tags
git checkout 2.1.1 --force
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console doctrine:migrations:migrate --env=prod
php bin/console cache:clear --env=prod
2.1.2 Upgrade auf einem Shared Hosting
Sichere deine app/config/parameters.yml-Datei.
Lade das 2.1.1-Release von wallabag herunter:
wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
(md5 hash of the 2.1.1 package: 9584a3b60a2b2a4de87f536548caac93)
Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die app/config/parameters.yml mit deiner.
Bitte überprüfe, dass deine app/config/parameters.yml alle notwendigen Parameter enthält. Eine Dokumentation darüber findest du hier.
Falls du SQLite nutzt, musst du außerdem deinen data/-Ordner in die neue Installation kopieren.
11
wallabag Documentation, Release 2.1.0
Leere den var/cache-Ordner.
Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon
aus, dass das Tabellenpräfix wallabag_ ist und eine MySQL-Datenbank verwendet wird:
ALTER TABLE
INSERT INTO
ALTER TABLE
INSERT INTO
INSERT INTO
ALTER TABLE
DELETE FROM
`wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1',
`wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis',
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitm
`wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
`wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
2.2 Upgrade von 2.1.x zu 2.1.y
2.2.1 Upgrade auf einem dedizierten Webserver
Um deine wallabag-Installation auf die letzte Version zu aktualisieren, führe den folgenden Befehl in deinem wallabagOrdner aus:
make update
2.2.2 Upgrade auf einem Shared Hosting
Sichere deine app/config/parameters.yml-Datei.
Lade das letzte Release von wallabag herunter:
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Du findest den aktuellen MD5-Hash auf unserer Webseite.
Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die app/config/parameters.yml mit deiner.
Bitte überprüfe, dass deine app/config/parameters.yml alle notwendigen Parameter enthält. Eine Dokumentation darüber findest du hier.
Falls du SQLite nutzt, musst du außerdem deinen data/-Ordner in die neue Installation kopieren.
Leere den var/cache-Ordner.
2.3 Upgrade von 1.x
Es gibt kein automatisiertes Skript, um wallabag 1.x auf wallabag 2.x zu aktualisieren. Du musst:
• deine Daten exportieren
• wallabag 2.x installieren (Dokumentation <http://doc.wallabag.org/en/master/user/installation.html>‘_ )
• die Daten in die neue Installation importieren (Dokumentation )
12
Kapitel 2. wallabag-Installation aktualisieren
KAPITEL 3
Konfiguration
Nun, da du eingeloggt bist, ist es Zeit, deinen Account so zu konfigurieren, wie du möchtest.
Klicke auf Konfiguration im Menü. Du hast fünf Karteireiter:
Benutzer-Informationen, Kennwort und Tagging-Regeln.
Einstellungen,
RSS,
3.1 Einstellungen
3.1.1 Theme
wallabag ist anpassbar. Du kannst dein bevorzugtes Theme hier auswählen. Das Standardtheme ist Material, es ist
das Theme, dass in den Dokumentationsbildschirmfotos genutzt wird.
3.1.2 Artikel pro Seite
Du kannst die Anzahl der dargestellten Artikel pro Seite ändern.
3.1.3 Lesegeschwindigkeit
wallabag berechnet die Lesezeit für jeden Artikel. Du kannst hier definieren, dank dieser Liste, ob du ein schneller
oder langsamer Leser bist. wallabag wird die Lesezeit für jeden Artikel neu berechnen.
3.1.4 Sprache
Du kannst die Sprache von der wallabag Benutzeroberfläche ändern.
3.2 RSS
wallabag stellt RSS Feeds für jeden Artikelstatus bereit: ungelesen, Favoriten und Archiv.
Als erstes musst du einen persönlciehn Token erstellen: Klicke auf Token generieren. Es ist möglich deinen
Token zu ändern, indem du auf Token zurücksetzen klickst.
Jetzt hast du drei Links, einen für jeden Status: Füge sie in deinem liebsten Feedreader hinzu.
Du kannst auch definieren wie viele Artikel du in deinem RSS Feed (Standardwert: 50) haben willst.
13
wallabag Documentation, Release 2.1.0
3.3 Benutzer-Informationen
Du kannst deinen Namen ändern, deine E-Mail-Adresse und die Zwei-Faktor-Authentifizierung aktivieren.
3.3.1 Zwei-Faktor-Authentifizierung (2FA)
Die Zwei-Faktor-Authentifizierung (2FA) dient dem Identitätsnachweis eines Nutzers mittels der Kombination zweier verschiedener und insbesondere unabhängiger Komponenten (Faktoren).
https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung
Wenn du 2FA aktivierst, erhälst du jedes Mal, wenn du dich bei wallabag einloggen willst, einen Code per Mail. Du
musst den Code in das folgende Formular eingeben.
Wenn du nicht jedes Mal, wenn du dich einloggen willst, einen Code zugesendet bekommen möchtest, kannst du die
Checkbox Ich bin an einem persönlichen Computer anhaken: wallabag wird sich an dich für 15 Tage
erinnern.
3.4 Passwort
Du kannst dein Passwort hier ändern (8 Zeichen Minimum).
14
Kapitel 3. Konfiguration
wallabag Documentation, Release 2.1.0
3.5 Tagging-Regeln
Wenn du automatisch einen Tag zu einem neuen Artikel zuweisen lassen möchtest, ist dieser Teil der Konfiguration,
was du suchst.
3.5.1 Was ist mit Tagging-Regeln gemeint?
Dies sind Regeln, die von wallabag genutzt werden, um neue Artikel automatisch zu taggen Jedes Mal, wenn ein neuer
Artikel hinzugefügt wird, werden alle Tagging-Regeln genutzt, um deine konfigurierten Tags hinzuzufügen, folglich
um dir den Aufwand zu sparen, die Artikel manuell einzuteilen.
3.5.2 Wie benutze ich sie?
Nehmen wir an, du möchtest neuen Artikeln einen Tag schnell gelesen, wenn du die Lesezeit kleiner als 3 Minuten
ist. In diesem Fall solltest du in das Regelfeld “readingTime <= 3” eintragen und schnell gelesen in das Tags-Feld.
Mehrere Tags können gleichzeitig hinzugefügt werden, wenn man sie mit einem Komma trennt: schnell gelesen,
Pflichtlektüre. Komplexe Regeln können mit vordefinierten Operatoren geschrieben werden: Wenn readingTime >= 5
AND domainName = “github.com”, dann tagge als lange zu lesen, github.
3.5.3 Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen?
Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen (sei vorsichtig, denn
bei einigen Werten musst du Anführungszeichen hinzufügen, z.B. language = "de"):
Variable
title
url
isArchived
isStarred
content
language
mimetype
readingTime
domainName
Bedeutung
Operator
<=
<
=>
Bedeutung
>
Größer als. . .
=
!=
Gleich zu. . .
Nicht gleich zu. . .
MIME-Typ des
Eintrags
Die geschätzte
Lesezeit in Minuten
OR
Eine Regel oder die andere
AND
Eine Regel und die andere
Der Domain-Name
des Eintrags
matches
Testet, dass ein Feld einer Suche (unabhängig von Groß- und
Kleinschreibung) übereinstimmt. Z.B.: title matches “Fußball”
Titel des Artikels
URL des Artikels
Ob der Artikel
archiviert ist oder
nicht
Ob der Artikel
favorisiert ist oder
nicht
Inhalt des Eintrags
Sprache des Eintrags
3.5. Tagging-Regeln
Kleiner gleich als. . .
Kleiner als. . .
Größer gleich als. . .
15
wallabag Documentation, Release 2.1.0
16
Kapitel 3. Konfiguration
KAPITEL 4
Migration von einem Drittanbieter
In wallabag 2.x kannst du Daten von folgenden Anbietern importieren:
• Pocket <#id1>‘_
• Readability <#id2>‘_
• Instapaper <#id4>‘_
• wallabag 1.x <#id6>‘_
• wallabag 2.x <#id7>‘_
Wir haben zusätzlich ein Skript für die Migration per Kommandozeile geschrieben.
Da Importe eine Menge Zeit in Anspruch nehmen können, haben wir auch ein asynchrones Aufgabensystem entwickelt. Du kannst die Dokumentation hier lesen (für Experten).
4.1 Pocket
4.1.1 Erstelle eine neue Applikation in Pocket
Um deine Daten von Pocket zu importieren, nutzen wir die Pocket API. Du musst eine neue Applikation auf ihrer
Entwicklerwebsite erstellen, um fortzufahren.
• Erstelle eine neue Applikation auf der Entwicklerwebsite
• Fülle die erforderlichen Felder aus: Name, Beschreibung, Berechtigungen (nur abrufen), Plattform (web), akzeptiere die Nutzungsbedingungen und reiche deine neue Applikation ein
Pocket wird dir einen Consumer Key geben (z.B. 49961-985e4b92fe21fe4c78d682c1). Du musst den
pocket_consumer_key in dem Abschnitt Import in dem Interne Einstellungen Menü konfigurieren.
Jetzt ist alles in Ordnung, um von Pocket zu migrieren.
4.1.2 Importiere deine Daten in wallabag 2.x
Klicke auf den Importieren Link im Menü, auf Inhalte importieren in dem Pocketabschnitt und dann auf
Verbinde mit Pocket und importieren Daten.
Du musst wallabag erlauben, mit deinem Pocketaccount zu interagieren. Deine Daten werden importiert. Datenimport kann ein sehr anspruchsvoller Prozess für deinen Server sein (wir müssen daran arbeiten, um diesen Import zu
verbessern).
17
wallabag Documentation, Release 2.1.0
4.2 Readability
4.2.1 Exportiere deine Readability-Daten
Auf der Tools-Seite (https://www.readability.com/tools/), klicke auf “Daten exportieren” im “Daten-Export”Abschnitt. Du wirst eine E-Mail mit einem Downloadlink zu einer JSON-Datei erhalten, welche zugegebenermaßen
nicht mit .json endet.
4.2.2 Importiere deine Daten in wallabag 2.x
Klicke auf den Importieren-Link im Menü, auf Inhalte importieren im Readability-Abschnitt und wähle
dann deine JSON-Datei aus und lade sie hoch.
Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein.
4.3 Instapaper
4.3.1 Exportiere deine Instapaper-Daten
Klicke in den Einstellungen (https://www.instapaper.com/user) auf “CSV-Datei herunterladen” im Export-Abschnitt.
Eine CSV-Datei mit dem Namen instapaper-export.csv wird heruntergeladen.
4.3.2 Importiere deine Daten in wallabag 2.x
Klicke auf den Importieren-Link im Menü, auf Inhalte importieren im Instapaper-Abschnitt und wähle
dann deine CSV-Datei aus und lade sie hoch.
Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein.
4.4 wallabag 1.x
Wenn du in der Vergangenheit wallabag 1.x genutzt hast, musst du deine Daten exportieren, bevor du auf wallabag
2.x umsteigst, da sich viel an der Anwendung und der Datenbank geändert hast. In deiner alten wallabag-installation
kannst du deine Daten exportieren, indem du die Konfigurationsseite auf der alten wallabag-Instanz öffnest.
18
Kapitel 4. Migration von einem Drittanbieter
wallabag Documentation, Release 2.1.0
Bemerkung: Wenn du mehrere Accounts auf der gleichen wallabag-Instanz hast, muss jeder Nutzer seine Daten aus
1.x exportieren und in 2.x importieren.
Bemerkung: Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den Support
zu kontaktieren.
Wenn du dann die JSON-Datei mit deinen Einträgen heruntergeladen hast, kannst du wallabag 2 über die StandardProzedur installieren.
Nach dem Erstellen des Benutzeraccounts auf deiner neuen “wallabag 2.x”-Instanz, navigiere auf den Import-Bereich
und wähle Aus wallabag v1 importieren. Wähle deine JSON-Datei und lade sie hoch.
4.5 wallabag 2.x
Gehe auf der alten wallabag-Instanz, die du vorher genutzt hast, auf Alle Artikel und exportiere diese dann als JSON.
4.5. wallabag 2.x
19
wallabag Documentation, Release 2.1.0
Nach dem Erstellen des Benutzeraccounts auf deiner neuen “wallabag 2.x”-Instanz, navigiere auf den Import-Bereich
und wähle Aus wallabag v2 importieren. Wähle deine JSON-Datei und lade sie hoch.
Bemerkung: Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den Support
zu kontaktieren.
4.6 Import über die Kommandozeile (CLI)
Falls du auf deinem Server Zugriff auf die Kommandozeile hast, kannst du den folgenden Befehl ausführen, um deine
Daten aus wallabag v1 zu importieren:
bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
Bitte ersetze die Werte:
• 1 ist die Benutzer-ID in der Datenbank (die ID des ersten Benutzers ist immer 1)
• ~/Downloads/wallabag-export-1-2016-04-05.json ist der Pfad zu deiner wallabag v1Exportdatei
20
Kapitel 4. Migration von einem Drittanbieter
wallabag Documentation, Release 2.1.0
Wenn du alle Artikel als gelesen markieren möchtest, kannst du die --markAsRead-Option hinzufügen.
Um eine wallabag 2.x-Datei zu importieren, musst du die Option --importer=v2 hinzufügen.
Als Ergebnis wirst du so etwas erhalten:
Start : 05-04-2016 11:36:07 --403 imported
0 already saved
End : 05-04-2016 11:36:09 ---
4.6. Import über die Kommandozeile (CLI)
21
wallabag Documentation, Release 2.1.0
22
Kapitel 4. Migration von einem Drittanbieter
KAPITEL 5
Account erstellen
5.1 Registrierungsformular
Klicke auf der Loginseite auf den Registrieren Button-
23
wallabag Documentation, Release 2.1.0
Du musst das Formular ausfüllen. Bitte stelle sicher, dass du eine gültige E-Mail-Adresse eingibst, wir werden dir eine
Aktivierungsmail schicken.
24
Kapitel 5. Account erstellen
wallabag Documentation, Release 2.1.0
Überprüfge deinen Posteingang, du hast jetzt eine neue Mail mit einem Link wie diesen
http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4.
Klicke auf den Link, um deinen Account zu aktivieren.
Dein Account ist nun aktiviert.
5.2 Anmeldung
Glückwunsch, dein Account ist nun aktiviert! Um dich auf wallabag anzumelden, fülle das Formular auf der LoginSeite aus.
5.2. Anmeldung
25
wallabag Documentation, Release 2.1.0
Wenn du auf einem persönlichen Computer bist und angemeldet bleiben möchtest, kannst du ein Häkchen nach
angemeldet bleiben setzen, wallabag wird sich ein Jahr an dich erinnern.
26
Kapitel 5. Account erstellen
KAPITEL 6
Artikel
6.1 Speichere deinen ersten Artikel
Die Hauptzweck von wallabag ist es, Artikel aus dem Web zu speichern. Es gibt viele Wege, dieses Ziel zu erreichen.
Wenn du denkst, dass ein Artikel falsch angezeigt wird, kannst du diese Dokumentation lesen.
6.1.1 Über ein Bookmarklet
Auf der Howto-Seite hast du einen Bookmarklet-Tab. Ziehe das bag it! in die Lesezeichenleiste deines Browsers. Nun kannst du jedes Mal, wenn du einen Artikel speichern willst, auf den bag it!-Link klicken, dann ist der
Artikel gespeichert.
6.1.2 Der klassische Weg
In der oberen Leiste deines Fensters hast du auf der rechten Seite drei Symbole. Mit dem ersten Symbole, einem
Plus-Zeichen, kannst du auf einfache Weise einen neuen Artikel speichern.
Klicke darauf, um ein neues Feld anzuzeigen, füge die Artikel-URL ein und drücke Enter. Dann wird der Artikel
gespeichert.
6.1.3 Über ein Browser-Addon
Firefox
Du kannst das ‘Firefox-Addon hier <https://addons.mozilla.org/firefox/addon/wallabag-v2/> herunterladen‘_.
27
wallabag Documentation, Release 2.1.0
Chrome
Du kannst das ‘Chrome-Addon hier <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacj
herunterladen‘_.
6.1.4 Über das Smartphone
Android
Du kannst die ‘Android-App hier <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>
herunterladen‘_.
Windows 10 in general
Du kannst die ‘Windows-App hier <https://www.microsoft.com/store/apps/9nblggh5x3p6> herunterladen‘_.
6.2 Artikel herunterladen
Du kannst jeden Artikel in verschiedenen Formaten herunterladen: ePUB, MOBI, PDF, XML, JSON, CSV.
Klicke in der Artikelansicht auf dieses Symbol in der Seitenleiste:
Du kannst sogar eine ganze Kategorie (Ungelesen, Favoriten, Archiv) in diesen Formaten herunterladen: Beispielsweise kannst du auf der Ungelesen-Ansicht auf dieses Symbol in der oberen Leiste klicken:
6.3 Artikel teilen
Wenn du einen Artikel liest, kannst du ihn auch teilen. Klicke dazu einfach auf den Teilen-Button:
Nun kannst du den Artikel teilen:
• über eine öffentliche URL (es wird eine reduzierte Ansicht des Artikels zurückgegeben)
• über einen Tweet
28
Kapitel 6. Artikel
wallabag Documentation, Release 2.1.0
• in deine Shaarli
• mit einem Beitrag auf Diaspora*
• an Carrot
• mit einer E-Mail
6.4 Artikel-Anmerkungen
In jedem Artikel, den du liest, kannst du Anmerkungen hinzufügen. Es ist einfacher mit ein paar Bilder erklärt.
Wähle den Teil des Artikels aus, den du kommentieren willst und klicke auf den Bleistift:
Schreibe deinen Kommentar:
Der Text ist nun hervorgehoben und du kannst deine Anmerkung lesen, wenn du den Mauspfeil darüber fährst.
Du kannst so viele Anmerkungen erstellen wie du möchtest.
6.4. Artikel-Anmerkungen
29
wallabag Documentation, Release 2.1.0
30
Kapitel 6. Artikel
KAPITEL 7
Fehler während des Artikelladens
7.1 Warum schlägt das Laden eines Artikels fehl?
Das kann verschiedene Ursachen haben:
• Netzwerkprobleme
• wallabag kann den Inhalt aufgrund der Websitestruktur nicht laden
7.2 Wie kann ich helfen das zu beheben?
• indem du uns eine Mail mit der URL des Artikels sendest
• indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel selbst zu beheben Du
kannst dieses Tool nutzen.
7.3 Wie kann ich versuchen, einen Artikel erneut zu laden?
Wenn wallabag beim Laden eines Artikels fehlschlägt, kannst du auf den erneut laden Button klicken (der dritte in
dem unteren Bild).
31
wallabag Documentation, Release 2.1.0
32
Kapitel 7. Fehler während des Artikelladens
KAPITEL 8
Filter
Um Artikel leichter zu erreichen, kannst du sie filtern. Klicke auf das dritte Symbol in der oberen Leiste.
Alle diese Filter können kombiniert werden.
8.1 Status
Nutze die Checkboxen, um einen archivierten oder favorisierten Artikel zu finden.
33
wallabag Documentation, Release 2.1.0
8.2 Vorschaubild
Hake diesen Filter an, wenn du Artikel mit einem Vorschaubild erhalten willst.
8.3 Sprache
wallabag (via graby) kann die Artikelsprache erkennen. Es ist einfach für dich, Artikel in einer bestimmten Sprache
zu filtern.
8.4 Lesezeit
wallabag schätzt wieviel Zeit du brauchst, um einen Artikel zu lesen. Mit diesem Filter kannst du zum Beispiel Artikel
mit einer Lesezeit zwischen 2 und 5 Minuten finden.
8.5 Domainname
Dank dieses Filters, kannst ud Artikel von der gleichen Domain finden. Zum Beispiel tippst du in diesem Feld
bbc.co.uk, um Artikel dieser Website zu finden.
8.6 Erstellungsdatum
Wenn du Artikel speicherst, merkt sich wallabag das aktuelle Datum. So praktisch, um Aritkel, die zwischen dem 1.
und 31. Januar geschrieben sind, zu finden.
34
Kapitel 8. Filter
KAPITEL 9
Tags
35
wallabag Documentation, Release 2.1.0
36
Kapitel 9. Tags
KAPITEL 10
Android App
10.1 Zweck dieses Dokuments
Dieses Dokument beschreibt wie du deine Android App einrichtest, damit sie mit deiner Wallabaginstanz zusammenarbeitet. Es gibt hierbei keinen Unterschied im Vorgang - egal ob du Wallabag v1 oder v2 einsetzt.
10.2 Schritte, um dein App zu einzurichten
Wenn du das erste Mal die App startest, siehst du den Willkommensbildschirm, wo du angewiesen wirst zunächst
deine App mit deiner Wallabaginstanz einzurichten.
37
wallabag Documentation, Release 2.1.0
38
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Bestätige nur diese Nachricht und du wirst zum Einstellungsbildschirm weitergeleitet.
10.2. Schritte, um dein App zu einzurichten
39
wallabag Documentation, Release 2.1.0
40
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Trage deine Wallabagdaten ein. Du musst deine Wallabagadresse eintragen. Es ist wichtig, dass die URL nicht mit
einem Schrägstrich endet. Füge auch deine Wallabagzugangsdaten in das Nutzer- und Passwortfeld ein.
10.2. Schritte, um dein App zu einzurichten
41
wallabag Documentation, Release 2.1.0
42
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Nachdem du deine Daten eingetragen hast, drücke den Button Verbindung testen und warte auf das Fertigstellen des
Tests.
10.2. Schritte, um dein App zu einzurichten
43
wallabag Documentation, Release 2.1.0
44
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Der Verbindungstest sollte mit Erfolg ausgehen. Falls nicht, musst du zunächst deine Daten korrigieren bevor du zum
nächsten Schritt gehst.
10.2. Schritte, um dein App zu einzurichten
45
wallabag Documentation, Release 2.1.0
46
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Nach dem Verbindungstest erfolgreich war, kannst du den Button zum Feedzugangsdaten abholen drücken. Die App
versucht nun sich bei deiner Wallabaginstanz einzuloggen und die Nutzer ID und den dazugehörigen Token für die
Feeds zu laden.
10.2. Schritte, um dein App zu einzurichten
47
wallabag Documentation, Release 2.1.0
48
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Wenn der Prozess des Abholens deiner Feedzugangsdaten erfolgreich beendet wurde, siehst du eine Toastnachricht,
dass die User ID und der Token automatisch in das Formular eingetragen wurden.
10.2. Schritte, um dein App zu einzurichten
49
wallabag Documentation, Release 2.1.0
50
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Jetzt scrollst du bis zum unteren Rand des Einstellungsbildschirms. Natürlich kannst du die Einstellungen dort deinen
Wünschen anpassen. Schließe die Einrichtung mit dem Drücken des Speicherbuttons ab.
10.2. Schritte, um dein App zu einzurichten
51
wallabag Documentation, Release 2.1.0
52
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Nachdem du den Speicherbutton gedrückt hast, kommst du in den folgenden Bildschirm. Die App schlägt vor, eine
initiale Synchronisation der Artikelfeeds durchzuführen. Hier ist es empfohlen, dies zu bestätigen und Ja zu drücken.
10.2. Schritte, um dein App zu einzurichten
53
wallabag Documentation, Release 2.1.0
54
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
Schließlich nach der ersten erfolgreichen Synchronisation, wird dir die Liste der ungelesenen Artikel präsentiert.
10.2. Schritte, um dein App zu einzurichten
55
wallabag Documentation, Release 2.1.0
56
Kapitel 10. Android App
wallabag Documentation, Release 2.1.0
10.3 Bekannte Limitierungen
10.3.1 Zwei-Faktor-Authentifizierung (2FA)
Zur Zeit unterstützt die App keine Zwei-Faktor Authentifizierung. Du solltest sie deaktivieren damit die App funktioniert.
10.3.2 Begrenzte Anzahl Artikel mit Wallabag v2
In deiner Wallabaginstanz kannst du einstellen, wie viele Artikel Teil deiner RSS Feeds sind. Diese Option existierte
in Wallabag v1 nicht, wo immer alle Artikel Teil des Feeds waren. Also wenn du die Anzahl der Artikel, die in der App
angezeigt werden sollen, größer einstellst als die Anzahl Artikel in deinem Feed, wirst du nur die Anzahl an Artikel
deines Feeds sehen.
10.3.3 SSL/TLS Verschlüsselung
Wenn du deine Wallabaginstanz per HTTPS erreichen kannst, solltest du das so konfigurieren. Besonders dann, wenn
deine HTTP URL nach HTTPS umleitet. Im Moment kann die App mit dieser Weiterleitung nicht korrekt umgehen.
10.4 Referenzen
• Quellcode der Android-App
• Android-App auf F-Droid
• Android-App auf Google Play
10.3. Bekannte Limitierungen
57
wallabag Documentation, Release 2.1.0
58
Kapitel 10. Android App
KAPITEL 11
Was bedeuten die Parameter?
11.1 Standardeinstellungen der parameters.yml
Dies ist die letzte standardisierte Version der app/config/parameters.yml-Datei. Stelle sicher, dass sich deine mit dieser
ähnelt. Wenn du nicht weißt, welchen Wert du setzen sollst, belasse es bei dem Standardwert.
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
database_table_prefix: wallabag_
database_socket: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
twofactor_auth: true
twofactor_sender: [email protected]
fosuser_registration: true
fosuser_confirmation: true
from_email: [email protected]
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
59
wallabag Documentation, Release 2.1.0
11.2 Bedeutung von jedem Parameter
Tab. 11.1: Datenbankparameter
Name
Standardwert
Beschreibung
databapdo_sqlite
Sollte pdo_sqlite oder pdo_mysql oder pdo_pgsql sein
se_driver
databa127.0.0.1
Hostadresse deiner Datenbank (normalerweise localhost oder
se_host
127.0.0.1)
databa~
Port deiner Datenbank (Du kannst ~ stehen lassen, um den
se_port
Standardport zu nutzen)
databasymfony
Benenne deine Datenbank
se_name
databaroot
Benutzer, der Schreibrecht in der Datenbank hat
se_user
databa~
Passwort des Benutzers
se_password
databa"%kernel.root_dir%/../data/db/wallabag.sqlite"
nur für SQLite, definiere, wo die Datenbankdatei abgelegt werden
se_path
soll. Lass den Parameter leer für andere Datenbanktypen.
databaalle wallabag Tabellen erhalten diesen Präfix im Namen. Du
wallabag_
se_table_prefix
kannst einen _ dafür im Präfix nutzen, um das zu verdeutlichen.
databanull
Wenn deine Datenbank einen Socket statt TCP nutzt, schreibe hier
se_socket
den Pfad zum Socket hin (andere Verbindungsparameter werden
dann ignoriert.
Tab. 11.2: Konfiguration, um mit wallabag E-Mails senden zu können
Name
Standardwert
smtp
mailer_transport
mai127.0.0.1
ler_host
mai~
ler_user
mai~
ler_password
60
Beschreibung
Die exakte Transportmethode, um E-Mails zuzustellen. Gültige Werte sind: smtp,
gmail, mail, sendmail, null (was das Mailen deaktivert)
Der Host, zu dem sich verbunden wird, wenn SMTP als Transport genutzt wird.
Der Benutzername, wenn SMTP als Transport genutzt wird.
Das Passwort, wenn SMTP als Transport genutzt wird.
Kapitel 11. Was bedeuten die Parameter?
wallabag Documentation, Release 2.1.0
Tab. 11.3: Andere wallabag Optionen
Name
locale
secret
Standardwert
en
ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
true
twofactor_auth
twofacnotor_sender [email protected]
fotrue
suser_registration
fotrue
suser_confirmation
from_email [email protected]
rss_limit
50
Beschreibung
Standardsprache deiner wallabag Instanz (wie z.B. en, fr, es, etc.)
Dieser String sollte einzigartig für deine Applikation sein und er wird
genutzt, um sicherheitsrelevanten Operationen mehr Entropie
hinzuzufügen.
true, um Zwei-Faktor-Authentifizierung zu aktivieren
E-Mail-Adresse des Senders der Mails mit dem Code für die
Zwei-Faktor-Authentifizierung
true, um die Registrierung für jedermann zu aktivieren
true, um eine Bestätigungsmail für jede Registrierung zu senden
E-Mail-Adresse, die im Absenderfeld jeder Mail genutzt wird
Artikellimit für RSS Feeds
Tab. 11.4: RabbitMQ Konfiguration
Name
rabbitmq_host
rabbitmq_port
rabbitmq_user
rabbitmq_password
Standardwert
localhost
5672
guest
guest
Beschreibung
Host deines RabbitMQ
Port deines RabbitMQ
Benutzer, der die Queue lesen kann
Passwort dieses Benutzers
Tab. 11.5: Redis Konfiguration
Name
Standardwert
tcp
redis_scheme
redis_host localhost
redis_port 6379
redis_path null
Beschreibung
Bestimmt das Protokoll, dass genutzt wird, um mit Redis zu kommunizieren. Gültige
Werte sind: tcp, unix, http
IP oder Hostname des Zielservers (ignoriert bei Unix Schema)
TCP/IP Port des Zielservers (ignoriert bei Unix Schema)
Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt
11.2. Bedeutung von jedem Parameter
61
wallabag Documentation, Release 2.1.0
62
Kapitel 11. Was bedeuten die Parameter?
KAPITEL 12
wallabag sichern
Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder
deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam. Dieser Artikel
beschreibt, was du für die Sicherung benötigst.
12.1 Grundlegende Einstellungen
wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei
app/config/parameters.yml.
12.2 Datenbank
Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab.
Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen:
Hier sind einige Beispiele:
• MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
• PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
12.2.1 SQLite
Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis data/db aus dem wallabagInstallations-Ordner zu kopieren.
12.3 Bilder
Die Bilder, die von wallabag empfangen worden, sind unter web/assets/images gespeichert (der Bilder-Speicher wird
in wallabag 2.2 implementiert).
63
wallabag Documentation, Release 2.1.0
64
Kapitel 12. wallabag sichern
KAPITEL 13
Häufig gestellte Fragen
13.1 Während der Installation sehe ich den Fehler Error Output:
sh: 1: @post-cmd: not found
Es scheint, dass du ein Problem bei deiner composer Installation hast. Versuche es zu deinstallieren und neu zu
installieren.
Lies die Dokumentation über composer, um zu erfahren wie es installiert wird.
13.2 Ich kann das Registrierungsformular nicht validieren
Stelle sicher, dass alle Felder ausgefüllt sind:
• valide E-Mail-Adresse
• das gleiche Passwort in zwei Feldern
13.3 Ich erhalte meine Aktivierungsmail nicht
Bist du sicher, dass deine eingegebene E-Mail-Adresse korrekt war? Hast du deinen Spamordner überprüft?
Wenn du dann immer noch nicht deine Aktivierungsmail siehst, stelle bitte sicher, dass du einen MTA korrekt installiert
und eingerichtet hast. Prüfe, dass deine Firewallregel existiert, z.B. für firewalld:
:: firewall-cmd –permanent –add-service=smtp firewall-cmd –reload
Schließlich, falls du SELinux aktiviert hast, setze folgende Regel:
setsebool -P httpd_can_sendmail 1
13.4 Wenn ich den Aktivierungslink klicke, bekomme ich die
Nachricht
Der Nutzer mit dem Bestätigungstoken
"DtrOPfbQeVkWf6N" existiert nicht
Du hast deinen Account schon aktiviert oder die URL der Aktivierungsmail ist falsch.
65
wallabag Documentation, Release 2.1.0
13.5 Ich habe mein Passwort vergessen
Du kannst dein Passwort zurücksetzen, indem du auf den Link Kennwort vergessen? auf der Loginseite klickst.
Fülle dann das Formular mit deiner E-Mail-Adresse oder deinem Nutzernamen aus und du wirst eine E-Mail zum
Passwort zurücksetzen erhalten.
13.6 Ich erhalte den Fehler failed to load external entity,
wenn ich wallabag installiere
Wie hier beschrieben, bearbeite bitte deine Datei web/app.php
libxml_disable_entity_loader(false); in Zeile 5 hinzu.
und
füge
ihr
diese
Zeile
Dies ist ein Doctrine / PHP Fehler - nichts, woran wir etwas ändern können.
66
Kapitel 13. Häufig gestellte Fragen
KAPITEL 14
API Dokumentation
Dank dieser Dokumentation werden wir sehen, wie wir mit der wallabag API interagieren.
14.1 Voraussetzungen
• wallabag frisch (oder nicht) installiert auf http://localhost:8000
• httpie installiert auf deinem Computer (siehe Projektwebsite). Beachte, dass du die Kommandos auch mit
curl oder wget nutzen kannst.
• alle API Methoden sind hier dokumentiert http://localhost:8000/api/doc
14.2 Einen neuen API Client erstellen
In deinem wallabag Account, kannst du
http://localhost:8000/developer/client/create erstellen.
einen
neuen
API
Client
unter
dieser
URL
Gib dazu nur die Umleitungs-URL deiner Appliaktion an und erstelle deinen Client. Wenn deine Applikation eine
Desktopapplikation ist, trage die URL, die dir am besten passt, ein.
Du bekommst Informationen wie diese:
Client ID:
1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
Client secret:
636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
14.3 Einen Aktualisierungstoken erhalten
Für jeden API Aufruf brauchst du einen Token. Lass uns einen erstellen mit diesem Kommando (ersetze client_id,
client_secret, username und password mit ihren Werten):
http POST http://localhost:8000/oauth/v2/token \
grant_type=password \
client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
67
wallabag Documentation, Release 2.1.0
client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
username=wallabag \
password=wallabag
Du bekommst folgendes zurück:
HTTP/1.1 200 OK
Cache-Control: no-store, private
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 08:44:33 GMT
Host: localhost:8000
Pragma: no-cache
X-Debug-Token: 19c8e0
X-Debug-Token-Link: /_profiler/19c8e0
X-Powered-By: PHP/7.0.4
{
"access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2
"expires_in": 3600,
"refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTF
"scope": null,
"token_type": "bearer"
}
Wir werden mit dem access_token Wert in unseren nächsten Aufrufen arbeiten.
cURL Beispiel:
curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocw
14.4 Existierende Einträge erhalten
Dokumentation für diese Methode: http://localhost:8000/api/doc#get–api-entries.{_format}
Da wir auf einer neuen wallabag Installation arbeiten, bekommen wir keine Ergebnisse mit diesem Kommando:
http GET http://localhost:8000/api/entries.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
gibt zurück:
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 08:51:32 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
X-Debug-Token: 4fbbc4
X-Debug-Token-Link: /_profiler/4fbbc4
X-Powered-By: PHP/7.0.4
{
"_embedded": {
"items": []
},
68
Kapitel 14. API Dokumentation
wallabag Documentation, Release 2.1.0
"_links": {
"first": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
},
"last": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
},
"self": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
}
},
"limit": 30,
"page": 1,
"pages": 1,
"total": 0
}
Das Array items ist leer.
cURL Beispiel:
curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzky
14.5 Deinen ersten Eintrag hinzufügen
Dokumentation für diese Methode: http://localhost:8000/api/doc#post–api-entries.{_format}
http POST http://localhost:8000/api/entries.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.ht
gibt zurück:
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 09:07:54 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
X-Debug-Token: e01c51
X-Debug-Token-Link: /_profiler/e01c51
X-Powered-By: PHP/7.0.4
{
"_links": {
"self": {
"href": "/api/entries/1"
}
},
"content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readab
"created_at": "2016-04-05T09:07:54+0000",
"domain_name": "www.numerama.com",
"id": 1,
"is_archived": 0,
"is_starred": 0,
14.5. Deinen ersten Eintrag hinzufügen
69
wallabag Documentation, Release 2.1.0
"language": "fr-FR",
"mimetype": "text/html",
"preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
"reading_time": 2,
"tags": [],
"title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
"updated_at": "2016-04-05T09:07:54+0000",
"url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnal
"user_email": "",
"user_id": 1,
"user_name": "wallabag"
}
Wenn du jetzt das vorherige Kommando (siehe Existierende Einträge erhalten), wirst du Daten erhalten.
cURL Beispiel:
curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNW
14.6 Eintrag löschen
Dokumentation für diese Methode: http://localhost:8000/api/doc#delete–api-entries-{entry}.{_format}
http DELETE http://localhost:8000/api/entries/1.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
gibt zurück:
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 09:19:07 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
X-Debug-Token: 887cef
X-Debug-Token-Link: /_profiler/887cef
X-Powered-By: PHP/7.0.4
{
"_links": {
"self": {
"href": "/api/entries/"
}
},
"annotations": [],
"content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readab
"created_at": "2016-04-05T09:07:54+0000",
"domain_name": "www.numerama.com",
"is_archived": 0,
"is_starred": 0,
"language": "fr-FR",
"mimetype": "text/html",
"preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
"reading_time": 2,
"tags": [],
70
Kapitel 14. API Dokumentation
wallabag Documentation, Release 2.1.0
"title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
"updated_at": "2016-04-05T09:07:54+0000",
"url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnal
"user_email": "",
"user_id": 1,
"user_name": "wallabag"
}
Und wenn du die existierenden Einträge nun listen willst (siehe Existierende Einträge erhalten), ist das Array wieder
leer.
cURL Beispiel:
curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjc
14.7 Andere Methoden
Wir werden nicht für jede API Methode Beispiele schreiben.
Wirf einen Blick in die Liste http://localhost:8000/api/doc, um alle Methode kennenzulernen.
14.8 Drittanbieter Ressourcen
Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen:
• Java wrapper for the wallabag API von Strubbl.
• .NET library for the wallabag v2 API von Julian Oster.
• Python API for wallabag von FoxMaSk, für sein Projekt Trigger Happy.
• A plugin entworfen für Tiny Tiny RSS, das die wallabag v2 API nutzt. Von Josh Panter.
• Golang wrapper for the wallabag API von Strubbl, für sein Projekt wallabag-stats Graph.
14.7. Andere Methoden
71
wallabag Documentation, Release 2.1.0
72
Kapitel 14. API Dokumentation
KAPITEL 15
Lasse wallabag in docker-compose laufen
Um deine eigene Entwicklungsinstanz von wallabag laufen zu lassen, möchtest du vielleicht die vorkonfigurierten
docker compose Dateien nutzen.
15.1 Voraussetzungen
Stelle sicher Docker und Docker Compose auf deinem System verfügbar und aktuell zu haben.
15.2 Wechsel des DBMS
Standardmäßig startet wallabag mit einer SQLite Datenbank. Da wallabag Unterstützung für Postgresql und MySQL
bietet, gibt es auch docker Container für diese.
In der docker-compose.yml kommentierst du für das gewählte DBMS aus:
• die Container Definition (postgres oder mariadb root Level Block)
• den Container Link in dem php Container
• die Container Umgebungsdatei in dem php Container
Um mit Symfony Kommandos auf deinem Host auszuführen (wie z.B. wallabag:install), sollst du außerdem:
• die richtige Umgebungsdatei auf deiner Kommandozeile
SYMFONY__ENV__DATABASE_HOST existieren
einlesen,
sodass
Variablen
wie
• eine Zeile 127.0.0.1 rdbms in deiner hosts Datei auf dem System erstellen
15.3 wallabag laufen lassen
1. Forke und klone das Projekt
2. Bearbeite app/config/parameters.yml um database_* Eigenschaften mit den kommentierten zu
ersetzen (mit Werten mit env. Präfix)
3. composer install die Projektabhängigkeiten
4. php bin/console wallabag:install, um das Schema zu erstellen
5. docker-compose up um die Container laufen zu lassen
73
wallabag Documentation, Release 2.1.0
6. Schließlich öffne http://localhost:8080/, um dein frisch installiertes wallabag zu finden.
In den verschiedenen Schritten wirst du vielleicht in verschiendene Probleme laufen wie UNIX Berechtigungsprobleme, falschen Pfaden im generierten Cache, etc.. . . Operationen wie das Löschen der Cachedateien oder das Ändern
der Dateibesitzer können öfter gebraucht werden, darum habe keine Angst sie anzupassen.
74
Kapitel 15. Lasse wallabag in docker-compose laufen
KAPITEL 16
Wirke an dieser Dokumentation mit
Quellen der Dokumentation sind hier zu finden https://github.com/wallabag/wallabag/tree/master/docs
Wir nutzen ReadTheDocs, um sie zu generieren.
Seiten werden in reStructuredText geschrieben. Du kannst Onlinetools wie http://rst.aaroniles.net/ oder
http://rst.ninjs.org/ nutzen, um eine Vorschau deiner Artikel zu betrachten.
Wenn du eine neue Seite erstellst, vergiss nicht die index.rst zu bearbeiten, um dort einen Link für die Seitenleiste
hinzuzufügen.
75
wallabag Documentation, Release 2.1.0
76
Kapitel 16. Wirke an dieser Dokumentation mit
KAPITEL 17
Übersetze wallabag
17.1 wallabag Webapplikation
17.1.1 Übersetzungsdateien
Bemerkung: Da wallabag hauptsächlich von einem französischem Team entwickelt wird, betrachte die französische
Übersetzung als die aktuellste und kopiere sie, um deine eigene Übersetzung zu starten.
Du kannst die Übersetzungsdateien hier finden: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/tr
Du musst die messages.CODE.yml und validators.CODE.yml erstellen, wobei CODE der ISO 639-1 Code
deiner Sprache ist (siehe Wikipedia).
Andere Dateien zum Übersetzen:
• https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
• https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations.
Du musst die THE_TRANSLATION_FILE.CODE.yml Dateien erstellen.
17.1.2 Konfigurationsdatei
Du musst die app/config/config.yml bearbeiten, um deine Sprache auf der Konfigurationsseite in wallabag anzuzeigen
(um Nutzern zu erlauben zu dieser neuen Übersetzung zu wechseln).
Unter dem Abschnitt wallabag_core.languages musst du eine neue Zeile mit deiner Übersetzung hinzufügen.
Zum Beispiel:
wallabag_core:
...
languages:
en: 'English'
fr: 'Français'
Für die erste Spalte (en, fr, etc.) musst du den ISO 639-1 Code deiner Sprache hinzufügen (siehe oben).
Für die zweite Spalte trägst du den Namen deiner Sprache ein. Nur den.
77
wallabag Documentation, Release 2.1.0
17.2 wallabag Dokumentation
Bemerkung: Im Gegensatz zur Webapplikation ist die Hauptsprache für die Dokumentation Englisch.
Documentationsdateien sind hier gespeichert: https://github.com/wallabag/wallabag/tree/master/docs
Du musst die Ordnerstruktur des Ordners en beachten, wenn du deine eigene Übersetzung startest.
78
Kapitel 17. Übersetze wallabag
KAPITEL 18
Wartungsmodus
Wenn du längere Aufgaben auf deiner wallabag Instanz ausführen willst, kannst du den Wartungsmodus aktivieren.
Keiner wird dann Zugang zu deiner Instanz haben.
18.1 Aktivieren des Wartungsmodus
Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
bin/console lexik:maintenance:lock -e=prod --no-interaction
Du kannst deine IP Adresse in app/config/config.yml setzen, wenn du Zugriff zu wallabag haben willst, auch
wenn der Wartungsmodus aktiv ist. Zum Beispiel:
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
18.2 Deaktivieren des Wartungsmodus
Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
bin/console lexik:maintenance:unlock -e=prod
79
wallabag Documentation, Release 2.1.0
80
Kapitel 18. Wartungsmodus
KAPITEL 19
Asynchrone Aufgaben
Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir RabbitMQ oder Redis nutzen.
19.1 Installation von RabbitMQ für asynchrone Aufgaben
19.1.1 Voraussetzungen
Du musst RabbitMQ auf deinem Server installiert haben.
19.1.2 Installation
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc
apt-get update
apt-get install rabbitmq-server
19.1.3 Konfiguration und Start
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://lo
rabbitmq-server -detached
19.1.4 RabbitMQ stoppen
rabbitmqctl stop
19.1.5 RabbitMQ für wallabag konfigurieren
Bearbeite deine app/config/parameters.yml-Datei, um die RabbitMQ-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
81
wallabag Documentation, Release 2.1.0
19.1.6 RabbitMQ in wallabag aktivieren
In den internen Einstellungen, aktiviere RabbitMQ im Import-Abschnitt mit dem Wert 1.
19.1.7 Starte den RabbitMQ-Consumer
Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob
aktivieren:
# für den Pocket-Import
bin/console rabbitmq:consumer -e=prod import_pocket -w
# für den Readability-Import
bin/console rabbitmq:consumer -e=prod import_readability -w
# für den Instapaper-Import
bin/console rabbitmq:consumer -e=prod import_instapaper -w
# für den wallabag v1-Import
bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
# für den wallabag v2-Import
bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
# für den Firefox-Import
bin/console rabbitmq:consumer -e=prod import_firefox -w
# für den Chrome-Import
bin/console rabbitmq:consumer -e=prod import_chrome -w
19.2 Redis für asynchrone Aufgaben installieren
Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir auch Redis nutzen.
19.2.1 Voraussetzungen
Du musst Redis auf deinem Server installiert haben.
19.2.2 Installation
apt-get install redis-server
19.2.3 Start
Der Server kann bereits nach der Installation laufen, falls nicht, kannst du ihn wie folgt starten:
redis-server
82
Kapitel 19. Asynchrone Aufgaben
wallabag Documentation, Release 2.1.0
19.2.4 Redis für wallabag konfigurieren
Bearbeite deine app/config/parameters.yml-Datei, um die Redis-Parameter zu ändern. Die Standardwerte
sollten in Ordnung sein:
redis_host: localhost
redis_port: 6379
19.2.5 Redis in wallabag aktivieren
In den internen Einstellungen, aktiviere Redis im Import-Abschnitt mit dem Wert 1.
19.2.6 Starten des Redis-Consumer
Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob
aktivieren:
# für den Pocket-Import
bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocke
# für den Readability-Import
bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-
# für den Instapaper-Import
bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-i
# für den wallabag v1-Import
bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-
# für den wallabag v2-Import
bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-
# für den Firefox-Import
bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-fire
# für den Chrome-Import
bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-c
Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer
wird nach dem zwölften Artikel aufhören:
bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
19.2. Redis für asynchrone Aufgaben installieren
83