Meine kleine Dokumentation

Die Installationsdokumentation zu MeineKleineFarm.net

Benutzer-Werkzeuge

Webseiten-Werkzeuge


seafile_server_migration

Seafile Server Migration von Ubuntu 14.04 LTS -> Debian 8 Jessie

Quellen

Auf dem "alten" Server

<<Alle seafile Dienste stoppen>>
 
mysqldump -h localhost -u root -p seafile_ccnet-db > ccnet-db.sql
mysqldump -h localhost -u root -p seafile_seafile-db > seafile-db.sql
mysqldump -h localhost -u root -p seafile_seahub-db > seahub-db.sql
 
scp -r -P 22 /root/seafile_db/ccnet-db.sql root@192.168.1.2:/root
scp -r -P 22 /root/seafile_db/seafile-db.sql root@192.168.1.2:/root
scp -r -P 22 /root/seafile_db/seahub-db.sql root@192.168.1.2:/root
 
cd /home/seafile/seafile-server
tar -czvf - * | ssh -p 22 root@192.168.1.2 'tar -xhzvf - -C /opt/seafile/'

Auf dem "neuen" Server

apt install python2.7 libpython2.7 python-setuptools python-imaging \
python-ldap python-mysqldb python-memcache python-urllib3 \
memcached python-memcache sudo -y
adduser --disabled-login --home /opt/seafile --shell /bin/false --gecos "Seafile" seafile
chown seafile:root /opt/seafile -R
 
mysql -u root -p
CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'PASSW0RD1';
 
CREATE DATABASE `seafile_ccnet-db`;
CREATE DATABASE `seafile_seafile-db`;
CREATE DATABASE `seafile_seahub-db`;
 
GRANT ALL privileges ON `seafile_ccnet-db`.* TO 'seafile'@'localhost';
GRANT ALL privileges ON `seafile_seafile-db`.* TO 'seafile'@'localhost';
GRANT ALL privileges ON `seafile_seahub-db`.* TO 'seafile'@'localhost';
 
flush privileges;
mysql -u root -p seafile_ccnet-db < /root/ccnet-db.sql
mysql -u root -p seafile_seafile-db < /root/seafile-db.sql
mysql -u root -p seafile_seahub-db < /root/seahub-db.sql
 
nano /opt/seafile/conf/ccnet.conf
nano /opt/seafile/conf/seafile.conf
nano /opt/seafile/conf/seahub_settings.py
nano /opt/seafile/ccnet/seafile.ini
su seafile
cd /opt/seafile/seafile-server-latest/
./seaf-fsck.sh
./seafile.sh start
./seahub.sh start-fastcgi
exit
 
mkdir /var/www/html/meinekleinefarm.net/seafile
nano /etc/apache2/sites-available/files.meinekleinefarm.net.conf

files.meinekleinefarm.net.conf

files.meinekleinefarm.net.conf

files.meinekleinefarm.net.conf
<VirtualHost *:80>
        ServerName files.meinekleinefarm.net
        Redirect permanent / https://files.meinekleinefarm.net/
</VirtualHost>
 
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerAdmin webmaster@meinekleinefarm.net
    ServerName files.meinekleinefarm.net
    ServerAlias files.meinekleinefarm.net
 
    DocumentRoot /var/www/html/meinekleinefarm.net/seafile
 
    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/meinekleinefarm.net/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/meinekleinefarm.net/privkey.pem
 
    Alias /media  /opt/seafile/seafile-server-latest/seahub/media
 
    <Location /media>
        ProxyPass !
        Require all granted
    </Location>
 
    RewriteEngine On
 
    # seafile fileserver
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082
    RewriteRule ^/seafhttp - [QSA,L]
 
    # seahub
    SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    ProxyPass / fcgi://127.0.0.1:8000/
</VirtualHost>
</IfModule>
a2ensite files.meinekleinefarm.net.conf
service apache2 reload

Seafile Server Init Script

nano /etc/init.d/seafile-server

/etc/init.d/seafile-server

/etc/init.d/seafile-server

seafile-server
#!/bin/sh
 
### BEGIN INIT INFO
# Provides:          seafile-server
# Required-Start:    $local_fs $remote_fs $network mysql
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts Seafile Server
# Description:       starts Seafile Server
### END INIT INFO
 
# Change the value of "user" to linux user name who runs seafile
user=seafile
 
# Change the value of "seafile_dir" to your path of seafile installation
# usually the home directory of $user
seafile_dir=/opt/seafile
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log
 
# Change the value of fastcgi to true if fastcgi is to be used
fastcgi=true
# Set the port of fastcgi, default is 8000. Change it if you need different.
fastcgi_port=8000
 
#
# Write a polite log message with date and time
#
echo -e "\n \n About to perform $1 for seafile at `date -Iseconds` \n " >> ${seafile_init_log}
echo -e "\n \n About to perform $1 for seahub at `date -Iseconds` \n " >> ${seahub_init_log}
 
case "$1" in
        start)
                sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}
                if [ $fastcgi = true ];
                then
                        sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log}
                else
                        sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}
                fi
        ;;
        restart)
                sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}
                if [ $fastcgi = true ];
                then
                        sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log}
                else
                        sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}
                fi
        ;;
        stop)
                sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}
                sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}
        ;;
        *)
                echo "Usage: /etc/init.d/seafile-server {start|stop|restart}"
                exit 1
        ;;
esac
mkdir -p /opt/seafile/logs/
chmod +x /etc/init.d/seafile-server
update-rc.d seafile-server defaults

Garbage Collecting Unused Blocks on Seafile Server

nano /opt/seafile/sfs_gc.sh

<hidden /etc/init.d/seafile-server -edit> <code bash seafile-server>

seafile_server_migration.txt · Zuletzt geändert: 2017/04/10 14:38 von xenadmin