Let's Encrypt

Im nächsten Schritt ermöglichen Sie den Zugriff aus dem Internet und sichern die Verbindung zum Server über ein SSL-Zertifikat von Let's Encrypt [5]. Dazu müssen Sie in einem ersten Schritt die Ports 80 und 443 (HTTP/HTTPS) von Ihrem Router auf den Server weiterleiten. Zudem benötigen Sie eine IP-Adresse, unter der sich Ihr Heimnetz künftig erreichen lässt – in der Regel teilt Ihr Internetanbieter Ihrem Router bei jeder Einwahl eine neue Internet-IP-Adresse zu. Kostenlos und ohne Nervigkeiten (wie etwa ein zwingend erforderliches monatliches Einloggen in die Weboberfläche) übernimmt zum Beispiel der DynDNS-Service [6] diese Aufgabe.

Mit einer Fritzbox loggen Sie sich dafür unter http://fritz.box in die Routeroberfläche ein und öffnen dort das Menü unter Internet | Freigaben | Portfreigaben. Hier starten Sie mit einem Klick auf Neue Portfreigabe den entsprechenden Assistenten. Hier wählen Sie unter Portfreigabe aktiv für den Punkt Andere Anwendungen aus und tragen die entsprechenden Daten ein (Abbildung 1). Wiederholen Sie das Vorgehen nach dem Port 80 für den Port 443. Andere Router bieten zu diesem Vorgehen ähnliche Dialoge.

Abbildung 1: Für einen verschlüsselten Zugang zu Nextcloud müssen Sie die Ports 80 und 443 von Ihrem Router auf den zukünftigen Cloudserver weiterleiten.

Ebenfalls unter den Freigaben finden Sie in den Fritzbox-Settings den Reiter Dynamic DNS. Im zugehörigen Dialog übernehmen Sie die von Ihrem DynDNS-Anbieter genannten Einstellungen (Abbildung 2). Der im Beispiel genutzte Dienst Ddnss.de gibt konkrete Anweisungen für Fritzbox-Router von AVM. Üblicherweise lassen sich diese auch für andere Router in ähnlicher Form übernehmen. Für einen ersten Test rufen Sie anschließend die Testseite des frisch eingerichteten Webservers über die DynDNS-Adresse auf.

Abbildung 2: DynDNS-Anbieter wie der kostenlose DynDNS-Service verbinden eine statische Internet-Adresse mit der dynamischen Internet-IP Ihres Netzzugangs.

Funktioniert das, ergänzen Sie den Webserver um das Let's-Encrypt-Zertifikat. Installieren Sie dazu das noch fehlende Paket python-letsencrypt-apache, und 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 apt install python-letsencrypt-apache
$ sudo letsencrypt --apache
$ 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 übertragen den Inhalt von Listing 10 in diese. 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
@KE

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 php-apcu
$ sudo nano /var/www/nextcloud/config/config.php
$ sudo cat /var/www/nextcloud/config/config.php
[...]
  'installed' => true,
  'memcache.local' => '\OC\Memcache\APCu',
);

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2018: FLINKE BROWSER

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Suchprogramm
Heiko Taeuber, 17.01.2018 21:12, 0 Antworten
Hallo liebe Community, keine Ahnung ob dieses Thema hier schon einmal gepostet wurde. Ich hab...
Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 4 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 3 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...
Prozessor-Sicherheitslücke Meltdown und Spectre
Wimpy *, 06.01.2018 10:45, 2 Antworten
Ich habe heute ein Sicherheitsupdate "ucode-intel" für openSuse 42.3 erhalten. Ist damit das Prob...
LENOVO ideapad320 Touchpad Linux Mint 18
Peter Deppen, 23.12.2017 16:49, 3 Antworten
Hallo, bin Linux Anfänger und habe das Problem, dass das Touchpad auf dem LENOVO ideapad320 mit L...