In dieser Anleitung beschreiben wir, wie Sie oCIS, Nachfolger der in die Jahre gekommenen ownCloud-Software, zu Testzwecken bspw. parallel zu einer Nextcloud oder ownCloud Instanz in Betrieb nehmen und testen können. Dabei nutzen wir den Webserver nginx als Reverse Proxy für ocis.
Hersteller: https://owncloud.dev/ocis/
Download: https://download.owncloud.com/ocis/ocis/stable/
Stand: 28. August 2024
Wechseln Sie in den privilegierten Benutzermodus
sudo -s
cd /usr/bin
wget -O ocis https://download.owncloud.com/ocis/ocis/stable/5.0.6/ocis-5.0.6-linux-amd64
chmod +x /usr/bin/ocis
Testen Sie in der Kommandozeile durch Aufruf von
ocis help
die Funktionalität der oCIS Binaries. Ist der Test erfolgreich, so erstllen wir den oCIS-Service.
nano /etc/systemd/system/ocis.service
Fügen Sie den gesamten Inhalt in die Datei:
[Unit]
Description=OCIS server
[Service]
Type=simple
User=root
Group=root
EnvironmentFile=/etc/ocis/ocis.env
ExecStart=ocis server
Restart=always
[Install]
WantedBy=multi-user.target
Erstellen Sie nun das im Service genutzte Verzeichnis sowie das oCIS-Datenverzeichnis:
mkdir -p /etc/ocis /ocis-data
sowie die „Environment“-Datei:
nano /etc/ocis/ocis.env
Fügen Sie die nachfolgenden Zeilen in die neue Datei ein und passen dabei Ihre Domain, ggf. den Port und das Datenverzeichnis an:
OCIS_URL=https://ocis.domain.de
PROXY_HTTP_ADDR=127.0.0.1:9200
OCIS_INSECURE=false
OCIS_LOG_LEVEL=error
OCIS_CONFIG_DIR=/etc/ocis
OCIS_BASE_DATA_PATH=/ocis-data
Initialisieren Sie nun oCIS:
ocis init --config-path /etc/ocis
und notieren sich die Anmeldedaten. Aktivieren Sie nun den oCIS-Service, um sich erstmalig an oCIS anzumelden:
systemctl enable --now ocis
Erweitern Sie den Webserver um einen vHost für oCIS:
cd /etc/nginx/conf.d/
Erstellen Sie die vHost-Datei
nano ocis.conf
und fügen den folgenden Inhalt hinzu:
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name ocis.domain.de;
ssl_certificate /etc/letsencrypt/rsa-certs/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/rsa-certs/privkey.pem;
ssl_certificate /etc/letsencrypt/ecc-certs/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/ecc-certs/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/ecc-certs/chain.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers 'TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384';
ssl_ecdh_curve X448:secp521r1:secp384r1;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
client_max_body_size 10G;
client_body_timeout 3600s;
client_body_buffer_size 512k;
fastcgi_buffers 64 4K;
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml text/javascript application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
add_header Permissions-Policy "interest-cohort=()";
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always;
fastcgi_hide_header X-Powered-By;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://127.0.0.1:9200;
}
}
Starten Sie den Webserver neu, um auf oCIS per Browser zugreifen zu können.
systemctl restart nginx.service
Melden Sie sich nun im Browser an oCIS an:
In den administrativen Einstellungen, diese verstecken sich hinter dem Würfel oben links, zeigt sich oCIS wie folgt:
Der zentrale persönliche Bereich von oCIS spiegelt Dateien und Ordner (Persönlich), Freigaben, Spaces und den Papierkorb wider:
Die Installation Ihrer oCIS-Instanz wurde erfolgreich abgeschlossen und so wünsche ich Ihnen viel Spaß mit Ihren Daten in Ihrer privaten oCIS-Instanz. Über Ihre Unterstützung (diese wird ordnungsgemäß versteuert!) würden sich meine Frau, meine Zwillinge und ich sehr freuen!