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

tt-rss auf Raspberry Pi mit nginx installieren

In diesem Tutorial zeige ich, wie ich auf meinem Raspberry Pi B (512) die aktuelle Version von tt-rss installiere.

Grundvoraussetzung ist ein Raspberry Pi mit vorinstalliertem Raspbian. Wie ihr dieses auf eurem Raspberry Pi installiert, erklärt das Tutorial von sweetpi.de

Specs:

  • Betriebssystem: frisch installiertes Raspbian
  • Server: nginx
  • Datenbank: MySQL
  • tt-rss nur über SSL Verbindung erreichbar
  • tt-rss unter domain.de/tt-rss/ erreichbar

Pakete installieren

Jetzt installieren wir die benötigten Pakete

sudo apt-get update
sudo apt-get install nginx php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-cgi mysql-server

Das Verzeichnis anlegen

Das Verzeichnis, in dem später die Webanwendungen inkl. tt-rss liegen soll, wird angelegt.

sudo mkdir /var/www
sudo chown www-data:www-data /var/www/

SSL Zertifikate erstellen

Im nächsten Schritt erstellen wir die SSL Zertifikate, damit die owncloud unter HTTPS erreichbar ist.

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

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

nginx konfigurieren

An dieser Stelle poste ich meine komplette sites-available/default Datei. Wenn ihr bisher noch keine Änderungen an euer Datei vorgenommen habt, dann könnt ihr diese übernehmen und eure damit ersetzen. Vorher bitte nur “domain.de” auf eure Domain bzw. IP Adresse ändern!

Zum anpassen der Datei

sudo nano /etc/nginx/sites-enabled/default

den Inhalt der Datei mit Folgendem ersetzen.

# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
   listen 80;
    server_name domain.de;
    rewrite ^ https://$server_name$request_uri? permanent; # enforce https
}
server {
    listen 443 ssl;
    server_name domain.de;
    ssl_certificate /etc/nginx/cert.pem;
    ssl_certificate_key /etc/nginx/cert.key;

    root /var/www;
    index index.php;

 location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
}

anschließend die Dienste starten

sudo service php5-fpm restart
sudo service nginx restart

Die Datenbank für Tiny Tiny RSS anlegen

Hier wird eine Datenbank mit dem Namen “ttrss” und dem User “rssfeed” angelegt. Bei PASSWORT bitte eurer Datenbank Passwort eintragen.

mysql -u root -p 
create database ttrss; 
create user 'rssfeed'@'localhost' identified by 'PASSWORT';
grant all privileges on ttrss.* to 'rssfeed'@'localhost';
quit

MySQL Server absichern

Hier sichern wir die Installation der MySQL Datenbank ab.

sudo mysql_secure_installation

Dieses kleine Tool erlaubt es den “root” Benutzer zu limitieren, die Testdatenbank zu löschen, auf die jeder Zugriff hat und entfernt alle anonymen Benutzer.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Tiny Tiny RSS (ttrss) installieren

Im ersten Schritt schieben wir die Dateien auf unseren Server

cd /var/www
sudo wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.10.tar.gz
sudo tar zxfv 1.10.tar.gz
sudo mv Tiny-Tiny-RSS-1.10/ ttrss
sudo rm 1.10.tar.gz

Anschließend öffnen wir den Installer über https://domain.de/ttrss/ und installieren die Anwendung:
ttrss-raspberry

Den Inhalt der config Datei kopieren wir in die Zwischenablage und schreiben diesen anschließen in eine neu erzeugte config.php Datei.

cd ttrss
sudo nano config.php

Hier den Text einfügen und wieder mit Strg+X speichern.

Die Rechte für die Tiny Tiny RSS Ordner anpassen

Im letzten Schritt müssen noch die Rechte der einzelnen Ordner angepasst werden

sudo su
chmod -R 777 cache/images && chmod -R 777 cache/export && chmod -R 777 cache/js && chmod -R 777 feed-icons && chmod -R 777 lock
exit

Cronjob für Tiny Tiny RSS anlegen

Nun legen wir noch einen Cronjob an, so dass Tiny Tiny RSS die News automatisch alle “15” Minuten aktualisiert.

sudo crontab -u www-data -e
 */15 * * * * cd /var/www/ttrss && /usr/bin/php update.php --feeds --quiet > /dev/null

Das war es auch schon.

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

Erhalte jeden neuen Beitrag in deinen Posteingang.

%d Bloggern gefällt das: