Seite 1 von 1

Nexcloud einrichten

Verfasst: So 23. Dez 2018, 14:39
von Jet0JLH
Vorab: Das Tutorial setzt auf eine sehr abgesicherte Cloudlösung. Wer bestimmte Sicherheiteinstellungen so nicht übernehmen möchte oder es anders implementieren möchte, sollte sich im klaren sein, dass seine Daten eventuell öffentlich zugänglich in der Cloud liegen.
Als Grundlage hierfür gehe ich von einem Apache2 Webserver mit php7.2, einer Mysql/MariaDB Datenbank und dem passenden mysql Connector aus. Wenn noch nicht vorhanden, dann den Server auf den aktuellen Stand bringen und wie folgt installieren:

Code: Alles auswählen

apt update
apt upgrade
apt install apache2 libapache2-mod-php7.2 mysql-server php7.2-mysql
Nun richten wir für unsere Cloud ein Verzeichnis auf dem Server ein, laden uns die neuste Version der Nextcloud und sichern diese mit den passenden Rechten ab. Ich verwende hier gerne den /srv Pfad:

Code: Alles auswählen

cd /srv
wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip #Bitte nach aktuellem Pfad suchen https://nextcloud.com/install/
unzip nextcloud-15.0.0.zip
rm nextcloud-15.0.0.zip
chown -R www-data:www-data ./nextcloud
chmod -R 770 ./nextcloud
Nun geht es daran, dem Apache mitzuteilen, dass dieser auch auf /srv oder wer will nur auf /srv/nextcloud zugreifen darf.
Hierzu wird die Datei /etc/apache2/apache2.conf bearbeitet. Standardmäßig gibt es bereits den benötigten Eintrag in dieser Datei und muss daher nur noch einkommentiert und leicht angepasst werden:

Code: Alles auswählen

<Directory /srv/nextcloud>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
</Directory>
Nun müssen wir Apache nur noch mitteilen, was zutun ist, wenn jemand auf unsere Cloud zugreifen will.
Hierzu gibt es zwei unterscheidungen. Daher nur bei einem der Punkt weitermachen. Was ich als zwingen notwendig erachte ist, dass die Cloud nur verschlüsselt erreichbar ist. Daher wird nur das gezeigt.
1. Keine Domäne vorhanden
Da keine Domäne vorhanden ist, können wir nicht per Subdomäne die Cloud zur Verfügung stellen. Daher wird nur die Seite zur Verfügung gestellt. Man könnte aber über andere Ports mehrere Seiten zur Verfügung stellen. Hierzu muss aber der entsprechende Port noch in der Apache Konfiguration bekannt gemacht werden. Ich gehe aber davon aus, dass der Apache sonst nichts eingertichtet ist und bisher keine Anpassungen gemacht wurden!
Als erstes muss ein selbstausgestelltes Zertifikat ausgestellt werden: Zum Tutorial
Nun leeren wir die Datei /etc/apache2/sites-available/000-default.conf und fügen folgenden Inhalt ein:

Code: Alles auswählen

<VirtualHost *:80>
	DocumentRoot "/srv/nextcloud"
	<IfModule mod_rewrite.c>
		RewriteEngine On
		RewriteCond %{HTTPS} off
		RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
	</IfModule>
</VirtualHost>
<IfModule mod_ssl.c>
	<VirtualHost *:443>
		DocumentRoot "/srv/nextcloud"
		SSLEngine on
		SSLCertificateFile <path>/server.crt
		SSLCertificateChainFile <path>/server.csr
		SSLCertificateKeyFile <path>/server.key
	</VirtualHost>
</IfModule>
2. Eine Domäne ist vorhanden
Zuerst erstellen wir für unsere Cloud eine neue Konfigurationsdatei für den Apache Server z.B. /etc/apache2/sites-available/nextcloud.conf und fügen dort folgenden einfachen Inhalt ein:

Code: Alles auswählen

<VirtualHost *:80>
        ServerName nextcloud.domainname.de
        DocumentRoot "/srv/nextcloud"
</VirtualHost>
Nun erstellen wir uns für unsere Domäne und der gewünschten Subdomäne bei Let's Encrypt ein Zertifikat und lassen den Apache automatisch konfigurieren: Tutorial folgt noch

Hier geht es dann wieder für alle weiter
Nun aktivieren wir noch die benötigent Module wie folgt und aktivieren die neue Konfiguration:

Code: Alles auswählen

a2enmod ssl rewrite
service apache2 restart
Bevor es nun auf der Website selber weiter geht muss noch kurz eine neue Datenbank angelegt werden und am Besten noch ein seperater Benutzer der nur auf diese Datenbank zugreifen darf. Tutorial folgt vielleicht

Die restliche Konfiguration wird nun auf der Website durchgeführt. Die benötigten Angaben sind selbstsprechend. Hierzu wird meiner Meinung nach kein Tutorial benötigt.