Kategorien
Services

Lies es später in wallabag

Mit Lies es später Services wie Pocket und Instapaper können Sie Online Artikel mehr oder weniger einfach zu einer Liste hinzufügen. Diese Liste wird beim entsprechenden Service Provider verwaltet. Dieser bietet Clients und Apps für alle gängige Telefone, Tabletts und sonstige Computer an und so haben Sie die Möglichkeit, immer wenn Sie mal Zeit haben, einen Artikel auf der Liste zu lesen.
Soviel zur Theorie 🙂

Als die Mozilla Foundation im Mai 2015 beschloss, den proprietären Service „Pocket“ in den Firefox Browser einzubauen, stellte sich die Frage, warum nicht die Open Source Variante wallabag genommen wurde. Prompt meldeten User einen Fehler im Firefox Bugtracker System (Bug 1163434 – Provide other read it later services than Pocket). Die Verwendung von proprietären Elementen in Mozilla Produkten ist umstritten und in diesem Fall werden auch noch Benutzerdaten bei Dritten gespeichert. Bis heute (Juli 2015) ist das Thema nicht gelöst. Zeit sich nach Alternativen umzusehen.

Wallabag ist die Free and Open Source Alternative zu Pocket. Es gibt Clients für Windows, Mac OS, Android, iOS und Windows Phone.

In diesem Artikel zeige ich exemplarisch die Installation von wallabag auf einem Root Server (Verwalten der Liste) im Firefox Browser (Hinzufügen von Artikeln) und auf einem Android Telefon (Hinzufügen von Artikeln).

Installation auf dem Server

Wallabag benötigt im einfachsten Fall nur PHP und keinen Datenbankserver. Falls Sie ein Datenbank Server wie MySQL e nutzen wollen, müssen eine entsprechenden Datenbank, sowie ein Benutzerkonto anlegen.

Ich beschreibe die Variante ohne Datenbank Server.

Sie können optional einen virtuellen Host anlegen, ich installiere wallabag in einem Verzeichnis auf serverblogger.ch

Download und entpacken

wget http://wllbg.org/latest
unzip latest

Es entsteht ein Unterverzeichnis mit dem Namen wallabag-1.9. Dieses Unterverzeichnis benenne ich in wallabag um, verschiebe es in mein Dokumentenverzeichnis und mache den Benutzernamen des Apache Webservers (www-data) zum Eigentümer.

mv wallabag-1.9 wallabag
sudo mv wallabag /var/www/serverblogger.ch/public_html/
sudo chown -R www-data:www-data /var/www/serverblogger.ch/public_html/wallabag/

Installer

Rufen Sie nun im Browser die entsprechende URL auf, in meinem Fall https://serverblogger.ch/wallabag.

In meinem Fall würde es für eine Installation ausreichen, aber ein Hinweis erscheint, dass ich doch besser Composer installieren sollte.

Installation - Server Compatibility Test
Installation – Server Compatibility Test

Die Lösung ist ebenfalls vorgegeben, also zurück auf die Konsole. Die Installation muss mit dem root User erfolgen.

cd /var/www/serverblogger.ch/public_html/wallabag/
curl -s http://getcomposer.org/installer | php
php composer.phar install

Nach einem reload der Seite fehlt nun noch die Erweiterung für eine PostgreSQL Datenbank. Da ich die aber nicht nutzen will, spielt das keine Rolle. Ich lege einen Benutzernamen und Passwort fest und klicke auf den Button install wallabag.

Installation - Benutzer anlegen
Installation – Benutzer anlegen
Erfolgreiche Installation
Erfolgreiche Installation

Nach dem erfolgreichen Login sehe ich die Oberfläche mit drei Beispielartikeln.

Wallabag Web
Wallabag Web

Im config Bereich finden Sie Hinweise und Links zu den Themen

  • Speichern eines Artikels
  • Links zur mobilen Apps
  • Erzeugung von Feeds
  • Wechseln des Themes und der Sprache (Deutsch ist verfügbar)
  • Benutzer hinzufügen
  • Import und Export (beispielsweise als ePub, Mobi oder PDF ebook)
  • Upgrade-Informationen

Die Serverkomponente ist nun installiert und funktionsfähig

Mozilla Firefox Add-On

Auf der config Seite finden Sie den Link zum Firefox Add-On. Installieren Sie es und tragen Sie in den Preferences die Server URL ein.

Wallabag - Firefox Add On
Wallabag – Firefox Add On

Nun benötigen Sie noch einen Button zum Klicken, wenn Sie eine Website zum später lesen markieren wollen. Rufen Sie wieder den Konfigurationsbereich auf und ziehen Sie den bag it! Link in die Lesezeichenzeile des Browsers.

bag it! Link erstellen
bag it! Link erstellen

Wenn Sie nun Webseiten finden, die Sie später lesen wollen, klicken Sie einfach in der Lesezeichen auf den bag it! Link. Wallabag sammelt die Seiten und stellt Sie im unread Bereich dar. Damit das funktioniert, müssen Sie auf Ihrer wallabag Installation auf dem Server eingeloggt sein.

Wallabag - unread
Wallabag – unread

Android Telefon

Um auf Ihrem Telefon Zugriff auf den unread Bereich zu bekommen, könnten Sie einfach die Webanwendung auf dem Server aufrufen oder die wallabag App herunterladen. Die Links zu F-Droid und Google Play Store finden Sie auch im config Bereich der Administration oder mittels Suche in den Stores. Damit die App Verbindung zum Server aufnehmen kann, müssen Sie im Konfigurationsbereich die Feeds aktivieren. Nach der Aktivierung wird ein Token und die User-ID angezeigt.

wallabag Feed mit User-ID und Token
wallabag Feed mit User-ID und Token

Rufen Sie die Einstellungen der App auf und tragen Sie die entsprechenden Werte ein. Klicken Sie anschliessend auf Synchronize. Die zwei nicht gelesenen Artikel werden nun in einer Liste und einer Einzelansicht angezeigt.

Wallabag - Android - unread Liste
Wallabag – Android – unread Liste
Wallabag - Android - einzelner Artikel
Wallabag – Android – einzelner Artikel

Um auf dem Telefon Webseiten speichern zu können, müssen Sie sich ebenfalls in der Serverkomponente einloggen. Danach können Sie aus allen Android Anwendungen Artikel an bag it! schicken.

Link

http://wallabag.org

Fazit

Mit dieser Kombination haben Sie eine mehrbenutzerfähige „Lies mich später“ Umgebung und damit Ihren eigenen Service aufgebaut, der in meinem Fall sogar noch TLS/SSL abgesichert ist!


tl;dr: wallabag ist eine vollwertige Free and Open Source Alternative zu Pocket und Instapaper

Kategorien
Security

Schreiben Sie mir jetzt eine verschlüsselte E-Mail!

Als Edward Snowden mit Glenn Greenwald Kontakt aufnehmen wollte, war dieser nicht in der Lage seine E-Mails zu verschlüsseln. Der Kontakt verzögerte sich daher bis Glenn Greenwald lernte, wie er seine E-Mails verschlüsseln kann. Haben Sie sich schon mal die Frage gestellt, ob, wie und warum Sie E-Mails verschlüsselt versenden sollten?

E-Mails sind wie Postkarten. Der Inhalt einer E-Mail ist unverschlüsselt und kann an unterschiedlichen Stellen des Versandweges einfach gelesen werden. Genau wie der Briefträger einen Blick auf die Urlaubspostkarte werfen kann, kann jeder am E-Mail Transport Beteiligte das auch tun. Und das sind ziemlich Viele.

Wenn Sie den Inhalt Ihrer E-Mails verschlüsseln, so kann keiner, ausser dem gewünschten Empfänger, den Inhalt lesen – so einfach ist das 🙂

Denken Sie mal kurz darüber nach, was Sie in den letzten Jahren an E-Mails verschickt haben und was dort drin stand. Wenn ich das tue, so fällt mir ein

Hm, wäre vielleicht besser gewesen, die eine oder andere E-Mail verschlüsselt zu versenden

Und wenn ich etwas länger darüber nachdenke, finde ich

Verschlüsselte E-Mails sollten eigentlich der Standardzustand sein.
Briefe sind ja auch standardmässig verschlossen

Die harte Realität

In der harten Realität haben Sie vermutlich gut zu tun, alle E-Mails zu lesen und zu beantworten, die Übersicht zu behalten und das Thema Verschlüsselung spielt eine untergeordnete oder gar kein Rolle.

In diesem Blogeintrag möchte ich Ihnen einen, wie ich finde, einfachen Weg zur Verschlüsselung von E-Mails am Beispiel meiner E-Mail Adresse hagen (at) novatrend zeigen. Ich benutze Mozilla Thunderbird als Mailclient und arbeite auf einem Apple Computer, also mit dem betriebssystem OS X. Auch wenn Sie mit anderen Produkten arbeiten, funktioniert das Prinzip für Sie auch. Es gibt mittlerweile für nahezu jedes Produkt auf jeder Plattform eine Verschlüsselungsoption (siehe auch Links am Ende des Blogeintrags).

Wenn Sie jetzt zufällig die gleiche Konfiguration wie ich haben, und die Schritte dieses Blogeintrags nachvollziehen, so haben Sie eine Lösung, bei der Sie eine E-Mail schreiben und einfach auf den Button „verschlüsseln“ klicken. Und ausserdem erhalte ich mehr Kontakte die in der Lage sind, verschlüsselt zu kommunizieren.

Es sind keine weiteren Aktionen notwendig und nach einer gewissen Zeit fragt man sich, warum man das nicht schon immer so gemacht hat 🙂

Wie funktioniert E-Mail Verschlüsselung?

Wie meistens, gibt es natürlich unterschiedliche Arten der Verschlüsselung. Die wirksamste ist die sogenannte Ende-zu-Ende Verschlüsselung. Die zu übertragenden Daten werden auf Senderseite ver- und beim Empfänger wieder entschlüsselt. Es gibt zwei gängige Verfahren bei E-Mails. Sie heissen S/MIME und OpenPGP. Ich werde hier das Verfahren mit OpenPGP beschreiben, weil es nach wie vor als das Sicherste gilt.

OpenPGP arbeitet mit einem öffentlichen und einem geheimen Schlüssel. Ihr geheimer Schlüssel ist nur Ihnen bekannt, Ihr öffentlicher Schlüssel muss jedem bekannt sein, der Ihnen eine verschlüsselte E-Mail schicken will. Es ist also sinnvoll, Ihren öffentlich Schlüssel auch öffentlich zur Verfügung zu stellen (beispielsweise auf Ihrer Website). Der Ablauf einer Kommunikation funktioniert dann folgendermassen.

  1. Der Sender muss den öffentlichen Schlüssel des Empfängers kennen
  2. Der Sender schreibt eine E-Mail und verschlüsselt mit dem öffentlichen Schlüssel des Empfängers per Knopfdruck
  3. Der Empfänger erhält die verschlüsselte Nachricht und kann Sie mit Hilfe seines geheimen Schlüssels entschlüsseln

Sie müssen sich also Ihren öffentlichen und Ihren geheimen Schlüssel erzeugen, den öffentlichen Schlüssel des Empfängers besorgen und los gehts. Damit das alles per Knopdruck passieren kann, gibt es für OS X die sogenannten GPGTools, die auf Ihrem Rechner installiert werden, sowie das AddOn EnigMail für Mozilla Thunderbird.

Download und Installation

Gehen Sie auf die Website https://gpgtools.org/, laden Sie die GPG Suite auf Ihren Rechner und installieren Sie das Programm.

Installation GPG Suite
Installation GPG Suite
Öffnen Sie Mozilla Thunderbird und klicken auf Tools -> Add-ons. Alle installierten Add-ons werden in einem zusätzlichen Tab angezeigt. Klicken Sie auf Get Add-ons, suchen nach der Erweiterung Enigmail und installieren Sie.
Installation Enigmail
Installation Enigmail
Damit ist die Installation abgeschlossen. Das Programm GPGTools bietet nun Add-ons wie Enigmail die notwendigen Verschlüsselungs-Algoritmen an.

Schlüsselerzeugung

Sie müssen sich zunächst einen Schlüssel erzeugen.

Wenn Sie nach der Installation von Enigmail Mozilla Thunderbird das erste Mal öffnen, fragt das Add-on, wie es sich verhalten soll.

Konfiguration Enigmail
Konfiguration Enigmail
Übernehmen Sie die Standardwerte.

Klicken Sie dann auf den Menüeintrag Enigmail -> Key Management. Dann auf Generate -> New Key Pair. Falls Sie mehrere E-Mail Konten in Ihrer Mozilla Thunderbird Installation verwalten, können Sie hier die E-Mail Adresse angeben, für die Sie den Schlüssel erzeugen wollen.

Open PGP Key erzeugen
Open PGP Key erzeugen
Nach der Erzeugung schlägt Enigmail vor, ein Zertifikat zu erzeugen, mit dessen Hilfe Sie Ihren Key zurückziehen können, falls sie ihn mal verlieren, oder er kompromittiert wurde.

Revocation Zertifikat
Revocation Zertifikat
Erzeugen Sie sich so ein Zertifikat. Speichern Sie es auf einem USB Stick und deponieren Sie ihn an einem sicheren Platz.

Die erste E-Mail

Um Ihre erste verschlüsselte E-Mail schreiben zu können, benötigen Sie einen Empfänger und dessen öffentlichen Schlüssel. Um es Ihnen einfach zu machen, können Sie mir einfach eine E-Mail schreiben. Die E-Mail Adresse ist:

hagen (at) novatrend.ch

Der öffentliche Schlüssel sind die folgenden Zeilen.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

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
=Zx7t
-----END PGP PUBLIC KEY BLOCK-----

Kopieren Sie sich den Schlüssel in Ihre Zwischenablage (inklusive der Beginn und Ende Zeile) und importieren Sie ihn sich in ihr Key Management (Enigmail -> Key Management -> File -> Import from Clipboard).

Die E-Mail Adresse und mein Name sollten dann in Ihrem Key Management Fenster erscheinen. Ausserdem sollte dieser Fingerprint im Eintrag erscheinen

A514 0542 31C1 0374 7A4D 111D CBB6 37BE F507 E250

E-Mail schreiben

Schreiben Sie mir jetzt eine E-Mail in Mozilla Thunderbird. Im Screenshot schreibe ich mir selbst eine E-Mailvon meinem GMail Account an meinen NOVATREND Account.

Achten Sie darauf, dass die beiden Buttons mit dem Schloss und dem Bleistift geklickt sind und das Ihr öffentlicher Key angehängt ist.
Der Hinweis „This message will be signed and encrypted“ bestätigt das noch einmal.

Erste verschlüsselte E-Mail
Erste verschlüsselte E-Mail
Senden Sie die E-Mail!
Sie müssen dazu Ihre gerade festgelegt Passphrase eingeben.
Die erste Kontaktaufnahme ist wie im richtigen Leben die Schwierigste :).
Wenn Sender und Empfänger die Schlüssel getauscht haben, reicht das Klicken der Buttons um eine E-Mail zu verschlüsseln.

Wenn ich (in meiner Eigenschaft als Empfänger) die E-Mail auf dem NOVATREND Konto lesen möchte, muss ich die Passphrase des NOVATREND Schlüssels eingeben.
Verschlüsselt sieht die E-Mail so aus

Eine verschlüsselte E-Mail
Eine verschlüsselte E-Mail
Keine Angst, auch wenn das alles auf den ersten Blick etwas verwirrend aussieht, es ist einfacher als Sie denken.

Öffentlichen Schlüssel auf Website stellen

Sie sollten Ihren öffentlichen Schlüssel in eine Datei exportieren und diese Datei (oder deren Inhalt) auf Ihrer Website anbieten. Klicken Sie dazu Enigmail -> Key Management -> File -> Export Keys to File -> Export Public Key only. Das Ergebnis ist eine Datei mit dem Namen ihre_email_pub.asc. Sie können diese Datei auf Ihren Server laden und darauf verweisen, oder den Inhalt der Datei anzeigen. Hier im NOVATREND Blog biete ich den Schlüssel in der Über uns Seite an.

Links


tl;dr: E-Mails verschlüsseln ist nicht schwer – senden Sie mir jetzt eine verschlüsselte E-Mail!

Kategorien
Messenger

Messenger – Schnell, Einfach, Sicher – IRC

In Zeiten von Facebook, WhatsApp, Telegram, Threema und vielen anderen Messaging Services stellt sich für Firmen und grössere Gruppen von Menschen die Frage, wie man denn nun am Besten ohne einen fremd verwalteten Server miteinander textbasiert kommunizieren kann.

Wie realisiert man textbasierte Kommunikation in einem Unternehmen, die auf allen Endgeräten funktioniert, wenig Ressourcen verbraucht und auch noch einigermassen „sicher“ ist? Die wohl älteste, aber nach wie vor funktionierende Variante ist der Interlay Relay Chat (IRC). Ursprünglich wurde der Relay Chat Anfang der achtziger Jahre im BITNET (Because It’s Time NETwork) genutzt. 1988 wurde das Prinzip durch den finnischen Studenten Jarkko Oikarinen auf das Internet übertragen.

Wenn Sie noch nie etwas von IRC gehört haben, schauen Sie sich New User Introduction auf irchelp.org an. Ein guter Anfang auf Deutsch ist Internet Relay Chat – Eine möglichst kurze Einführung von Kai ‚Oswald‘ Seidler.

Grundsätzlich benötigen Sie einen IRC-Client und einen IRC-Server. Der IRC-Client läuft auf Ihrem Endgerät, der IRC-Server ist entweder öffentlich zugänglich und wird von „jemandem“ betrieben.

Sie können sich aber auch Ihren eigenen IRC-Server auf Ihrem Root-Server installieren und darüber völlig autark passwortgeschützt und verschlüsselt kommunizieren. In diesem Artikel werden wir den UnrealIRC Server instalieren und über verschiedene Clients damit Kontakt aufnehmen.

IRC Server

Die Konfiguration von IRC Servern wie ratbox, die als Installationspaket für Ubuntu vorliegen ist ziemlich aufwändig, daher verwende ich in diesem Beispiel den Unreal IRC Server. Die Installation und Konfiguration ist recht überschaubar.

Installation

Ich lade die Dateien in das Verzeichnis /home/novatrend

Download des Quellcodes

wget https://www.unrealircd.org/downloads/Unreal3.2.10.4.tar.gz

Auspacken des Pakets

tar xfz Unreal3.2.10.4.tar.gz

Dann in das Verzeichnis wechseln und mit ./Config das Konfigurationsprogramm aufrufen.

novatrend@server1:~/Unreal3.2.10.4$ ./Config

Die meisten Fragen können mit der Entertaste und dem vorgeschlagenen Wert beantwortet werden

What directory are all the server configuration files in?
[/home/novatrend/Unreal3.2.10.4] ->

What is the path to the ircd binary including the name of the binary?
[/home/novatrend/Unreal3.2.10.4/src/ircd] ->

What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->

Wenn der Chat verschlüsselt sein soll müssen sie hier Yes eingeben

Do you want to support SSL (Secure Sockets Layer) connections?
[No] -> YES

Die nächste Frage können Sie mit Enter bestätigen. Die OpenSSL Library wird unter Ubuntu 14.04. automatisch gefunden

If you know the path to OpenSSL on your system, enter it here. If not
leave this blank (in most cases it will be detected automatically).
[] ->

Auch bei den weitere Fragen können Sie die Standardwerte übernehmen. Sie können im weiteren Verlauf der Installation auch ein Zertifikat erzeugen, falls Sie noch keins haben.

_______________________________________________________________________
|                                                                       |
|                    UnrealIRCd Compile-Time Config                     |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                                                                       |
| Now all you have to do is type 'make' and let it compile. When that's |
| done, you will receive other instructions on what to do next.         |
|                                                                       |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                        - The UnrealIRCd Team -                        |
|                                                                       |
| * Syzop     syzop@unrealircd.com                                      |
|_______________________________________________________________________|

Wenn diese Meldung erscheint ist die Konfiguration beendet und Sie müssen mit dem make Kommando die eigentliche Kompilierung starten

novatrend@server1:~/Unreal3.2.10.4$ make
...
__________________________________________________
| Compile is now complete.                         |
| You should now read the documentation and learn  |
| how to configure your IRCd.                      |
|                                                  |
| If you really like UnrealIRCd, and would like to |
| make a donation, please read the Donation file in|
| this archive. :)                                 |
|                                                  |
| Thanks for using Unreal IRCd! If you are in need |
| for any kind of help regarding the IRCd please   |
| read the Unreal.nfo file.                        |
|__________________________________________________|
novatrend@server1:~/Unreal3.2.10.4$

Der IRC Server ist nun auf Ihrem Root-Server installiert.

Konfiguration

Der IRC Server benötigt eine Konfigurationsdatei. Im /doc Vereichnis finden Sie Beispieldateien in mehreren Sprachen.

novatrend@server1:~/Unreal3.2.10.4/doc$ ls -l
total 1996
-rw-r--r-- 1 novatrend novatrend  20342 Jul 26 17:42 example.conf
-rw-r--r-- 1 novatrend novatrend  20414 Jul 26 17:42 example.de.conf
-rw-r--r-- 1 novatrend novatrend  22535 Jul 26 17:42 example.es.conf
-rw-r--r-- 1 novatrend novatrend  23120 Jul 26 17:42 example.fr.conf
-rw-r--r-- 1 novatrend novatrend  23117 Jul 26 17:42 example.hu.conf
-rw-r--r-- 1 novatrend novatrend  19916 Jul 26 17:42 example.nl.conf
-rw-r--r-- 1 novatrend novatrend  21650 Jul 26 17:42 example.ru.conf
-rw-r--r-- 1 novatrend novatrend  21524 Jul 26 17:42 example.tr.conf

Ich nehme die Datei example.de.conf und kopiere Sie in das /Unreal3.2.10.4 Verzeichnis. Der Name muss unrealircd.conf sein

nano unrealircd.conf

Ein Konfigurationsbeispiel finden Sie hier unter http://irc-guide.de/wiki/Main/UnrealIRCdBeispielkonfigurationsdatei.

Die Konfigurationsdatei ist sehr gut kommentiert (und sehr lang). Hier die Änderungen, die ich vergenommen habe:

Kommentieren Sie diese beiden Zeilen aus

/* FUER *NIX (Unix, Linux, Xenix etc.), sind diese 2 Zeilen auszukommentieren: */
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

Geben Sie dem Server einen Namen

me
{
        name "irc.serverblogger.ch";
        info "Serverblogger Server";
        numeric 1;
};

Legen Sie den Admin fest

admin {
        "Hagen Graf";
        "hagen";
        "hagen@novatrend.ch";
};

Legen Sie ein Passwort fest

allow {
        ip             *@*;
        hostname       *@*;
        class           clients;
        password "geheimespasswort"
        maxperip 5;
};

Legen Sie Channel fest

allow   channel {
        channel "#serverblogger-chat";
        channel "#raum1";
        channel "#raum2";
        channel "#raum3";
};

Verhindern Sie, dass Channel angelegt werden

deny channel {
        channel "*";
        reason "Es gibt schon vier Raeume :) ";
};

Netzwerk Konfiguration

set {
    network-name            "IRC";
    default-server          "serverblogger.ch";
    services-server         "serverblogger.ch";
    stats-server            "serverblogger.ch";
    ...
    cloak-keys {
                "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
                "Key eingeben";
                "Key eingeben";
     };

}

Lesen Sie die restlichen Einstellungen und speichern die Datei ab. Im gleichen Verzeichnis können Sie noch die Willkommensdateien motd.conf und rules.conf erstellen um eine Willkommensnachricht auf dem Client anzuzeigen.

Starten und stoppen können Sie den IRC Server nun mit den Befehlen

./unreal start

und

./unreal stop

IRC Clients

Es gibt ein grosses Angebot für IRC-Clients auf allen denkbaren Plattformen. Hier ein paar Beispiele mit dem gerade aufgesetzten irc.serverblogger.ch Server.

Lime (OSX)

http://limechat.net/mac/

Konfiguration Lime IRC Client
Konfiguration Lime IRC Client
Chat Fenster Lime IRC Client
Chat Fenster Lime IRC Client

AndroIRC (Android)

http://www.androirc.com/

AndroIRC Chatfenster
AndroIRC Chatfenster

Adium (OSX)

https://adium.im/

Adium Chat Client
Adium Chat Client

tl;dr: Der Internet Relay Chat ist eine schnelle, einfache und sichere Alternative zu proprietären Messenger Systemen.

Kategorien
Cloud Server Shared Hosting Verschlüsselung

OwnCloud – Installation und Clients

In einer eigenen Cloud lagern Sie Ihre eigenen Daten, greifen mit verschiedenen Client darauf zu und synchronisieren die Datenbestände. Die Cloud Software ist auf Ihrem Root-Server installiert. Das Open Source Programm ownCloud ist gerade bei sensiblen oder auch allgemeinen Unternehmensdaten eine echt Alternative zu Dropbox, Google, iCloud und ähnlichen Programmen. Sie können über ihren PC, ihr Smartphone, Tablet oder über eine Weboberfläche auf die Daten zugreifen. Es gibt Clients für Linux, Mac OS, Windows, Android und iOS. OwnCloud bietet Benachrichtigungs- und soziale Netzwerkfunktionen für die Nutzer einer OwnCloud-Installation sowie zahlreiche Zusatzfunktionen, unter anderem einen Musikplayer, eine Fotogalerie und einen Editor zum gemeinsamen Bearbeiten von Dokumenten.

Die Daten können verschlüsselt übertragen und gespeichert werden. Das Programm existiert in einer Business- und einer Community Edition. Wir installieren die Community Edition. Das Serverprogramm ownCloud server ist Open Source Software und läuft in Ihrem LAMP Stack. Es ist über einen Browser nutzbar. Andere Dateimanager und Groupware Systeme können mit OwnCloud über eine Programmierschnittstelle (API) Kontakt aufnehmen. Die Client Software, die eine tiefere Verzahnung und eine Synchronisation von OwnCloud in Ihrem Desktop Betriebssystem erlaubt, wird von der Firma OwnCloud Inc. kostenlos herausgegeben. Für die Desktop Clients steht auch der Quellcode zur Verfügung. Bei den Apps für Smartphones gibt es die Android Version im Quellcode.

Installation

Sie können OwnCloud Server in einem virtuellen Apache Host (vhost) laufen lassen oder den Default Host Ihrer LAMP Installation nutzen. In diesem Beispiel nutze ich den Default Host, da auf diesem Root-Server nur die ownCloud laufen soll. Bevor etwas neues installieren, sollten Sie immer

apt-get update
apt-get upgrade

laufen lassen, damit Ihr System auf dem aktuellen Stand ist. Danach benötigen Sie den Apache Webserver, den MySQL Datenbankserver und die Programmiersprache PHP. Im Beitrag LAMP einrichten (LINK TODO) finden Sie die notwendigen Installationsschritte.

Notwendige PHP-Module

OwnCloud benötigt einige zusätzliche PHP-Module, die Sie mit dem Befehl

apt-get install php5-gd php5-json php5-curl php5-intl php5-mcrypt php5-imagick

installieren können.

  • php5-gd: ermöglicht die Ausgabe und Bearbeitung von Bildern im JPEG, GIF, PNG und anderen Formaten
  • php5-json: dieses Modul ermöglicht die Nutzung des „JavaScript Object Notation (JSON)“ Datenaustauschformats.
  • php5-curl: ermöglicht die Nutzung der libcurl Bibliothek aus PHP heraus. Diese Bibliothek bietet Möglichkeiten, unterschiedliche Server über gängige Protokolle zu verbinden. libcurl unterstützt u.a. HTTP, HTTPS, FTP, FILE, und das LDAP Protokoll.
  • php5-intl: ist das Internationalisierungsmodul von PHP
  • php5-mcrypt: ermöglicht die Nutzung der mcrypt Bibliothek. Sie unterstützt viele Verschlüsselungsalghorithmen.
  • php5-imagick: erlaubt Bilder in mehr als 100 verschiednenen Formaten zu erzeugen und zu verändern.

Starten Sie den Webserver neu

sudo service apache2 restart

Falls irgendetwas schiefgeht, schauen Sie in das Apache Error Log, vielleicht helfen Ihnen die Meldungen weiter (tail -f /var/log/apache2/error.log)

OwnCloud Quellcode herunterladen, überprüfen, auspacken

Unter https://owncloud.org/install/finden Sie die aktuellen Installationspakete. Kopieren Sie sich den Downloadlink der letzten stabilen Version ownCloud Server (in meinem Fall 7.02) und laden das Paket mit dem Befehl

wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2

Da heutzutage nicht auszuschliessen ist, dass das Archiv tatsächlich das richtige Package ist, können Sie es überprüfen lassen. Sie können sich die Checksumme der Datei auf verschiedene Weise ausrechnen und überprüfen. Mit dem Befehl

novatrend@server1:~$ md5sum owncloud-7.0.2.tar.bz2
4af57e093878917d80004f7151f9282e  owncloud-7.0.2.tar.bz2

erzeugen Sie beispielsweise die md5 Checksummer für das Package. Die ausgegebenen Ziffern müssen mit dem Inhalt der Datei https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2.md5 übereinstimmen. Sie können diese Datei auf Ihren lokalen PC laden und in einem Editor öffnen um die die Ziffern zu vergleichen. Packen Sie das Archiv mit dem Befehl

sudo tar -xvf owncloud-7.0.2.tar.bz2 -C /var/www/html

in das Dokumentenverzeichnis des Default Webservers aus. Es wird ein neues Verzeichnis owncloud angelegt, dass alle notwendigen Dateien enthält. Machen Sie den Benutzeraccount unter dem der Webserver läuft zum Eigentümer der Dateien.

sudo chown www-data:www-data -R /var/www/html/owncloud/

DB Datenbank und Benutzer anlegen

Rufen Sie den MySQL Monitor auf und erzeugen Sie ein Benutzerkonto und eine Datenbank. Im folgenden Beispiel heisst der Benutzer ownclouduser und die Datenbank ownclouddb.

mysql -u root -p
Enter password:
mysql> CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'IHRPASSWORT';
mysql> CREATE DATABASE ownclouddb;
mysql> GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

OwnCloud Webinstallation

Sie können nun auf Ihrem Root-Server das ownCloud Verzeichnis aufrufen und der ownCloud Webinstaller erscheint. In meinem Fall mit einer Sicherheitswarnung. http://[IP-Adresse]/owncloud

Webinstaller ownCloud
Webinstaller ownCloud
In diesem Formular müssen Sie das Verzeichnis eintragen, in dem Ihre Dateien liegen werden (bereits vorbelegt), den DB-Benutzernamen, das Password und den Namen der Datenbank. Danach müssen Sie noch Benutzernamen und Passwort des Administrators festlegen. Der Webinstaller konfiguriert automatisiert das Programm und Sie landen in der ownCloud Weboberfläche.
ownCloud Webclient
ownCloud Webclient
Sie können nun Ordner anlegen, Dateien hochladen, zusätzliche benutzer anlegen, die eigene Dateien verwalten und vieles andere mehr. Schauen Sie sich in Ruhe um. Bevor Sie sensible Dateien hochladen, sollten sie die Admin-Seite http://[IP-Adresse]/index.php/settings/admin aufrufen. Wir müssen uns um zwei Dinge kümmern:

  1. Schutz des Datenverzeichnisses
  2. Verschlüsselte Kommunikation

1. Schutz des Datenverzeichnisses

Security Warning Your data directory and files probably accessible from the internet because the .htaccess files does not work. For information how to properly configure your server, please see the documentation.

OwnCloud speichert alle Daten in einem Datenverzeichnis namens data. Damit keine unberechtigten Benutzer auf die Daten zugreifen können, schützt man solche Verzeichnisse mit einer sogenannten .htaccess Datei. Sie enthält Konfigurationsanweisungen für den Apache Webserver. Bei meiner Installation nutze ich als Datenverzeichnis /var/www/html/owncloud/data. In diesem Verzeichnis hat das ownCloud Programm eine .htaccess Datei erzeugt, die Befehler für den Apache Webserver enthält, um den öffentlichen Zugriff einzuschränken. Leider führt der Apache Webserver diese Datei offensichtlich nicht aus und es kommt zur Fehlermeldung. In diesem Fall liegt die Lösung in der Apache-Konfigurationsdatei /etc/apache2/apache2.conf. Der Standard Webserver ist aus Sicherheitsgründen so konfiguriert, dass keine .htaccess Dateien ausgeführt werden. Sie können das Problem nun auf mehrere Arten lösen

  1. Die Apache Konfigurationsdatei ändern
  2. Das Datenverzeichnis an einen Platz legen, der nicht öffentlich, aber für den Webserver erreichbar ist
  3. Einen virtuellen Host (vhost) erstellen und die entsprechenden Anweisungen angeben

Es gibt in diesem Fall kein richtig oder falsch. Jede Möglichkeit ist für sich gesehen ok. Ich nehme die Variante 1 und ändere die /etc/apache2/apache2.conf

sudo vi  /etc/apache2/apache2.conf

Fügen Sie nach Zeile 168 (nach den Anweisungen für das Verzeichnis /var/www/) folgende Anweisungen ein:

<Directory /var/www/html/>
        AllowOverride All
</Directory>

Der Befehl AllowOverride All bedeutet, dass es in diesem Verzeichnis erlaubt ist, die Apache Konfigurationseinstellungen zu überschreiben. Starten Sie den Webserser neu

sudo service apache2 restart

Die Fehlermeldung ist verschwunden. Der Webserver führt nun die OwnCloud Befehle aus und das Verzeichnis ist geschützt. Ein kurzer Blick auf die Admin Seite (Admin-Seite http://[IP-Adresse]/index.php/settings/admin) bestätigt das. Auch hier ist die Warnung verschwunden.

2. Verschlüsselte Kommunikation

Security Warning You are accessing ownCloud via HTTP. We strongly suggest you configure your server to require using HTTPS instead.

Dieses Thema ist sehr wichtig. Momentan werden Ihre Daten unverschlüsselt übertragen. Jeder, der Zugriff auf den Netzwerkverkehr zwischen Ihrer ownCloud Installation und Ihrem Client hat, kann Ihre Daten im Klartext mitlesen. Glücklicherweise wird Ubuntu 14.04 mit einer Lösung für dieses Problem ausgeliefert. Sie müssen nur die entsprechenden Module im Webserver aktivieren

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 reload

Die Standard Apache SSL Konfiguration können Sie mit dem folgenden Befehl einsehen cat /etc/apache2/sites-available/default-ssl.conf Wenn Sie nun Ihre ownCloud Installation im Webserver mit https:// anstelle von http:// aufrufen, wird der Netzwerkverkehr verschlüsselt. Je nach Browsertyp müssen Sie bestätigen, auf die Seite zugreifen zu wollen. Bei der Installation von Ubuntu wurde ein Zertifikat erzeugt, um die verschlüsselte Verbindung zu ermöglichen. Dieses Zertifikat ist von keiner offiziellen Stelle bestätigt und daher fragt der Browser nach.

Selbst erstelltes Zertifikat
Selbst erstelltes Zertifikat
Sie können auch jederzeit ein Zertifikat kaufen und auf Ihrem Root-Server installieren. Dann werden alle Browser ohne Nachfrage den Zugriff auf Ihre Seite ermöglichen.

Ausprobieren

Laden Sie ein paar Dateien per Browser in Ihre Owncloud Installation und machen Sie sich mit der Oberfläche vertraut

OwnCloud Clients

Auf die von Ihnen genutzten PC, Telefone und Tablets können Sie nun die entsprechenden ownCloud Clients installieren und mit Ihrer Server Installation verbinden. Die Downloads finden Sie unter http://owncloud.org/install/.

Beispiel Mac OS

Die OwnCloud App erzeugt einen zusätzlichen Ordner, der im Finder angezeigt wird. Alle Dateien, die sich in diesen Ordnern befinden werden mit Ihrem ownCloud Server synchronisiert. Die Einstellungen können im ownCloud menü im oberen Bildschirmrand vorgenommen werden.

ownCloud App Mac OS
ownCloud App Mac OS

Beispiel Android

Ich habe ein Android Telefon mit CyanogenMod Distribution. Es gibt mehrere ownCloud Clients, hier ein Screenshot vom original ownCloud client, herausgegeben von ownCloud Inc. Für diesen Client wird auch der Quellcode zur Verfügung gestellt (https://github.com/owncloud/android).

ownCloud Client für Android
ownCloud Client für Android

tl:dr ownCloud ist eine vollwertige Dropbox Alternative mit voller Kontrolle, gehostet auf eigenen Root-Servern