10 KiB
NextCloud bringt ihnen eine erweiterte Funktionalität der Bereitstellung und Synchronisierung ihrer Daten für Mitarbeiter. NextCloud biete über Erweiterungen und Plug-Ins die Möglichkeit auch in anderen Teilen ihres Unternehmens Verbesserungen der Zusammenarbeit zu schaffen. Prinzipiell ist NextCloud aber ihre Private Cloud - Sie wissen, wo die Daten liegen und Sie wissen wer darauf zugreifen kann und darf.
Vorbereitungen
NextCloud benötigt ergänzend zu dem evtl. massiven Speicherplatzbedarf auch noch eine funktionierend SQL-Datenbank. Hierfür wird der reine Open-Source mySQL Ableger MariaDB empfohlen.
Installation Datenbank mit Webmanagement und weiterer benötigter Komponenten
sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-gd php-curl php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-redis redis-server php-ldap php-smbclient unzip phpmyadmin
Abfragen nach dem zu verwendenden Webserver: apache2
Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren
Passwort setzen
Im Anschluss muss die Datenbank noch gesichert werden um etwaigen Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt
sudo mysql_secure_installation
-
Abfrage des aktuellen Passwortes NICHTS EINGEBEN NUR BESTÄTIGEN
-
Soll ein Root-Passwort gesetzt werden? Y
-
Passwort eingeben und wiederholen
-
Soll der Anonyme User entfernt werden? Y
-
Remote-Login für Root deaktivieren? Y
-
test-Datenbank entfernen? Y
-
Änderungen übernehmen? Y
Jetzt muss einmalig in die SQL-Datenbank der Login für root über das Webinterface aktiviert werden:
sudo mysql -u root -p
use mysql;
update user set plugin='' where User='root';
flush privileges;
\q
Zugriff auf ihre Datebank per Webinterface:
Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „Nextcloud". /newpage
NextCloud installieren
NextCloud bietet derzeit keine externe Paketquellen an. Deshalb muss Nextcloud als Zip-Archiv heruntergeladen werden und im Anschluss passend entpackt werden.
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
sudo cp -r nextcloud /var/www/
sudo chown -R www-data:www-data /var/www/nextcloud/
Jetzt legen wir noch ein Separates Datenverzeichnis an. Dies bringt den Vorteil, dass dieses sich auch auf einer separaten Partition befinden kann.
sudo mkdir /srv/cloud
sudo chown www-data:www-data -R /srv/cloud
erstellen /etc/apache2/sites-available/nextcloud.conf mit Inhalt:
<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.hensel.dom
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<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
Satisfy Any
</Directory>
</VirtualHost>
Speichern und aktivieren mit
sudo a2ensite nextcloud
sudo a2dissite 000-default.conf
Aktivieren der benötigten Apache2-Module
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo a2enmod setenvif
sudo a2enmod ssl
sudo systemctl restart apache2
Nun können Sie per http auf den Webserver zugreifen http://nextcloud.hensel.dom
Hier legen Sie nun das Administrator-Konto ein, wobei natürlich Admin und ein schwaches Passwort hier Tabu sind.
Geben Sie als Datenverzeichnis das gerade angelegte Verzeichnis an und geben Sie die entsprechenden Daten die beim Anlagen der Datenbank gesetzt wurden ein.
Nach dem Klick auf Installation abschließen werden Sie auch schon ihr eigenes Datenverzeichnis befördert, wobei ihnen erst noch ein Hinweis angezeigt wird wie Sie Desktop- und Mobile-Apps nutzen können.
Wechseln Sie als nächstes in der rechten oberen Ecke in das Administrator-Menü.
Im oberen Bereich begrüßen Sie dabei gleich einige Konfigurationsfehler:
Wir nutzen noch kein SSL und keinen Cache.
Kümmern wir uns erst einmal um den Cache, wobei wir den Redis-Server bereits installiert haben. Somit muss nur noch die Nextcloud-Configuration angepasst werden:
sudo nano /var/www/nextcloud/config/config.php
Fügen Sie eine weitere Zeile vor der schließenden Klammer ein: ...
'dbtype' => 'mysql',
'version' => '12.0.0.29',
'dbname' => 'NextCloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'NextCloud',
'dbpassword' => 'passw0rd#',
'logtimezone' => 'UTC',
'installed' => true,
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
);
Laden Sie Sie Administrator-Seite neu -- Der Fehler sollte weg sein.
SSL-Zertifikat
Für die https / SSL Übertragung benötigen wir noch ein selbst-signiertes Zertifikat welches dem Browser übergeben werden kann.
sudo -s
openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/NextCloud.pem -keyout /etc/ssl/private/NextCloud.key
Konfiguration Apache für das SSL-Zertifikat
Konfiguration der Benötigten Module:
Bearbeiten der Datei /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
Redirect permanent / https://nextcloud.hensel.dom
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/NextCloud.pem
SSLCertificateKeyFile /etc/ssl/private/NextCloud.key
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.hensel.dom
ServerAlias www.nextcloud.hensel.dom
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<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
Satisfy Any
</Directory>
</VirtualHost>
</IfModule>
Aktivieren:
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2
Apache Neustarten und Fertig
CronJob für regelmäßige Aktualisierung der Datenbank
NextCloud aktualisiert bei jedem Zugriff auf das Webinterface die Datenbank, allerdings kostet dies wertvolle Sekunden bei einem „Wohlfühl-Interface" daher aktivieren Wir einen [CronJob](../basics/Automatisierung mit cron und systemd.md)
Die Aktion soll vom User www-data ausgeführt werden
sudo crontab -u www-data -e
nun können wir einen neuen Job einfügen:
*/15 * * * * php -f /var/www/nextcloud/cron.php
Wählen Sie nun im Administrations-Bereich von NextCloud bei Cron entsprechend auch cron aus.
Im Anschluss am besten einmal reboot
Optische Anpassung ans Firmenlayout
Nextcloud ermöglicht eine einfache Anpassung des Designs an Ihr Firmenlayout direkt über das Webinterface.
Wichtig: Dateinamen ohne Leerzeichen verwenden, Formate
.pngoder.jpg.
Design über Webinterface anpassen
- Melden Sie sich als Administrator in Nextcloud an.
- Klicken Sie oben rechts auf Benutzermenü → Administrationseinstellungen.
- Wählen Sie im linken Menü
Design. - Passen Sie folgende Elemente an:
- Name: Meisterwolke
- Slogan: Wir kennen die Festplatte mit Vornamen
- Primärfarbe: Primärfarbe: #70706B Hintergrundfarbe: #70706B
- Logo: Firmenlogo
- Hintergrund und Anmeldebild: Eingangsbereich
- Kopfbereichslogo: Firmenlogo
- Favicon: Favicon
LDAP
Konfiguration smb.conf bei einem Samba AD-DC
[global]
ldap server require strong auth = no
sudo systemctl restart samba-ad-dc
Im Anschluss daran suchen wir in den NextCloud-Apps nach dem LDAP user and group backend:
Aktivieren Sie die App und wechseln Sie wieder in den Administrationsbereich. Dort finden Sie einen neuen Bereich LDAP.
Die benötigten Informationen finden Sie in ihrer Serverkonfiguration. In diesem Beispiel:
- FQDN + Port des AD
- Nutzer,Gruppe,Domäne Dieser Account muss keine Admin-Rechte haben sollte aber eigener Account sein.
- Passwort
- Der Ort in der Domäne an der die User zu suchen sind
Welcher Typ soll abgefragt werden? Hier empfiehlt sich eine Separate Gruppe für Nutzer anzulegen welche NextCloud nutzen sollen. Klicken Sie am unteren Rand auf „Einstellungen prüfen und Benutzer zählen" um ihre Konfiguration zu überprüfen.
Hier definieren Sie mit welchen Möglichkeiten sich der Nutzer Authentifizieren kann. Wählen Sie die sAMAccountName aus, um dem Nutzer zu ermöglichen Sich direkt mit seinem Windows-Login anzumelden.
Hier definieren Sie welche Gruppen ihres Servers in NextCloud übernommen werden sollen um ihre Nutzer auch in NextCloud passend sortieren zu können und auch Gruppenspezifische Externe Laufwerke einzubinden.
In der Benutzerübersicht sollen alle Nutzer mit ihrem Benutzernamen und nicht mit der UUID angezeigt werden. Somit ist es auch für die Nutzer einfacher, sich gegenseitig zu finden.
Inhaltsverzeichnis
[TOC]






