Danach erstellen Sie dann das Zertifikat (Listing 4). Die URL entspricht der zuvor erstellten DynDNS-Adresse. Die Frage nach dem Modus bewirkt, dass der Webserver automatisch alle Anfragen über das verschlüsselte HTTPS-Protokoll leitet (Secure) oder der Nutzer explizit die HTTPS-Adresse aufrufen müsste (Easy). Zur eigenen Sicherheit sollten Sie sich für die Secure-Methode entscheiden (Abbildung 3). Mit dem Schalter renew --dry-run --agree-tos überprüfen Sie dann, ob sich das nur 30 Tage gültige Zertifikat ordentlich aktualisieren lässt.
Listing 4
$ sudo letsencrypt --apache -d home.beispiel.com $ sudo letsencrypt renew --dry-run --agree-tos

Abbildung 3: Für optimale Sicherheit lassen Sie Let’s Encrypt den Webserver so konfigurieren, dass er sämtliche Verbindungen über HTTPS leitet.
Damit Let’s Encrypt das Zertifikat automatisch erneuert, richten Sie nun noch einen Systemd-Timer ein. Im Verzeichnis /etc/systemd/system erstellen Sie dazu entsprechend der ersten zwei Kommandos aus Listing 5 die Dateien letsencrypt.service und letsencrypt.timer, deren Inhalte Sie aus Listing 6 und Listing 7 übernehmen. Den Editor Nano beenden Sie mit [Strg]+[O],[Eingabe] und [Strg]+[X]. Der Dienst übernimmt die Aufgabe, das Zertifikat zu erneuern. Danach veranlasst er den Webserver, seine Einstellungen neu zu laden und damit ein gegebenenfalls erneuertes Zertifikat zu übernehmen. Die Timer-Unit führt den Let’s-Encrypt-Dienst dann einmal am Tag automatisch aus.
Listing 5
$ sudo nano /etc/systemd/system/letsencrypt.service $ sudo nano /etc/systemd/system/letsencrypt.timer $ sudo systemctl enable letsencrypt.timer $ systemctl list-timers --all | grep letsencrypt Mi 2016-06-22 00:00:00 CEST 12h left n/a n/a letsencrypt.timer letsencrypt.service
Listing 6
[Unit] Description=Let's Encrypt renewal service [Service] Type=oneshot ExecStart=/usr/bin/letsencrypt renew ExecStartPost=/bin/systemctl reload apache2
Listing 7
[Unit] Description=Daily renewal timer of Let's Encrypt's certificates [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
Nextcloud
Nextcloud erhalten Sie nun in Form eines Tarballs [7] oder ZIP-Archivs. Entpacken Sie die Datei ins Wurzelverzeichnis des Webservers (/var/www/), und übertragen Sie dem System-User www-data die Rechte an den Daten unter /var/www/nextcloud/ (Listing 8).
Listing 8
$ wget https://download.nextcloud.com/server/releases/nextcloud-Version.tar.bz2 $ sudo tar xf nextcloud*.bz2 -C /var/www $ sudo chown -R www-data.www-data /var/www/nextcloud
Damit der Apache-Webserver die Daten nutzt, richten Sie danach einen virtuellen Host ein. Erstellen Sie dazu im Verzeichnis /etc/apache2/sites-available/ die Konfigurationsdatei nextcloud.conf (Listing 9), und befüllen Sie sie mit dem Inhalt von Listing 10. Die Änderung speichern Sie wieder über [Strg]+[O],[Eingabe] ab und verlassen Nano über [Strg]+[X]. Danach aktivieren Sie den V-Host und laden abermals die Konfiguration des Webservers neu. Sie müssten nun Ihre Nextcloud-Installation unter http://<i>Beispiel<i>.ddnss.de/nextcloud im Browser erreichen (Abbildung 4).
Listing 9
$ sudo nano /etc/apache2/sites-available/nextcloud.conf $ sudo a2ensite nextcloud $ sudo service apache2 reload
Listing 10
Alias /nextcloud "/var/www/nextcloud/" <Directory /var/www/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory>

Abbildung 4: Nach der Installation müssen Sie im Konfigurationsassistenten von Nextcloud noch den Zugang zum Datenbankserver einrichten.
Im Assistenten geben Sie nun die Zugangsdaten für den ersten administrativen Nutzer ein und weiter unten die (während der Installation des LAMP-Stacks vergebenen) Daten des MariaDB-Servers. In der Beispielkonfiguration wäre dies nextcloud als Datenbankbenutzer und Datenbankname, localhost für den Datenbank-Host sowie das bei der Konfiguration festgelegte Password für den Nextcloud-User der Datenbank.
Mit einem Klick auf Installation abschließen übertragen Sie diese Einstellungen in die Konfiguration. Der Browser leitet Sie danach automatisch auf den Startbildschirm von Nextcloud weiter (Abbildung 5). Für den Einstieg sollten Sie aus dem Ausklappmenü unter dem Benutzernamen die Einstellung Administrator öffnen. So sehen Sie auch etwaige Probleme in der aktuellen Konfiguration des Webservers.

Abbildung 5: Noch unterscheidet sich die Weboberfläche des Owncloud-Forks kaum vom “Original”. Das System ist sofort nach der Installation einsatzbereit.
Optimieren
Owncloud empfiehlt, einen PHP-Cache einzurichten, sodass diverse leistungshungrige Anweisungen des Programms nicht immer wieder neu ausgeführt werden müssen [11]. Dieser Hinweis gilt auch für Nextcloud: Installieren Sie für den Cache das Paket php-apcu aus der Paketverwaltung, und tragen Sie dann in die Konfigurationsdatei config.php unter /var/www/nextcloud/config/ die Anweisung 'memcache.local' => '\OC\Memcache\APC', als neue Zeile vor dem abschließenden ); ein (Listing 11). Nextcloud übernimmt die Änderung an der Konfiguration automatisch beim nächsten Aufruf der Seite.
Listing 11
$ sudo apt install php5-apcu $ sudo nano /var/www/nextcloud/config/config.php $ sudo cat /var/www/nextcloud/config/config.php [...] 'installed' => true, 'memcache.local' => '\OC\Memcache\APCu', );
Clients
Um auf Ihre Nextcloud-Installation zuzugreifen, müssen Sie nicht unbedingt einen Webbrowser öffnen. Netzwerkfähige Dateimanager wie Files (ehemals Nautilus) aus Gnome oder das KDE-Pendant Dolphin können über WebDAV die Cloud-Speicher ohne weitere Programme öffnen. Dazu geben Sie etwa in Files davs://beispiel.ddnss.de/nextcloud/remote.php/webdav als URL in die per [Strg]+[L] geöffnete Adresszeile ein. In Dolphin ersetzen Sie die Angabe des Protokolls am Anfang der URL mit webbdavs://[...].

