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.
-
Frisches Ubuntu 14.04-Droplet mit https://www.digitalocean.com/community/tutorials/Wie-zum-Verbinden-von-Ihrem- Droplet-mit-ssh-AnpassungenSSH-Zugriff]
-
Ein sudo user
-
Die Baïkal-Anweisungen empfehlen dringend, eine Domain, vorzugsweise eine Subdomain, für den Server zu haben. In diesem Tutorial wird der Domainname "+ dav.example.com " verwendet. Sie können `+` verwenden. Wenn Sie Ihr DNS mit Digital Ocean hosten, this article kann Ihnen beim Einrichten dieser Unterdomäne helfen
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.
image: https://assets.digitalocean.com/sync_baikal/3.png [Baïkal verwenden]
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.
-
Klicken Sie oben auf der Seite auf den Link * Benutzer und Ressourcen *
-
Klicken Sie nun auf die Schaltfläche rechts, * + Benutzer hinzufügen *
-
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.