tt-rss auf raspberry pi upgraden

Tiny Tiny RSS hat das Releasemodell geändert.

Tiny Tiny RSS uses a rolling release model based on git master (Github) branch which is considered stable.
http://tt-rss.org/redmine/projects/tt-rss/wiki

Jetzt wird es Zeit auf git umzusteigen. Dies ist leichter als ich gedacht habe.

Als Grundlage für dieses Artikel dient mein Artikel aus dem Jahr 2013 tt-rss auf Raspberry Pi mit nginx installieren.

Unsere aktuelle Tiny Tiny RSS Installation befindet sich also im Verzeichnis /var/www/tt-rss

Die alte Version sichern

Dies machen wir ganz einfach mit

cd /var/www
sudo mv tt-rss tt-rss-old

Installation mit git

Als nächstes clonen wir die git-Installation, kopieren die alte config.php und die neue Installation und geben dieser die passenden Rechte.

sudo git clone https://github.com/gothfox/Tiny-Tiny-RSS.git /var/www/tt-rss
sudo cp /var/www/tt-rss-old/config.php /var/www/tt-rss/
sudo chown -cR www-data:www-data /var/www/tt-rss

Anpassung an der config.php vornehmen und die Datenbank updaten

Nun müssen wir eine kleine Anpassung an der config.php vornehmen, da eine neue Variable dazu gekommen ist.

cd tt-rss
sudo nano config.php

In die Datei fügen wir folge Zeilen ein

define('CHECK_FOR_UPDATES', true);
        // Check for updates automatically if running Git version

Nun loggen wir uns mit unserem Adminaccount unter http://www.domain.de/tt-rss ein und updaten die Datenbank

Nun können wir noch die alte Installtion löschen

sudo rm -rf /var/www/tt-rss-old

Updates pullen

Neue Updates spielen wir ganz einfach mit diesem Befehl ein

cd /var/www/tt-rss && sudo git pull origin master
Tagged with: , , , , , ,
Veröffentlicht in Computer / Internet, Raspberry Pi, Ubuntu

BitTorrent Sync auf Raspberry Pi installieren

Meine Dateien synchronisiere ich mittlerweile geräteübergreifend mit der Software BitTorrent Sync, da die Art für mich komfortabler als ein Sync mit owncloud ist.

Installation

Die Installation ist dabei recht einfach und innerhalb von zwei Minuten erledigt.

Installiert wird BitTorrent Sync in den Ordner /opt .

Wir holen uns die aktuelle Version und entpacken diese.

wget http://download-lb.utorrent.com/endpoint/btsync/os/linux-arm/track/stable -O btsync_arm.tar.gz
tar -zxf btsync_arm.tar.gz

Jetzt legen wir den btsync Ordner unter /opt an, verschieben BitTorrent Sync dorthin und geben dem Ordner die passenden Rechte.

sudo mkdir /opt/btsync
sudo mv btsync /opt/btsync
rm btsync_arm.tar.gz
cd /opt/btsync
sudo chown root:root btsync
sudo chmod 755 btsync

Nun starten wir btsync das erste mal mit

sudo ./btsync --webui.listen 0.0.0.0:8888

Über http://IP:8888/ (IP = die IP-Adresse unter der der Raspberry Pi erreichbar ist) gelangen wir in das Web-Ui und können unsere ganzen Syncs verwalten. Beim ersten Start werden noch dazu aufgefordert das Web-Ui mit User und Passwort vor unbefugten Zugriffen zu schützen.

btsync mit init.d Script automatisch starten

Damit BitTorrent Sync automatisch gestartet wird, legen wir dazu ein Script an.

sudo nano /etc/init.d/btsync

Inhalt des Scripts:

#!/bin/sh
# /etc/init.d/btsync
#
 
case "$1" in
start)
    /opt/btsync/btsync
    ;;
stop)
    killall btsync
    ;;
*)
    echo "Usage: /etc/init.d/btsync {start|stop}"
    exit 1
    ;;
esac
 
exit 0

Dem Script werden nun die passenden Rechte gegeben

sudo chmod 755 /etc/init.d/btsync
sudo update-rc.d btsync defaults

Zuletzt testen wir, ob das Script auch funktioniert.

sudo /etc/init.d/btsync stop
sudo /etc/init.d/btsync start
Tagged with: , , ,
Veröffentlicht in Raspberry Pi

owncloud upgrade (6 auf 7) auf dem Raspberry Pi

!!!! Vor dem Upgrade unbedingt ein BACKUP machen !!!

Das Upgrade selbst

Das Upgrade der owncloud von Version 6 auf Version 7 habe ich nach dem gleichen Schema gemacht, wie von 5 auf 6. Die Befehle dafür sind folgende:

cd /var/www
sudo wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2 
sudo mv owncloud owncloud_alt
sudo tar xvf owncloud-7.0.2.tar.bz2
sudo cp -R /var/www/owncloud_alt/config/* /var/www/owncloud/config
sudo cp -R /var/www/owncloud_alt/data /var/www/owncloud/data
sudo chown -R www-data:www-data /var/www/owncloud
sudo rm owncloud-7.0.2.tar.bz2

Ruft man nun im Browser http://domain.de/owncloud/ auf, sollte das Upgrade gestartet werden.

Problem beim Upgrade

Bei mir trat jedoch ein kleines Problem auf. Und zwar blieb das Upgrade bei diesem Bildschirm hängen

owncloud Upgrade 6 to 7Auch nach 10 Minuten Wartezeit und einem Reload der Seite gab es keinen Fortschritt.

Für mich konnte ich dieses Problem mit einem kleinen Trick lösen.

Lösung

Ich habe das Upgrade erneut angestoßen, indem ich den Wartungsmodus ausgeschaltet habe. Beim zweiten Versuch klappte es. Dazu wird einfach nur ein Schalter in der config.php umgelegt.

cd /var/www/owncloud/config/
sudo nano config.php

Dort ändern wir nun “‘maintenance’ => true,” auf “‘maintenance’ => false,“, speichern mit Strg+O und verlassen den Editor mit Strg+X. Ein erneutes Aufrufen von http://domain.de/owncloud/ sollte das Upgrade neu anstoßen.
Bei mir ist es dann erfolgreich zu Ende gelaufen.

Tagged with: , , , , , ,
Veröffentlicht in Computer / Internet, Raspberry Pi

Youtube, Flash, Firefox und Dual Screen Vollbild

Vor ein paar Tagen habe ich Ubuntu auf einem neuen Laptop installiert. Das System läuft dort im Dual-Screen Modus.
Vollbild in Firefox bei youtube Videos ging nicht. Also ging es auf die Suche.

Die Lösung hatte ich hier gefunden. Der Lösungsansatz, der dort beschrieben wird ist sehr sauer und auch ausführlich erklärt. Ich musste allerdings zwei Änderungen durchführen, weshalb ich auch diesen Artikel schreibe.

Hier werde ich nur meine Ergänzungen beschreiben. Für die ausführliche Anleitung geht auf linuxundich.de, dort hat Christoph alles sehr gut und verständlich erklärt.

XGetGeometry wird falsch erkannt

Mit dem Befehl “make test” wurde bei mir die falsche XGetGeometry erkannt. Es wurden die Ausmaße des Dual-Screens, in meinem Fall 3520 x 1200 angezeigt.

Eine Änderung in der Datei fullscreenhack.c brachte die Lösung. Dort habe ich die gewünschten Werte eingetragen. In meinem Fall also

#define REAL_WIDTH (3520)
#define REAL_HEIGHT (1200)

// the height and width of the primary monitor where flash
// goes fullscreen
#define FAKE_WIDTH (1600)
#define FAKE_HEIGHT (1200)

Die Zeile im bash Script war fehlerhaft

Fehlerhafter Code

#!/bin/bash
LD_PRELOAD=/usr/lib/libfullscreenhack.so firefox $@

richtiger Code

#!/bin/bash
LD_PRELOAD=/usr/lib/libfullscreenhack.so /usr/bin/firefox $@

Läuft!

Tagged with: , , , ,
Veröffentlicht in Computer / Internet, Ubuntu, Uncategorized

owncloud upgrade (5 auf 6) auf dem Raspberry Pi

Gerade habe ich meine owncloud von der Version 5 auf die aktuelle Version 6.0.2 geupgradet. Dafür musste ich die manuelle Methode verwenden, da es mit dem internen Updater nicht funktioniert hat.

Vorher immer ein Backup machen!

Das Upgrade war ganz schnell gemacht.

Upgrade owncloud 5 auf owncloud 6

Es muss nur die alte owncloud Installation umbenannt, die neue Version entpackt und anschließend die Verzeichnisse “config” und “data” aus der alten in die neue Installation geschoben werden.

cd /var/www
sudo wget http://download.owncloud.org/community/owncloud-6.0.3.tar.bz2
sudo mv owncloud owncloud_alt
sudo tar xvf owncloud-6.0.3.tar.bz2
sudo cp -R /var/www/owncloud_alt/config/* /var/www/owncloud/config
sudo cp -R /var/www/owncloud_alt/data /var/www/owncloud/data
sudo mv /var/www/owncloud_alt/data /var/www/owncloud/
sudo mv /var/www/owncloud_alt/config /var/www/owncloud/
sudo chown -R www-data:www-data /var/www/owncloud
sudo rm owncloud-6.0.3.tar.bz2

Mögliches Problem mit einer MySQL Tabelle fixen

Beim Upgrade bin ich in folgendes Problem gelaufen:

Base table or view not found: 1146 Table ‘owncloud.oc_jobs’ doesn’t exist

Die konnte dadurch gelöst werden, indem die erforderliche Tabelle manuell angelegt wird.

mysql -uDATENBANKUSER -p
use DATENBANKNAME;
CREATE TABLE oc_jobs (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    class VARCHAR(255) NOT NULL,
    argument VARCHAR(255) NOT NULL,
    last_run INT
);

Die alte Installation löschen

Wenn jetzt alles funktioniert, dann kann die alte Installation gelöscht werden.

sudo rm -rf owncloud_alt
Tagged with: , , , ,
Veröffentlicht in Computer / Internet, Raspberry Pi

Ubuntu 13.10 + NVIDIA = freeze bei reboot/shutdown

Das Problem

Vor ein paar Tagen habe ich auf meinem Laptop Ubuntu Gnome 13.10 (GNOME SHELL 3.8.4) installiert.

Mit dem freien nouveau Treiber funktionierte ein reboot und ein shutdown ohne Problem. Der Laptop kam wachte nur aus einem standby nicht mehr komplett auf und froh ein. Mit dem proprietären NVIDIA Treiber (nividia-319) funktionierte der standby problemlos, allerdings hatte ich beim reboot und shutdown immer einen schwarzen Screen und nichts bewegte sich mehr. Da half nur der Powerknopf.

Mit einer kleinen Änderungen funktioniert der reboot / shutdown aber auch problemlos. Dazu muss nur eine Datei geändert werden.

Die Lösung

Wir öffnen zuerst ein Terminal und machen dort ein Backup der Datei, die geändert werden muss

sudo cp /etc/default/grub /etc/default/grub_back

Als nächsten öffnen wir die Datei mit gedit

sudo gedit /etc/default/grub

und ersetzen folgende Zeile

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

mit dieser hier:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

Jetzt die Datei noch speichern, gedit schließen und anschließend

sudo update-grub

im Terminal eingeben und rebooten. Der Start und das Herunterfahren des Laptops sieht jetzt zwar nicht mehr schön aus, da etliche Meldungen über den Bildschirm huschen, aber es funktioniert.

Alternative Einstellungen könnten je nach Modell sein:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

oder

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor pcie_aspm=force"

oder

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

oder

GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=force"

oder

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

oder

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"
Tagged with: , , , , ,
Veröffentlicht in Computer / Internet, Ubuntu

ejabberd XMPP Server auf Raspberry Pi installieren

Basis ist ein Raspberry Pi B (512 MB) mit einem installierten Raspbian (2013-09-25-wheezy-raspbian.zip) als Betriebssystem. Als Webserver verwende ich nginx.

Specs:

  • Betriebssystem: frisch installiertes Raspbian
  • Server: nginx
  • ejabberd nur über SSL Verbindung erreichbar

Die Installation von ejabberd

Das ejabberd in den Debian Paketquellen enthalten ist, gestaltet sich die Installation recht einfach.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ejabberd

ejabberd Konfigurieren

ejabberd config-Datei editieren

Die Konfiguration von ejabberd ist recht schnell gemacht. Wir legen in der config Datei einafch nur den admin und den Hostnamen an.
Ich habe mich dabei für den usernamen “admin” auf dem host “raspberrypi” entschieden. “domain.de” gibt die Domain an, unter der der Server später von außen erreichbar sein soll, in meinem Fall ist es eine DyDNS-URL.

sudo nano /etc/ejabberd/ejabberd.cfg

Die geänderten Stellen in der config sehen dann so aus.

%% Admin user
{acl, admin, {user, "admin", "raspberrypi"}}.

%% Hostname
{hosts, ["localhost", "raspberrypi", "domain.de"]}.

ejabberd Admin-Benutzer anlegen

Nach dem Schema “sudo ejabberdctl register username hostname passwort” wird bei ejabberd ein Benutzer angelegt. In unserem Beispiel heißt der Benutzer “admin” und liegt auf dem Host “raspberrypi”. Der Befehl lautet somit

sudo ejabberdctl register admin raspberrypi passwort

Einen Benutzer kann man übrigens mit dem Befehl “sudo ejabberdctl unregister username hostname” wieder löschen

Jetzt muss der Server noch neu gestartet werden

sudo service ejabberd restart

Wenn bis dahin alles funktioniert hat, sollte unter der internen IP des Raspberry Pi das Web Interface von ejabberd unter “192.168.1.xxx:5280/admin/” erreichbar sein, in dem wir uns mit unseren Admin Benutzer Daten anmelden können.

ejabberd von außen erreichbar machen

Im nächsten Schritt machen wir den Server von außen erreichbar. Dazu legen wir in unserem Router ein Portforwarding für die Port 5222 und 5223 auf die interne IP des Raspberry Pi (192.168.1.xxx)

ejabberd nur über SSL-Verbindung zugänglich machen

Jetzt wird es etwas tricky.
ejabberd bringt schon ein eigenes SSL-Zertifkat mit, dieses wollen wir aber durch unser eigenes Zertifikat ersetzen.

Da die Zertifikate nicht signiert sind, wir der Browser eine Warnung diesbezüglich heraus geben. Diese “ignorieren” wir bzw. genehmigen die Zertifikat.

Die SSL-Zertifikate erstellen wir mit folgendem Befehl.

sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key
sudo openssl req -newkey rsa:4096 -sha512 -x509 -days 3650 -nodes -out /etc/nginx  /cert.pem -keyout /etc/nginx/cert.key
sudo chmod 600 /etc/nginx/cert.pem
sudo chmod 600 /etc/nginx/cert.key

Diese zwei Zertifikatdateien (Public-Key und Private-Key) müssen wir nun in eine Datei packen.

cd /etc/nginx
sudo su
cat cert.key cert.pem > cert_meinhost.pem
mv cert_meinhost.pem /etc/ejabberd/
exit

Wir haben jetzt die Zertifikatdatei “cert_meinhost.pem” erstellt und diese in /etc/ejabberd/ abgelegt.

Jetzt müssen wir nur noch die passenden Stellen in der config ändern. Mit “starttls_required” legen wir fest, dass keine unverschlüsselte Verbindung zugelassen wird.

sudo nano /etc/ejabberd/ejabberd.cfg

Die Sektionen sollen an Ende so aussehen

{listen,
 [
  {5222, ejabberd_c2s, [
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        %%zlib,
                        starttls_required, {certfile, "/etc/ejabberd/cert_meinhost.pem"}
                       ]},

  %%
  %% To enable the old SSL connection method (deprecated) in port 5223:
  %%
 {5223, ejabberd_c2s, [
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
 %%                    zlib,
                        tls, {certfile, "/etc/ejabberd/cert_meinhost.pem"}
                       ]},

  {5269, ejabberd_s2s_in, [
                           {shaper, s2s_shaper},
                           {max_stanza_size, 131072}
                          ]},

///
{s2s_use_starttls, true}.
///
{s2s_certfile, "/etc/ejabberd/cert_meinhost.pem"}.

Zum Abschluss noch ein restart

sudo service ejabberd restart

sudo openssl req -newkey rsa:4096 -sha512 -x509

Tagged with: , , , , ,
Veröffentlicht in Computer / Internet, Raspberry Pi
Kategorien
Archive
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

%d Bloggern gefällt das: