Wallabag auf dem Uberspace

Update: 18.02.2015

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.

Zur Updateanleitung bitte runterscrollen!

Erste Installation:

# ins Homeverzeichnis wechseln
cd /home/$USER

# ein Verzeichnis für den Code erstellen
mkdir live.wallabag.code
cd live.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 Version. Dazu suchen wir in dieser Liste die neuste Versionsnummer und bauen sie in den folgenden Befehl ein. (Derzeit 1.9)

# neuste version auschecken
git checkout 1.9

# composer (php dependency management) installieren
curl -s http://getcomposer.org/installer | php

# composer die benötigten componenten installieren lassen
# (ins /vendor verzeichnis)
php composer.phar install

# config kopieren
mv inc/poche/config.inc.php.new inc/poche/config.inc.php

# config bearbeiten:
# In die beiden '' nach 'SALT' gehören viele, zufällige Zeichen
#    (ohne das '-Zeichen innerhalb der äußeren '' zu verwenden ;)
#    ( das würde nur eine weiße Seite erzeugen)
nano inc/poche/config.inc.php
# In nano speichert man mit Strg+O , Enter und schließt mit Strg+X

# db-datei kopieren (bei Verwendung von sqlite)
cp install/poche.sqlite db/

# installverzeichnis löschen (meckert sonst)
rm -r install

Jetzt müssen die Theme-Dateien und die index.php von außen erreichbar sein.

Ich benutze für wallabag eine Subdomain, aber ein Unterverzeichnis in ~/html geht natürlich auch.

# Für die Subdomain legt man ein neues Verzeichnis mit dem Domainnamen an
mkdir /var/www/virtual/$USER/wallabag.invisibletower.de

# und kreiert sich für den einfacheren
# Zugriff einen Link ins Homeverzeichnis
ln -s /var/www/virtual/$USER/wallabag.invisibletower.de /home/$USER/live.wallabag

Jetzt kommt eine index.php-Datei ins Hautverzeichnis, die die orginal index.php aufruft. Ebenfalls braucht man eine Kopie des themes-Ordners (symlinks gehen bei der uberspace apache config nicht).

Da man das Theme-Verzeichnis nach jedem update kopieren sollte, empfehle ich den folgenden Code im Homeverzeichnis als ~/live.wallabag.updatewebdir.sh abzulegen. Das hilft, sich im Updatefall an das Ordnerkopieren zu erinnern.

#!/bin/bash

# nach Update bitte auch ausführen, damit
# neue/geänderte Themedateien auch verfügbar sind 

rm -r /home/$USER/live.wallabag/themes
cp -r /home/$USER/live.wallabag.code/themes /home/$USER/live.wallabag/themes

echo "<?php 
chdir('/home/$USER/live.wallabag.code');
require('/home/$USER/live.wallabag.code/index.php'); 
 ?>" > /home/$USER/live.wallabag/index.php

jetzt ein

chmod 770 ~/live.wallabag.updatewebdir.sh

und ein

~/live.wallabag.updatewebdir.sh

zum Ausführen des Scripts.

Hat man eine ältere Version dieser Anleitung befolgt, erhält man beim Aufruf der Internetseite die Meldung
The directory "cache" must be writeable by your web server user.
Diese Meldung ist etwas verwirrend und resultiert daraus, dass Wallabag das cache-Verzeichnis nicht findet.
Zur Lösung des Problems: Entweder symlinkt man die Verzeichnisse aus ~/live.wallabag.code nach ~/live.wallabag ODER man nimmt die neue Version der Ersatz-index.php-Datei bzw des live.wallabag.updatewebdir.sh-Scripts. Die neue index.php-Datei führt vor dem require() der Orginal index.php-Datei ein chdir() (=change working directory) aus, damit Wallabag das cache-Verzeichnis später an der richtigen Stelle sucht.

Voila, eine sichere Installation.

Update

Wird eine neue Wallabag-Version veröffentlicht, kann man mittels git leicht updaten:

cd ~/live.wallabag.code
git pull
git checkout 1.9
rm -r install
~/live.wallabag.updatewebdir.sh

6 comments

  1. […] sich der reparieren lässt, steht ebenda, eine bessere Installationsanleitung (für Uberspace) hat The Invisible Tower […]

  2. Sebastian sagt:

    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!

    • Simon sagt:

      Ich habe selbiges Problem mit meinem uberspace und wallabag 1.8.1…
      konntest du das Problem lösen?

      • Der Bewohner sagt:

        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

  3. Niko sagt:

    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

  4. […] an Invisibletower und für die hilfreiche […]

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *