Dies ist eine alte Version des Dokuments!
Kostenlose Cloud Lösung https://nextcloud.com/. Auch als Docker Image. Siehe hier.
Siehe auch OpenStack.
Um den Hostname post-install anzupassen in die config.php den Parameter „overwritehost“ hinzufügen.
docker run -dit -p 80:80 nextcloud
Ubuntu 16.04
apt install apache2 apt install php7.0 libapache2-mod-php7.0 php7.0-intl php7.0-gd php7.0-json php7.0-mysql php7.0-common php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xml php-imagick php7.0-zip apt install mysql-server
MySQL starten und als root einloggen.
CREATE DATABASE nextcloud; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'P@$$W0RD'; FLUSH PRIVILEGES; exit;
Install nextcloud
cd /var/www wget https://download.nextcloud.com/server/releases/latest-14.zip unzip latest-14.zip rm html mv nextcloud html chown -R www-data:www-data html rm latest-14.zip
Modify /etc/apache2/sites-available/default-ssl.conf
.
<VirtualHost *:80> ServerAdmin admin@domain.com DocumentRoot /var/www/html ServerName localhost ServerAlias domain.com <Directory /var/www/html/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory>
Mods aktivieren
a2enmod rewrite headers env dir mime
Apache neu starten und Webinterface aufrufen.
server { listen 443 ssl http2; server_name cloud.domain.local; # SSL-Zertifikate ssl_certificate /certs/certnew.pem; # Dein Kombizertifikat (Server + CA) ssl_certificate_key /certs/server.key; # Dein privater Schlüssel # SSL-Optimierung ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; add_header Content-Security-Policy "form-action 'self' https://cloud.domain.local;"; # HSTS - Nur aktivieren, wenn HTTPS funktioniert! add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # Proxy für Nextcloud (läuft lokal auf 8080) location / { proxy_pass http://localhost:8080; # Hier wird der lokale Nextcloud-Server angesprochen proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port 443; proxy_set_header X-Forwarded-Ssl on; } # Weiterleitung von WebSockets für Nextcloud location ~ ^/nextcloud/(.*\.php|.*\.js|.*\.css|.*\.html|.*\.json|.*\.woff|.*\.svg|.*\.ttf|.*\.woff2)$ { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port 443; proxy_set_header X-Forwarded-Ssl on; } # Zugriffssteuerung (Standard-Dateien blockieren) location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } } # HTTP auf HTTPS weiterleiten server { listen 80; server_name cloud.domain.local; return 301 https://$host$request_uri; }
Um die Berechtigungen an Dateien zu übertragen kann man occ benutzen.
php occ files:transfer-ownership User1 User2