Seafile Migration

7 02 2015

HowTo Migrate

Beim Umziehen einer seafile Instanz auf einen neuen Server gibt es an ein paar Stellen einiges zu beachten. Der hier beschriebene Weg dient ebenfalls einem Recovery aus einem Backup. ACHTUNG keine vollständige Anleitung zur Erstinstallation

Backup der Daten

Es müssen die Datenbanken gesichert werden und das Verzeichniss. Falls das Datenverzeichnis nicht im Default liegt dieses natürlich auch. Vor dem Backup ist die Anwendung zu stoppen.

Datenbank

# !/bin/bash
mysqldump -h localhost -u root -p ccnet-db > ccnet-db.sql
mysqldump -h localhost -u root -p seafile-db > seafile-db.sql
mysqldump -h localhost -u root -p seahub-db > seahub-db.sql

Daten

cd /var/lib/
tar cfvz seafbak.tar.gz seafile

Recovery der Daten

Erstellen des MySql-Users und der Datenbanken. Hiebei ist darauf zu achten das die Datenbanknamen Sonderzeichen enthalten (`db-@name`). root@maximegalon:~/sea# mysql -p
Enter password:
[...]
mysql> CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'seafile';
mysql> create `ccnet-db`;
mysql> create `seafile-db`;
mysql> create `seafile-db`;
mysql> exit
Datenbankdumps einspielen: #!/bin/bash
mysql -u root -p seahub-db < seahub-db.sql
mysql -u root -p ccnet-db < ccnet-db.sql
mysql -u root -p seafile-db < seafile-db.sql
Danach müssen die Berechtigungen neu gesetzt werden: mysql
root@maximegalon:~/sea# mysql -p
Enter password:
[...]
mysql> GRANT ALL privileges ON `seahub-db`.* TO 'seafile'@'localhost';
mysql> GRANT ALL privileges ON `seafile-db`.* TO 'seafile'@'localhost';
mysql> GRANT ALL privileges ON `ccnet-db`.* TO 'seafile'@'localhost';
mysql> flush privileges;

Verzeichnis ausrollen

Verzeichnis entpacken und Benutzer sowie Gruppe anlegen. Falls notwendig Berechtigungen anpassen (seafile.seafile). root@maximegalon:~# useradd -d /var/lib/seafile -g seafile
root@maximegalon:~/sea# ls -rtl /var/lib/sea*
drwxr-xr-x 3 seafile seafile 4096 Jan 11 19:54 seafile

Es müssen die files ccnet/ccnet.conf , seafile-data/seafile.conf und lendadcloud/ seahub_settings.py angepasst werden. In genannten Dateien sind die Werte für FILE_SERVER_ROOT und HTTP_SERVER_ROOT, SERVCICE_URL sowie die MySQL Verbindungsdaten anzupassen Gegebenenfalls auch in ccnet/misc/.peer die Servernamen.

Daten neu einchecken und initialisieren

Dieser Vorgang wird mittels seaf-fsck bewerkstelligt. Dieses Tool benötigt jedoch Datenbankzugang für welchen es aber keine Passwort Option bereitgestellt wird. Daher muss mysql ohne Zugangsberechtigungen gestartet werden: /etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
cd /var/lib/seafile/yourcloud/seafile-server-latest/seafile
export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH}
./bin/seaf-fsck -c ../../ccnet -d ../../seafile-data

Nginx or Proxy

Natürlich muss noch die nginx Konfiguration deployed werden oder eben euere Proxykonfiguration. Oder wie auch immer hier den Traffic zur großen See weiterreicht.

Starten

su - seafile
./yourcloud/seafile-server-latest/seafile.sh start
./yourcloud/seafile-server-latest/seahub.sh start-fastcgi


Aktionen

Informationen

Schreib einen Kommentar

Du kannst diese Tags verwenden : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>