- 19 Jul 2024
- 2 Minutes to read
- Contributors
- Print
- DarkLight
Net.de
- Updated on 19 Jul 2024
- 2 Minutes to read
- Contributors
- Print
- DarkLight
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 |
ext4 |
mkfs.ext4 /dev/sdb1 |
nano /etc/fstab |
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