Seafile Online bringen und SSL-Zertifikat erstellen

Umstellen auf HTTPS – signiertes SSL-Zertifikat

Dies ist nur nötig wenn ihr den Seafile Server unterwegs erreichen wollt. Dazu muss man vorab eine DynDNS Adresse erstellen, zum Beispiel bei noip.com oder spdyn.de. Das müsst ihr dann entsprechend in eurem Router einpflegen und Ports für den Raspberry Pi freigeben. Benötigt wird folgender Port:
1. 80 (für die Installation), kann nachdem auf https umgestellt ist, gelöscht werden
2. 443
Anschließend geht es am Raspberry Pi, als Standardbenutzer, weiter:


sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --authenticator standalone --installer nginx -d <domain> --pre-hook "service nginx stop" --post-hook "service nginx start"
sudo systemctl restart seafile seahub

Als nächstes noch die Konfiguration von nginx anpassen. Also öffnen wir die seafile.conf und ersetzen den Inhalt mit untigem. Alternativ kann man auch vorab einfach die Datei löschen mit sudo rm /etc/nginx/sites-available/seafile.conf, da diese mit nano neu eingelegt werden würde:

sudo nano /etc/nginx/sites-available/seafile.conf
server {
    listen       80;
    server_name  _;
    rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https

    # Enables or disables emitting nginx version on error pages and in the "Server" response header field.
    server_tokens off;
}

server {
    listen 443;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/deindnsname/fullchain.pem;  # path to your cacert.pem
    ssl_certificate_key /etc/letsencrypt/live/deindnsname/privkey.pem;    # path to your privkey.pem
    server_name _;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
         proxy_pass         http://127.0.0.1:8000;
         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-Host $server_name;
         proxy_read_timeout  1200s;
         proxy_set_header   X-Forwarded-Proto https;


         # used for view/edit office file via Office Online Server
         client_max_body_size 0;

         access_log      /var/log/nginx/seahub.access.log;
         error_log       /var/log/nginx/seahub.error.log;
    }

        location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;

        send_timeout  36000s;
    }
        location /media {
        root /home/seafile/seafile-server-latest/seahub;
    }
}
sudo nginx -t
sudo nginx -s reload

Ich habe die Dateiinhalte von manual.seafile.com bereits an unsere Bedürfnisse angepasst. Das Zertifikat ist sogar signiert und ihr habt ein grünes Schloss in der Adressleiste.

Zu guter Letzt noch die ccnet.conf und seahub_settings.py abwandeln:

sudo su seafile
cd
cd conf
nano ccnet.conf

Die Service_URL abändern:

SERVICE_URL = https://euredomain

In seahub_settings.py die File Server Root anpassen:

nano seahub_settings.py
FILE_SERVER_ROOT = 'https://euredomain/seafhttp'

Natürlich jeweils speichern und schließen. Seafile Nutzer verlassen und Seafile einmal neustarten. Das war’s dann auch schon.

Viel Spaß mit eurer eigenen privaten Cloud. Versucht mal die Seafile App fürs Smartphone mit automatischem Fotoupload.
Ich freue mich auf Unterstützung: PayPalMe

Wenn ihr Fragen oder Anregungen habt, könnt ihr gerne ein Kommentar hinterlassen.

Loading comments...