Seafile unter FreeBSD installieren

Seafile ist ein Cloud-Dienst und bietet ähnliche Funktionen wie z. B. Dropbox, OneDrive oder Google Drive.

Anbei eine kurze Beschreibung wie man den Seafile unter FreeBSD installiert. Als Erstes werden folgende Pakete Seafile Server, Seahub und ccnet Server per Poudriere gebaut.

Anschließend werden die Pakete mit pkg install seafile-server seahub ccnet-server installiert. Dannach werden folgende Befehle ausgeführt.

mkdir /usr/local/www/haiwen/pids
mkdir /usr/local/www/haiwen/logs

Um eine neue Konfiguration zu erstellen wird der folgende Befehl cd /usr/local/www/haiwen/seafile-server ausgeführt, um Seafile mit MySQL zu konfigurieren wird dieser Befehl ./setup-seafile-mysql.sh ausgeführt.

Nachdem die neue Konfiguration erstellt ist, wird der folgende Befehl /usr/local/www/haiwen/seafile-server/reset-admin.sh ausgeführt, um einen Admin zu erstellen.

Damit Seafile beim Start automatisch läuft wird, in /etc/rc.conf folgende Anweisungen eingetragen:

service seafile enable
service seahub enable

In der /etc/hosts wird der folgende Hostname eingetragen: 127.0.0.1 cloud.<domain>

Als Reverseproxy wird der NGINX benutzt. Damit Seafile unter NGINX läuft, wird unter /usr/local/etc/nginx/vhosts/ folgende Datei unter dem Namen seafile.conf mit diesem Inhalt angelegt:

server {
    server_name cloud.<domain>;

    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;

         # 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 /usr/local/www/haiwen/seafile-server-latest/seahub;
    }
}

Update

Nach einem Minor oder Major Update müssen in dem Verzeichnis /usr/local/www/haiwen/seafile-server/upgrade die entsprechenden Befehle ausgeführt werden.

Seafile Desktop Client

Um den Seafile Sync-Client zu benutzen werden folgende Pakete Seafile GUI und Seafile Client per Poudriere gebaut.

Anschließend kann der Client per pkg install seafile-gui seafile-client installiert werden.