Update: 5.08.2016 (Wallabag Version 2.0.5)
Wallabag (ehemals Poche) ist ein Open-Source-Ersatz für Pocket.
Wallabag wird auf dem eigenen Webserver installiert und kann dann von Überall verwendet werden. Hier die Anleitung zur Installation auf dem eigenen uberspace.
Vor dem Updaten von Version 1.0 auf 2.x die Datenbank exportieren!
Erste Installation:
* Php version testen (5.6.x ist gut): php -v
. Ansonsten wie weiter unten beschrieben umstellen.
* Composer installieren. (Siehe weiter unten)
# ins Webverzeichnis wechselncd /var/www/virtual/$USER
# ein Verzeichnis für den Code erstellenmkdir wallabag.code
cd wallabag.code
# wallabag quellcode downloaden (nur einmal)git clone https://github.com/wallabag/wallabag.git .
Mit Git wird der Quellcode verwaltet. Hierdurch hat man nicht nur Zugriff auf die aktuelle (instabile) Entwicklerversion sondern auch auf alle Softwareversionen davor. Wir wollen die neuste stabile Version. Dazu suchen wir in dieser Liste die neuste Versionsnummer und bauen sie in den folgenden Befehl ein. (Derzeit 2.0.5)
# neuste version auschecken
git checkout 2.0.5
# Der folgende Befehl fragt nach einiger Zeit:"Some parameters are missing. Please provide them."
# -> dann einfach immer wieder Enter drücken bis "secret(...):" erscheint.
# -> Dann wild auf der Tastatur herumtippen und mit Enter bestätigen. Noch ein paar mal Enter drücken.
# -> Ein paar grüne Haken und Balken sollten folgen.
# -> Alle gemachten Einstellungen lassen sich später in der Datei app/config/parameters.yml ändern.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
# Dieser Befehl fragt
# -> nach dem Anlegen einer neuen Datenbank (y),
# -> ob ein neuer Adminuser angelegt werden soll (y),
# -> User, Passwort und Email des neuen Wallabag-Admins.
# -> Beim vertippen etc, den Befehl nochmal ausführen und dabei die Datenbank löschen.
php bin/console wallabag:install --env=prod
Ich benutze für wallabag eine Subdomain (wallabag.invisibletower.de), aber ein Unterverzeichnis in auf der Hauptdomain (z.B. /var/www/virtual/$USER/html/wallabag
) geht natürlich auch.
# Für die Subdomain einfach das web-verzeichnis linkenln -s /var/www/virtual/$USER/wallabag.code/web /var/www/virtual/$USER/wallabag.invisibletower.de
# und kreiert sich für den einfacheren # Zugriff einen Link ins Homeverzeichnisln -s /var/www/virtual/$USER/wallabag.invisibletower.de /home/$USER/live.wallabag
ln -s /var/www/virtual/$USER/wallabag.code /home/$USER/live.wallabag.code
Anmerkung: Im Gegensatz zur alten Anleitung liegt hier der Code wieder im Webverzeichnis und nicht im Homeverzeichnis. Er liegt allerdings im Verzeichnis wallabag.code
, für das Apache keinen direkten Zugriff von außen bietet. (Es sei denn du besitzt die Domain wallabag.code
).
Damit sollte die wallabag.sql-Datei mit den sensiblen Daten dennoch sicher sein.
Update
Wird eine neue Wallabag-Version veröffentlicht, kann man mittels git leicht updaten:
cd ~/live.wallabag.code
git pull
git pull --tags
git checkout 2.0.??????
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console cache:clear --env=prod
Auf neuere PHP-Version umstellen
Wallabag benötigt php in Version 5.5.x oder 5.6.x. Eventuell musst du deinen Uberspace account umstellen. (Kann u.u. Probleme bereiten, lässt sich dann aber einfach rückgängig machen).
Um zu testen, welche Version du verwendest: php -v
Um die verfügbaren Versionen zu sehen: ls -d /package/host/localhost/php*
Wie man sieht, verweisen die Versionen mit nur zwei Ziffern immer auf die aktuellste Unterversion.
Die beste Wahl ist wohl 5.6.
Version ändern via nano ~/etc/phpversion
. Die Datei ist sehr einfach aufgebaut, einfach die zweite Zeile in PHPVERSION=5.6
ändern. Speichern geht mit Strg+O
, Schließen mit Strg+X
. Danach noch ein killall php-cgi
ausführen, um alle laufenden php-Interpreter zu killen (die starten sich dann automatisch mit der neuen Versionseinstellung neu).
Jetzt die SSH Verbindung trennen und neu aufbauen. Test mit php -v
. Evtl wieder ins richtige Verzeichnis wechseln cd ~/live.wallabag.code
.
Composer im uberspace installieren
Am besten ins ~/bin
Verzeichnis installieren, das ist praktisch, weil man den composer dann ohne Pfadangabe nutzen kann. (~/bin
ist beim uberspace standardmäßig schon im $PATH
).
curl -sS https://getcomposer.org/installer | php -- --filename=composer --install-dir=$HOME/bin
Falls schon installiert, kann man composer upgraden via
composer selfupdate
Update von Version 1 (Wenn installiert wie hier früher beschrieben wurde)
* Zunächst Daten via Webinterface als JSON exportiern.
* Alle Überbleibsel der letzten Installation einfach löschen 😀
rm -rf ~/live.wallabag.code ~/live.wallabag ~/live.wallabag.updatewebdir.sh rm -rf /var/www/virtual/$USER/wallabag.invisibletower.de
Und neu installieren. Danach Daten importieren.
[…] sich der reparieren lässt, steht ebenda, eine bessere Installationsanleitung (für Uberspace) hat The Invisible Tower […]
Danke für die Anleitung! Ein Problem tritt bei mir dabei jedoch auf: Nachdem ich alle Schritte durchgeführt habe, bekomme ich beim Aufruf der Site ein „The directory „cache“ must be writeable by your web server user“. Was stimmt da nicht? Das Verzeichnis ~/live.wallabag.code/cache hat wie alle anderen Ordner die Rechte 755, das sollte doch in Ordnung sein, oder? Wäre für einen kleinen Tipp sehr dankbar!
Ich habe selbiges Problem mit meinem uberspace und wallabag 1.8.1…
konntest du das Problem lösen?
Hey Simon.
Ich habe die Anleitung aktualisiert und auch Nikos Anmerkungen (danke!) eingebaut,
Es gibt jetzt einen Absatz über genau dieses Problem.
Viele Grüße vom Bewohner des Turms
Hallo,
danke für das Tutorial. Was mir noch aufgefallen ist, ist dass dem curl-Aufruf das „c“ fehlt 😉
Außerdem wollte die aktuelle Version, 1.5.2, jeweils einen Ordner „cache“ und „db“ unter „/home/$USER/live.wallabag/“. Diese habe ich gegen das Code-Verzeichnis gesymlinkt.
Und zu guter letzt ist da wo in deinem Beitrag der Aufruf des Update-Scripts stehen sollte nochmal das chmod aus der vorigen Zeile 😉
Viele Grüße
Niko
[…] an Invisibletower und für die hilfreiche […]
Danke auch von mir für dein Tutorial 🙂
Ich habe das heute mal probiert nachzuvollziehen, komme aber nicht weiter, da ich ein „An error occured: „db“ directory must be writeable for your web server user!“ Fehler bekommen.
Um ehrlich zu sein komme ich arg durcheinander mit den ganzen Verzeichnissen die du nutzt:
– ~/live.wallabag.code <- hier lebt der github code
– /live.wallabag <- hier werden die veröffentlichten Dateien gespiegelt?
– /var/www/virtual/$USER/wallabag.invisibletower.de <- ein Verzeichnis und Symlink?
Ich weiß nicht so recht wo mein Fehler ist, ich habs beim zweiten mal vereinfacht indem ich direkt unter ~/html/wallabag eingerichtet habe. Nur wie kann ich denn da dein chdir emulieren? *grübel*
Ich habe das heute mal probiert nachzuvollziehen, komme aber nicht weiter, da ich ein „An error occured: „db“ directory must be writeable for your web server user!“ Fehler bekommen.
Das lässt sich ganz einfach lösen mit einem
chmod g+w /home/$USER/live.wallabag.code/db/poche.sqlite
Hallo,
danke für das Tutorial!
Bei mir funktioniert’s leider nicht – ich verstehe auch nicht ganz wie… ich erstelle einen Symlink von /var/www/virtual/$USER/#SUBDOMAIN# nach /home/$USER/live.wallabag, jedoch existiert letzterer Ordner gar nicht, zumindest wird im Tutorial nicht erwähnt dass ich diesen anlegen soll. Fehlt da ein Schritt?
Danke und Grüße
/home/$USER/live.wallabag existiert erst nachdem der Symlink angelegt wurde. In diesem Fall dann ein Symlink auf einen Ordner und nicht auf eine Datei, wie das häufiger der Fall ist. (-> also ne, da fehlt kein Schritt 🙂
Außerdem dient der Symlink ins Homeverzeichnis nur der Faulheit, damit man einfacher das var-www-blablub-Verzeichnis bearbeiten kann. Es würde auch ohne gehen (wenn man die Befehle entsprechend anpasst).
Hi, ich habe die Schritte grade mit der aktuellen Version 1.9.1 umgesetzt, erhalte beim Aufruf meiner subdomain aber nur einen Fehler [105] Missing version directory – woran könnte das denn liegen?
Vielen Dank für die super Anleitung. Leider bin ich noch nicht ganz ans Ziel gelangt. Bei mir wird die Installationsseite nicht angezeigt, sondern direkt die Login-Seite. Das ist natürlich etwas unpraktisch, wenn ich vorher noch keinen User anlegen konnte.
Ich habe die aktuelle Stable Version 1.9.1-b installiert. Interessant ist, dass, wenn ich den install-Ordner nicht lösche, mir statt der Login-Seite die Installations-Seite angezeigt wird. Dort steht, dass das „Update“ erfolgreich gewesen ist und ich die nachfolgenden Felder ausfüllen soll. Nur werden keine Felder zum Ausfüllen angezeigt. Wenn ich auf die „Update erfolgreich“-Info klicke, wird der Install-Ordner automatisch gelöscht und ich gelange zur Login-Seite, natürlich ohne User.
Irgendeine Idee wo der Fehler liegen könnte?
(Noch eine Info: Composer hat alles installiert. Im Vendor Verzeichnis sind Twig etc. vorhanden.)
Moin,
danke für deine Anleitung. Kleines Update: Habe es gerade mit Version 1.9.1 versucht. Hier hat sich der name der Default-Config-Datei geändert
Der Abschnitt
> # config kopieren
> mv inc/poche/config.inc.php.new inc/poche/config.inc.php
müsste jetzt
> # config kopieren
> mv inc/poche/config.inc.default.php inc/poche/config.inc.php
heißen.
Viele Grüße
Hast du schon versucht auf Version 2.x zu migrieren? Upstream stellt leider nur eine VirtualHost Konfiguration bereit, die nutzt ja nicht viel (insbesondere, wenn wallabag in einem subdirectory statt einer subdomain laufen soll).
Ich bin gescheitert, ich glaube weil sie neuerdings mehr als nur die index.php im „root“ benutzen (die ja das einzige ist, was dein require umbiegt).
Ich habs auch nicht mehr ‚elegant‘ hingekriegt, aber so wie es jetzt beschrieben ist, sollte es auch mit Version 2 funktionieren. 😀
Mit Version 2 scheint vieles umgebaut worden sein, kannst du das Tutorial anpassen?
ping. Ist aktualisiert
Ich habe gemäß deiner Anleitung versucht, Wallabag (2.0.5/2.0.7) auf meinem Uberspace zu installieren. Wenn ich dann allerdings die Subdomain aufrufen will, erhalten ich nur eine weiße Seite ohne Inhalt. Hab leider nicht herausgefunden, was/warum nichts geladen wird und es erst einmal wieder sein lassen.
Hattest du deine Anleitung als Neuinstallation mal getestet oder war deine Installation vielleicht ein Update von V1?
Da man nicht direkt von V1.0 updaten kann, sondern den Umweg über das Exportieren wählen muss, war das quasi eine Neuinstallation.
Schalte erst mal die error_logs an wie hier beschrieben: https://wiki.uberspace.de/webserver:logs
Dann
tail -f ~/logs/error_log
und ruf dann die Seite auf. In der Konsole sollten live die Meldungen auftauchen
Moin,
ich bekomme leider auch nur eine leere Seite nach der Installation
Ich habe die Installation in ein Unterverzeichnis verlinkt: ln -s /var/www/virtual/$USER/wallabag.code/web /var/www/virtual/$USER/html/wallabag
Mein error log liefert folgendes (USERNAME ist mein User Name):
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: PHP Warning: simplexml_load_file(): I/O warning : failed to load external entity "/var/www/virtual/USERNAME/wallabag.code/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine-mapping/User.orm.xml" in /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php on line 814
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: PHP Warning: simplexml_load_file(): I/O warning : failed to load external entity "/var/www/virtual/USERNAME/wallabag.code/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine-mapping/User.orm.xml" in /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php on line 814
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: PHP Fatal error: Uncaught exception ‚Doctrine\\Common\\Persistence\\Mapping\\MappingException‘ with message ‚Invalid mapping file ‚FOS.UserBundle.Model.User.orm.xml‘ for class ‚FOS\\UserBundle\\Model\\User‘.‘ in /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php:86
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: Stack trace:
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: #0 /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php(117): Doctrine\\Common\\Persistence\\Mapping\\MappingException::invalidMappingFile(‚FOS\\\\UserBundle\\\\…‘, ‚FOS.UserBundle….‘)
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: #1 /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php(58): Doctrine\\Common\\Persistence\\Mapping\\Driver\\FileDriver->getElement(‚FOS\\\\UserBundle\\\\…‘)
[Thu Sep 29 15:42:32 2016] [warn] [client 85.212.42.87] mod_fcgid: stderr: #2 /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php(102): Doctrine\\ORM\\Mapping\\Driver\\XmlDriver->loadMetadataForClass(‚FOS\\\\UserBundle\\\\…‘, Object(Doctrine\\ORM\\M in /var/www/virtual/USERNAME/wallabag.code/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php on line 86
Ich bin einfach noch nicht so im PHP Metier angekommen um das zu verstehen, oder blind 😉 Falls jemand eine Idee hat, wäre ich dankbar.
Hallo,
ich erhalte leider auch nur eine weiße Seite. Anbei der Log: http://yourpart.eu/p/r.3144ba090ff029895f6d6257e7e4894a
Ich sag schon mal danke!
Ich scheitere leider auch. Wenn ich meine Subdomain aufrufe, erhalte ich folgende Fehlermeldung „You don’t have permission to access / on this server.“
In der error_log steht:
[Mon Oct 24 18:24:38 2016] [error] [client 37.5.83.213] Directory index forbidden by Options directive: /var/www/virtual/USERNAME/html/
Sieht so aus als wäre der Unterordner web im wallabag root jetzt für das web interface zuständig. Wenn ich den Ordner aufrufe, kann mich einloggen. Leider gelingt es mir nicht in den Ordner zu symlinken. Ich bekomme dann wieder die gleiche Fehlermeldung wie zuvor.
$ ln -s /home/$USERNAME/html/wallabag_v2/web/ wallabag.tristank.de
[Mon Oct 24 20:03:56 2016] [error] [client 37.5.83.213] Directory index forbidden by Options directive: /var/www/virtual/klocke/html/
Bei meiner v2.08 und 2.1.1 musste jedesmal die xmldriver.php geändert werden damit keine leere Seite erschien, siehe workaround:
http://support.wallabag.org/discussions/problems/478-v2-blank-page
Hatte gleiches Problem. PHP Error… Lösung wie hier beschrieben:
http://doc.wallabag.org/en/master/user/faq.html#i-ve-got-the-failed-to-load-external-entity-error-when-i-try-to-install-wallabag
… danke für diese Anleitung. Hat alles funktioniert.
Nur: ohne das Anlegen von Subdomains, etc. – wie rufe ich die Wallabag-Webseite auf?
uberspacebenutzername.uberspaceserver.uberspace.de/wallabag?
Man sieht ich habe wenig Ahnung…
Hallo!
Ich habe wallabag nach deiner Anleitung auf uberspace installiert. Nun scheitere ich aber am Aufruf der Seite: You don´t have the permission to access / on this server
Du hast ja in der Anleitung geschrieben, dass es Probleme geben könnte. Aber wie bekomme ich nun Zugriff auf die Seite? Welche Rechte muss ich anpassen?
Gruß
Daniel
Ich versuche die Version 2.0.8 zu installieren. Allerdings möchte ich später Wallabag nicht in einer Sub-Domäne laufen lassen, sondern in einem Verzeichnis unter $html.
1. Der erste Schritt mit: „SYMFONY_ENV=prod composer install –no-dev -o –prefer-dist“ funktioniert. Es werden aber keine Daten abgefragt, sondern nit drei Zeilen beendet:
Loading composer repositories with package information
Updating dependencies
Terminated
2. Der nächste Schritt mit: „php bin/console wallabag:install –env=prod“ endet mit:
PHP Warning: require(/home/…./wallabag/app/../vendor/autoload.php): failed to open stream: No such file or directory in /home/…./wallabag/app/autoload.php on line 9
PHP Fatal error: require(): Failed opening required ‚/home/…./wallabag/app/../vendor/autoload.php‘ (include_path=‘.:/package/host/localhost/php-5.6.21/lib/php‘) in /home/…./wallabag/app/autoload.php on line 9
Google brachte nicht ganz eine Lösung, daher habe ich die Hoffnung, dass ich vielleicht nicht der Einzige bin.
Meine Fragen beziehen sich jetzt auf folgende Punkte:
a) Die Datei autoload.php existiert ja im app-Verzeichnis. In der besagten Zeile 9 wird aber auf eine gleiche Datei bezogen, die nicht existiert. Erst Recht nicht im vendor-Verzeichnis:
$loader = require __DIR__.’/../vendor/autoload.php‘;
Was läuft hier verkehrt?
b) Mal angenommen, alles funktioniert, was müsste jetzt alles übernommen und in ein Unterverzeichnis kopiert werden, damit alles funktioniert?
Besten Dank im Voraus
Achtung! Bei einem Upgrade von 2.0.x > 2.1.x muss die Datenbank migriert werden. Als vorletzten Befehl diese Zeile ausführen:
php bin/console doctrine:migrations:migrate –env=prod
Aus der offiziellen Dokumentation. Hat bei mir prima funktioniert: http://doc.wallabag.org/en/master/user/upgrade-2.0.x-2.1.1.html
Hi ,
vielen Dank für die Anleitung. Hat geklappt mit 2.1.5.
Ich hab dennoch 4 Kommentare die mich etwas Zeit gekostet haben.
1. bevor das Kommando „git checkout 2.0.5“ ausgeführt werden kann muss man vorher in das Wallabag Verzeichnis gewechselt haben, sonst funktioniert es nicht. Zumindest bei mir hat es das nicht. Wäre gut wenn man das erwähnen würde.
2. Für folgenden Befehl muss VORHER der Composer installiert werden „SYMFONY_ENV=prod composer install –no-dev -o –prefer-dist“
Ich hab eine Weile rumgerätzelt warum das nicht bei mir funktioniert und bin später drauf gekommen. Gut wäre es dies weiter oben in der Anleitung zu erwähnen.
3. Bei mir wird automatisch noch ein Unterverzeichnis in wallabag.code/ erstellt. Nämlich wallabag.code/wallabag
Für die folgende Zeile musste ich dann noch das Unterverzeichnis anpassen
# Für die Subdomain einfach das web-verzeichnis linken
ln -s /var/www/virtual/$USER/wallabag.code/web /var/www/virtual/$USER/wallabag.invisibletower.de
4. Man sollte dran denken HTTPS zu nutzen. HTTP funktioniert auch, aber ist halt unverschlüsselt und natürlich nicht zu empfehlen…. Vielleicht auch eine Zeile der Erwähnung wert
Wäre schön wenn die 4 Punkte oben in der Anleitung überprüft und evtl. geändert werden könnten (falls sie für Zutreffend befunden werden….)
Nachdem ich wallabag nach der Anleitung installiert hatte, hatte ich es in einem Unterverzeichnis, das ich nicht haben wollte. Also habe ich es nochmals nach der Anleitung installiert und mich auch an die Benennung der Verzeichnisse gehalten. Bei der Ersten Seite bekam ich noch eine login seite. Jeder weitere Click führte zu einem 500er html fehler. Nach der zweiten Installation lädt nicht mal mehr die login seite, ich renne direkt in einen html 500 fehler.
error_log zeigt einige php warnungen, die alle in ../wallbag/vendor/doctrine zeigen
Ich hab leider keine Ahnung was ich damit anfangen soll.
Hat jemand sachdienliche Hinweise?
Hey Bewohner….
Ich hab da auch ein Problem und du kannst mir ja evtl. helfen.
Nach der Installation bekomme ich eine 403 Fehlermeldung uns das mir die Rechte fehlen. Kannst du mir was dazu sagen?
Wäre es möglich dieses To-Do so zu aktualisieren, dass ich es mit Maria-DB und als Unterorner (nicht Sub-Domain!) auf meinem Uberspace laufen lassen kann? Ich habs nach X Versuchen und Anpassungen immernoch nicht geschafft 🙁