Wallabag auf dem Uberspace

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.

Für Besitzer eines Uberspaces gibt es diesen Blogartikel im Wallabag Blog der auf dieses Tutorial verweist.

Wer sich dran hält hat leider nichts gutes für seine Privatsphäre getan. Durch die Verwendung der Sqllite-Datenbank im vom außen zugreifbaren Webserververzeichnis kann jeder über die URL

http://blaaaaaa.de/wallabag/db/poche.sqlite

die Datenbank downloaden.

(jetzt gefixt, vielen Dank Flo)

 

So ist es besser:

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
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.4.0)

# neuste version auschecken
git checkout 1.4.0

# composer (php dependency management) installieren
url -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 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 
require('/home/$USER/live.wallabag.code/index.php'); 
 ?>" > /home/$USER/live.wallabag/index.php

jetzt ein

chmod 770 ~/live.wallabag.updatewebdir.sh

und ein

chmod 770 ~/live.wallabag.updatewebdir.sh

zum Ausführen des Scripts.

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.5.0
~/live.wallabag.updatewebdir.sh

4 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!

  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 *