So synchronisieren Sie Kalender und Kontakte mit CardDAV- und CalDAV-Standards mit Baïkal unter Ubuntu 14.04

Einführung

Mit immer mehr Menschen, die mehrere Geräte (Smartphones, Computer, Tablets usw.) verwenden, wächst das Bedürfnis, alles synchron zu halten.

Während das Synchronisieren von files wichtig ist, ist es auch nützlich zu sein können Kalender und Kontakte in ihren nativen Formaten synchronisieren.

Die CalDAV- und CardDAV-Standards bieten eine einfache Möglichkeit, alle unsere intelligenten Funktionen auf dem neuesten Stand zu halten und unsere Freunde und andere Kontakte zu erreichen. In diesem Tutorial zeigen wir Ihnen, wie Sie Kalender und Kontakte von einem von Ihnen gesteuerten Server synchronisieren, indem Sie http://baikal-server.com [Baïkal], einen PHP CalDAV- und einen CardDAV-Server, ganz einfach installieren.

_ _ * Hinweis: * Wenn Sie eine All-in-One-Lösung suchen, besuchen Sie möglicherweise https://www.digitalocean.com/community/tutorials/how-to-use-the-owncloud-one Klicken Sie stattdessen auf install application [ownCloud].

  • Hinweis: * Baïkal ist schnell und einfach, jedoch nicht für den Einsatz in großem Maßstab geeignet. Wenn Sie die Synchronisierung von Kalendern und Kontakten für ein mittleres oder großes Unternehmen wünschen, funktioniert diese Lösung möglicherweise nicht richtig für Sie. _ _

Voraussetzungen

Stellen Sie sicher, dass diese Voraussetzungen erfüllt sind.

Wir werden auch einige Pakete installieren, die Baïkal benötigt. Wir verwenden ein SSL-Zertifikat. und wir werden diese im Artikel selbst einrichten. Wenn Sie ein SSL-Zertifikat erwerben möchten, sollten Sie es für die Domain oder Subdomain Ihres Baïkal-Servers erwerben.

Schritt 1 - Installation von Baïkal

Zunächst installieren wir einige erforderliche Pakete, laden das Tarball von Baïkal herunter und extrahieren es anschließend.

In den folgenden Beispielen wird die aktuellste Version von Baïkal verwendet. Wir empfehlen jedoch, die neueste http://baikal-server.com [Version von Baïkal] zu überprüfen, bevor Sie beginnen. Um die neueste Version zu finden, gehen Sie zur Baïkal-Website und klicken Sie entweder auf die Schaltfläche * Download, um loszulegen * oder scrollen Sie zum Abschnitt * Get Baïkal * (Baïkal herunterladen). Wenn es eine neuere Version gibt, kopieren Sie den Download-Link für das * reguläre Paket *.

Um loszulegen, müssen Sie SSH in Ihr Ubuntu Droplet einbinden.

Jetzt installieren wir die Pakete, die Baïkal ausführen muss. Wir gehen davon aus, dass dies eine neue Ubuntu-Installation ist. Bevor wir also einige Pakete von den Repos installieren können, müssen wir den Repo-Cache mit "+ apt-get update +" aktualisieren.

sudo apt-get update

Installieren Sie einige vorausgesetzte Pakete: PHP, Apache und SQLite.

sudo apt-get install apache2 php5 php5-sqlite sqlite3

_ * Hinweis: * In der Baïkal-Installationsdatei stellt der Autor fest, dass Apache durch Nginx und SQLite durch MySQL ersetzt werden können. _

Jetzt, da wir die erforderlichen Teile haben, um Baïkal zum Laufen zu bringen, können wir Baïkal installieren! Da es sich bei Baïkal um eine Art PHP-Website handelt, werden wir sie herunterladen und im Apache-Site-Verzeichnis "+ / var / www +" extrahieren.

cd /var/www
sudo wget http://baikal-server.com/get/baikal-regular-0.2.7.tgz
sudo tar -xvzf baikal-regular-0.2.7.tgz

_ * Hinweis: * Für diejenigen, die wissen möchten, was wir gerade "+ tar " gesagt haben: " x " = e ** x ** tract, " v " = ** v ** erbose, "" z + = un z ip und + f + `= f ile, gefolgt vom Dateinamen. _

Ein letzter Schritt und Baïkal wird installiert. Seit wir die PHP-App extrahiert haben, brauchen wir die TAR-Datei nicht mehr. Daher werden wir sie entfernen, den extrahierten Ordner in einen relevanteren Ordner umbenennen und dann sicherstellen, dass er für den Apache-Benutzer lesbar und beschreibbar ist.

sudo rm baikal-regular-0.2.7.tgz
sudo mv baikal-regular
sudo chown -R www-data:www-data

_ * Hinweis: * Sie können den Ordner beliebig benennen, aber es ist viel einfacher, Websites zu identifizieren, wenn Sie mehrere hosten möchten, wenn Sie den Website-Namen für den Website-Ordner verwenden. _

Schritt 2 - Einrichten von Apache

Unsere Anwendung ist installiert, und jetzt müssen wir Apache darüber informieren. Zur Vereinfachung enthält Baïkal eine eigene Apache-Konfigurationsdatei als Vorlage. Wir kopieren diese Datei in das Apache-Verzeichnis "+ sites-available +" und bearbeiten sie dann so, dass sie zu unserer Site passt.

sudo cp /var/www/dav.example.com/Specific/virtualhosts/baikal.apache2 /etc/apache2/sites-available/dav_example_com.conf

Öffnen Sie mit Ihrem bevorzugten Texteditor die Datei "+ dav_example_com.conf +" und ändern Sie alle URLs, um Ihre eigene URL zu verwenden, sowie die Pfade, unter denen Sie Ihre Site gespeichert haben. So sieht es aus:

sudo nano /etc/apache2/sites-available/dav_example_com.conf
<VirtualHost *:80>
   DocumentRoot /var/www//html
   ServerName

   RewriteEngine On
   RewriteRule /.well-known/carddav /card.php [R,L]
   RewriteRule /.well-known/caldav /cal.php [R,L]

   <Directory "/var/www//html">
       Options None
       Options +FollowSymlinks
       AllowOverride All
   </Directory>
</VirtualHost>

Jetzt benötigen wir ein SSL certificate.

Sie können Ihr Zertifikat entweder erstellen oder erwerben. Wir gehen davon aus, dass Sie dem verlinkten SSL-Lernprogramm gefolgt sind und dass sich Ihr Schlüssel und Ihr Zertifikat im Verzeichnis "+ / etc / apache2 / ssl " befinden und " apache.crt " und " apache.key +" heißen. Bitte ersetzen Sie diese durch die Pfade zu Ihrem eigenen Zertifikat und dem entsprechenden Schlüssel.

Jetzt müssen wir Apache mitteilen, wie das SSL-Zertifikat verwendet werden soll. Dazu müssen wir die Standard-SSL-Konfigurationsdatei ("+ default-ssl.conf ") mit unserer Baïkal-Konfigurationsdatei kombinieren und sie " dav_example_com-ssl.conf +" nennen. Unten sehen Sie ein Beispiel, wie das mit allen Kommentaren aussehen wird.

sudo nano /etc/apache2/sites-available/dav_example_com-ssl.conf
<IfModule mod_ssl.c>
   <VirtualHost _default_:443>
       ServerAdmin

       DocumentRoot /var/www//html
       ServerName

           RewriteEngine On
           RewriteRule /.well-known/carddav /card.php [R,L]
           RewriteRule /.well-known/caldav /cal.php [R,L]

       <Directory "/var/www//html">
           Options None
           Options +FollowSymlinks
           AllowOverride All
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined

       SSLEngine on

       SSLCertificateFile
       SSLCertificateKeyFile

       <FilesMatch "\.(cgi|shtml|phtml|php)$">
               SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
               SSLOptions +StdEnvVars
       </Directory>

       BrowserMatch "MSIE [2-6]" \
               nokeepalive ssl-unclean-shutdown \
               downgrade-1.0 force-response-1.0
       BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

   </VirtualHost>
</IfModule>

Wir sind auf der Zielgeraden. Wir haben die Site installiert und die entsprechenden Apache-Konfigurationen erstellt. Jetzt müssen wir Apache anweisen, das "+ rewrite +" - Modul zu aktivieren, die Sites zu aktivieren und schließlich neu zu starten, um die neuen Einstellungen zu laden.

sudo a2enmod rewrite
sudo a2ensite dav_example_com
sudo a2ensite dav_example_com-ssl
sudo service apache2 restart

Schritt 3 - Konfigurieren von Baïkal

Wir haben noch eine letzte Sache auf der Kommandozeile zu erledigen und der Rest kann in einem Webbrowser erledigt werden. Baïkal verwendet eine Datei mit dem Namen "+ ENABLE_INSTALL ", um den letzten Schritt der Installation zu ermöglichen. Vergewissern Sie sich vor dem Öffnen des Webbrowsers, dass diese Datei vorhanden ist. Wir werden " touch +" verwenden, um die Datei zu erstellen, wenn sie nicht vorhanden ist, und wenn sie bereits vorhanden ist, müssen wir nur das Änderungsdatum aktualisieren.

sudo touch /var/www//Specific/ENABLE_INSTALL

Das ist es! Wir sind bereit, einen Browser zu öffnen und das Setup von Baïkal abzuschließen. Navigieren Sie in Ihrem bevorzugten Browser zu "+ https: // dav.example.com +".

image: https: //assets.digitalocean.com/sync_baikal/1.png [Assistent zur Baïkal-Initialisierung]

Sobald Sie dort sind, wird ein Bildschirm mit Optionen angezeigt. Stellen Sie Ihre Zeitzone über das Dropdown-Menü ein, erstellen Sie ein neues Administratorkennwort (Sie müssen es zweimal eingeben) und belassen Sie alle anderen Einstellungen bei den Standardeinstellungen.

Klicken Sie auf die Schaltfläche * Änderungen speichern *.

Auf dem nächsten Bildschirm können Sie die Standardeinstellungen für SQLite auswählen oder die MySQL-Unterstützung aktivieren.

image: https: //assets.digitalocean.com/sync_baikal/2.png [Einrichten der Baïkal-Datenbank]

Wenn Sie sich für MySQL entschieden haben, können Sie diese Unterstützung aktivieren. (Durch die Verwendung von MySQL als Back-End wird dieses Tool leistungsfähiger und leistungsfähiger. Wenn dieser DAV-Server jedoch nur für Sie, Ihre Familie und Freunde oder ein kleines Unternehmen gedacht ist, sollte SQLite eine gute Lösung bieten.)

In diesem Beispiel lassen wir die SQLite-Standardeinstellungen aktiviert und klicken auch auf dieser Seite auf die Schaltfläche "Änderungen speichern".

Dann wird die Option angezeigt, * Baïkal zu verwenden *. Klicken Sie auf diese Schaltfläche.

Sie werden zur Startseite von Baïkal weitergeleitet.

_ _ * Hinweis: * Wenn anstelle Ihrer Baïkal-Website die Standard-Apache-Website angezeigt wird, müssen Sie die Standard-Apache-Website deaktivieren und Apache neu starten. Die Dinge sollten jetzt anfangen zu funktionieren.

sudo a2dissite 000-default.conf
sudo service apache2 reload

_ _

Schritt 4 - Benutzer anlegen

Nachdem Sie das erste Setup durchlaufen haben, müssen Sie nur noch einen Benutzer erstellen und dann die Clients verbinden, um die Synchronisierung zu starten.

Melden Sie sich zum Erstellen eines Benutzers auf der Baïkal-Website mit dem Benutzernamen * admin * und dem Kennwort an, das Sie im obigen Konfigurationsschritt festgelegt haben.

Die erste Seite der Anwendung ist das Dashboard. Es zeigt Ihnen, was aktiviert und ausgeführt wird und einige grundlegende Statistiken, wie die Anzahl der Benutzer, Kalender und Kontakte.

Das Erstellen eines Benutzers ist ein Drei-Klick-Vorgang.

  1. Klicken Sie oben auf der Seite auf den Link * Benutzer und Ressourcen *

  2. Klicken Sie nun auf die Schaltfläche rechts, * + Benutzer hinzufügen *

  3. Füllen Sie alle Felder aus und klicken Sie dann auf die Schaltfläche * Änderungen speichern *

Bild: https://assets.digitalocean.com/sync_baikal/4.png [Benutzerformular; fülle die Felder wie gewünscht aus]

_ * Hinweis: * Für die Formatierung des Benutzernamens gelten auf der Serverseite keine Anforderungen. Einige Clients können sich jedoch beschweren, wenn der Benutzername nicht wie eine E-Mail-Adresse aussieht, z. B .: [email protected] _

Fehlerbehebung

Wenn Sie auf Probleme stoßen, z. B. wenn Ihr Administratorkennwort nicht akzeptiert wird, können Sie einige Befehle ausführen, um die App zurückzusetzen und sie erneut einzurichten. Dazu müssen Sie SSH in Ihr Droplet zurücksetzen, um die folgenden Befehle auszuführen.

  • Tun Sie dies nur, wenn Sie den Server zurücksetzen möchten. *

cd /var/www//Specific/
sudo rm config*.php
sudo touch ENABLE_INSTALL

Jetzt können Sie zurück in den Webbrowser springen und den App-Setup-Assistenten erneut aufrufen. Hoffentlich funktioniert diesmal alles.

Fazit

Herzliche Glückwünsche! Sie haben einen CalDAV- und einen CardDAV-Synchronisierungsserver mit einem GUI-Bedienfeld installiert. An dieser Stelle können Sie Ihre Clients so konfigurieren, dass sie eine Verbindung zum Server herstellen. Verwenden Sie dabei "+ https: // +" als Hostnamen.