Net.de
  • 19 Jul 2024
  • 2 Minutes to read
  • Contributors
  • Dark
    Light

Net.de

  • Dark
    Light

The content is currently unavailable in English. You are viewing the default German version.
Article summary

Nextcloud

Der Zugriff auf den Nextcloud-Server erfolgt mit SSH oder über die ESX-Console vom HaBAK01.

Systemkonfiguration

Für die Nextclouddienste wird ein neuer Nutzer "nexcloud" erstellt

useradd nextcloud

Die Festplatte für die Daten muss partitioniert sein und permanent eingehängt sein: parted /dev/sdb (oder sdc etc.)

mklabel gpt
mkpart

ext4
0%
100%
quit

mkfs.ext4 /dev/sdb1

nano /etc/fstab
/dev/disk/by-uuid/23e36794-5ae0-490a-948e-d779db934ea8 /mnt/nextcloud-data ext4 defaults 0 0

Die Nextcloudinstallation wird über das CLI durchgeführt. Die Anleitung steht unter: https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html

Installation von Webserver, MariaDB und PHP

sudo apt update

sudo apt install apache2 mariadb-server libapache2-mod-php7.4

sudo apt install php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl

sudo apt install php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip php-ldap

sudo apt install libmagickcore-6.q16-6-extra

nano /etc/mysql/mariadb.conf.d/50-server.cnf

datadir = /mnt/nextcloud-data/mysql

mysql_install_db --user=mysql

Start und Konfiguration SQL Datenbank

sudo /etc/init.d/mysql start

sudo mysql -uroot -p

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';

CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

FLUSH PRIVILEGES;

quit;

Das Nextcloudarchiv muss von https://nextcloud.com/install/#instructions-server heruntergeladen und auf dem Ordner in das Zielverzeichnis (/var/www/html/) entpackt werden.

unzip nextcloud-x.y.z.zip

cp nextcloud /var/www/html/nextcloud -r

Apache2 Konfiguration

nano /etc/apache2/sites-available/nextcloud.conf

<VirtualHost *:80>

DocumentRoot /var/www/html/nextcloud/

ServerName cloud.nsi-hsvn.de

Redirect permanent / https://cloud.nsi-hsvn.de/

</VirtualHost>

NameVirtualHost *:443

<VirtualHost *:443>

SSLEngine on

SSLCertificateFile /etc/ssl/wildcard.nsi-hsvn.de.crt

SSLCertificateKeyFile /etc/ssl/wildcard.nsi-hsvn.de.key

DocumentRoot /var/www/html/nextcloud/

ServerName 10.50.10.244

ServerName cloud.nsi-hsvn.de

<Directory /var/www/html/nextcloud/>

Require all granted

AllowOverride All

Options FollowSymLinks MultiViews

<IfModule mod_headers.c>

Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"

</IfModule>

<IfModule mod_dav.c>

Dav off

</IfModule>

</Directory>

</VirtualHost>

a2ensite nextcloud.conf

systemctl reload apache2

a2enmod rewrite

systemctl restart apache2

a2enmod ssl

a2ensite default-ssl

service apache2 reload#

PHP Konfiguration

sudo -u www-data php /var/www/html/nextcloud/updater/updater.phar

touch /var/www/html/nextcloud/config/config.php

nano /var/www/html/nextcloud/config/config.php

<?php

$CONFIG = array (

'datadirectory' => '/mnt/nextcloud-data/data',

'dbtype' => 'mysql',

'dbuser' => 'nextcloud',

'dbpassword' => 'password'

'default_language' => 'de',

'default_locale' => 'de',

'default_phone_region' => 'DE',

'defaultapp' => 'files,dashboard',

);

Caching Installation Memchache

apt-get install memcached php-memcached php-apcu

Cachingeinstellungen für die Nextcloud

nano /var/www/html/nextcloud/config/config.php

'memcache.local' => '\OC\Memcache\APCu',

'memcache.distributed' => '\OC\Memcache\Memcached',

'memcached_servers' => [

[ 'localhost', 11211 ],

],

Konfiguration von APCu für PHP

apc.enabled=1

apc.file_update_protection=2

apc.optimization=0

apc.shm_size=256M

apc.include_once_override=0

apc.shm_segments=1

apc.ttl=7200

apc.user_ttl=7200

apc.gc_ttl=3600

apc.num_files_hint=1024

apc.enable_cli=0

apc.max_file_size=5M

apc.cache_by_default=1

apc.use_request_time=1

apc.slam_defense=0

;apc.mmap_file_mask=/tmp/apc/apc.XXXXXX

apc.stat_ctime=0

apc.canonicalize=1

apc.write_lock=1

apc.report_autofilter=0

apc.rfc1867=0

apc.rfc1867_prefix =upload_

apc.rfc1867_name=APC_UPLOAD_PROGRESS

apc.rfc1867_freq=0

apc.rfc1867_ttl=3600

apc.lazy_classes=0

apc.lazy_functions=0

Standardmäßig werden von der nextcloud vordefinierte Dateien bereitgestellt. Um diese Daten zu beeinflussen, wird ein Ordner erstellt und in der Konfiguration angegeben.

mkdir /mnt/nextcloud-data/nextcloud_defaultfiles

cp /var/www/html/nextcloud/core/skeleton/Nextcloud Manual.pdf /mnt/nextcloud-data/nextcloud_defaultfiles/Nextcloud_Manual.pdf

chown -R www-data:www-data /mnt/nextcloud-data/nextcloud_defaultfiles/Nextcloud_Manual.pdf

nano /var/www/html/nextcloud/config/config.php

'skeletondirectory' => '/mnt/nextcloud-data/nextcloud_defaultfiles',

Um die Konfiguration abzuschließen, muss die Webseite cloud.nsi-hsvn.de geöffnet werden. Im ersten Schritt werden Zugangsdaten für den Cloudadministrator erstellt und der Datenpfad und die Zugangsdaten für die erstellte nextcloud Datenbank eingegeben werden.

LDAP-Konfiguration

https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html

Für die LDAP Konfiguration muss über die den Administrator auf der Webseite die APP (+ APPs) 'LDAP user and group backend' aktiviert werden. Im Anschluss kann über die Einstellungen der LADP Zugriff konfiguriert werden. Der LDAP Zugriff ist nur für Nutzer der Gruppe Cloudspeicher konfiguriert. Es werden alle Gruppen mit der Nextcloud synchronisiert die mit Cloudspeicher beginnen.

Server-Tab:
ldap://10.10.10.241:389
CN=Service-Nextcloud,OU=System Ordner,DC=nsi-han,DC=intern
DC=nsi-han,DC=intern

LDAP-Benutzer:
(&(objectClass=user)(memberOf=CN=Cloudspeicher,OU=System Ordner,DC=nsi-han,DC=intern))

LDAP-Anmeldung:
(sAMAccountName=%uid)

LDAP-Gruppen: (&(objectClass=group)(CN=Cloudspeicher*))


E-Mail-Server
Damit vom System E-Mails versendet werden können, wird über die Webschnittstelle als Mail-Server das Mail-Relay des HaBAK01 eingetragen. Die E-Mailadresse wurde als Alias ins IT-Postfach eingetragen, es ist nicht ersichtlich, dass die E-Mails an cloud@nsi-hsvn.de und nicht an IT@nsi-hsvn.de gesendet werden.

Sendemodus: SMTP
Verschlüsselung: Keine
Absendeadresse: cloud@nsi-hsvn.de
Authentifizierungsmethode: Keine
Serveradresse: 10.40.10.240:25

Sicherheit Standardmäßig ist ein Brute-force-Schutz aktiviert. Bei zu vielen falschen Anmeldeversuchen von einer IP wird die Anmeldung für einige Zeit verzögert. Damit die Anmeldung aus dem NSI durchgängig möglich ist, wurde für die öffentliche IP des NSIs dieser Schutz deaktiviert.

Webserver neustarten

systemctl restart apache2,

Wichtige Verzeichnisse und Dateien

Nextcloudwebseite: /var/www/html/nextcloud

Nextcloudconfiguration: /var/www/html/nextcloud/config/config.php

Nextcloudlog: /mnt/nextcloud-data/data/nextcloud.log

Nextclouddata: /mnt/nextcloud-data/data

Apache2-Nextcloud-Webserver: /etc/apache2/sites-available/nextcloud.conf

Apache2-Konfiguration: /etc/apache2/apache2.conf

Apache2-Accesslog: /var/log/apache2/access.log

Apache2-Errorlog: /var/log/apache2/error.log

PHP-Konfiguration: /etc/php/7.4/apache2/php.ini

MySQL-Konfigurationsdatei: /etc/mysql/mariadb.conf.d/50-server.cnf

MySQL-Datenbank: /mnt/nextcloud-data/mysql

MySQL-Errorlog: /var/log/mysql/error.log


Was this article helpful?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.