[{ALLOW view All}]
[{ALLOW edit Authenticated}]

!! Seafile
!New Installation on Debian (27.12.2020)
[Download|https://www.seafile.com/en/download/] > Server > Server for generic Linux
{{{
cd /markus/seafile
wget ...copy link...
tar xvf *  (this will create sub folder like seafile-server-7.0.5)
cd seafile-server-7.0.5
}}}
Note: symlink {{{seafile-server-latest}}} is created automatically from the script.\\
[Manual for deploying with MySQL|https://manual.seafile.com/deploy/using_mysql/]\\

Clean up databases?
{{{
mysql -u <user> -p
    DROP DATABASE `ccnet-db`;
    DROP DATABASE `seafile-db`;
    DROP DATABASE `seahub-db`;
}}}


%%collapsebox-closed
! {{{./setup-seafile-mysql.sh}}}
Checking python on this machine ...

-----------------------------------------------------------------
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at

        https://download.seafile.com/published/seafile-manual/home.md

Press ENTER to continue
-----------------------------------------------------------------


What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
~[ server name ~] inetone

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
~[ This server's ip or domain ~] 185.244.195.4

Which port do you want to use for the seafile fileserver?
~[ default "8082" ~]

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

~[ 1 or 2 ~] 1

What is the host of mysql server?
~[ default "localhost" ~]

What is the port of mysql server?
~[ default "3306" ~]

What is the password of the mysql root user?
~[ root password ~]

verifying password of user root ...  done

Enter the name for mysql user of seafile. It would be created if not exists.
~[ default "seafile" ~]

Enter the password for mysql user "seafile":
~[ password for seafile ~]

verifying password of user seafile ...  done

Enter the database name for ccnet-server:
~[ default "ccnet-db" ~]

Enter the database name for seafile-server:
~[ default "seafile-db" ~]

Enter the database name for seahub:
~[ default "seahub-db" ~]

---------------------------------
This is your configuration
---------------------------------

    server name:            inetone
    server ip/domain:       185.244.195.4

    seafile data dir:       /markus/seafile/seafile-data
    fileserver port:        8082

    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile



---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

Generating ccnet configuration ...

done
Successly create configuration dir /markus/seafile/ccnet.
Generating seafile configuration ...

Done.
done
Generating seahub configuration ...

----------------------------------------
Now creating ccnet database tables ...

----------------------------------------
----------------------------------------
Now creating seafile database tables ...

----------------------------------------
----------------------------------------
Now creating seahub database tables ...

----------------------------------------

creating seafile-server-latest symbolic link ...  done




-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------

run seafile server:     ./seafile.sh { start | stop | restart }
run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }

-----------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
-----------------------------------------------------------------

port of seafile fileserver:   8082
port of seahub:               8000

When problems occur, Refer to

        https://download.seafile.com/published/seafile-manual/home.md

for information.
/%

{{{
/markus/seafile/seafile-server-latest/seafile.sh restart
/markus/seafile/seafile-server-latest/seahub.sh restart
}}}

Logs at {{{/markus/seafile/logs}}}
{{{
vi /markus/seafile/logs/seahub.log 
    django.request:135 handle_uncaught_exception Internal Server Error
}}}

!Initial Installation (2018)
After reading positive comments I installed seafile to my Linux root server\\

1. Info Server
{{{
> cat /proc/version
Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017
> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial
> getconf LONG_BIT
64
> uname -m
x86_64
> file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=0428e4834e687e231fa865562d32fbb64ce45577, stripped
}}}

2. [Download|http://seafile.com/en/download/]\\
Server for generic Linux 64bit
{{{
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_6.0.8_x86-64.tar.gz
gunzip *
tar xvf *
}}}

3. See [Manual|http://manual.seafile.com/]\\
For installing and setup see ["Deploying with MySQL"|http://manual.seafile.com/deploy/using_mysql.html]\\

4. Start/Stop
Folder "seafile-server-latest" (>4.0.2)
{{{
./seafile.sh start  # Start seafile service
./seahub.sh start   # Start seahub website, port defaults to 8000

./seahub.sh stop
./seafile.sh stop
}}}

! Problem Android "Unknown Server Status"

This seems to be a device ID problem in the [source code|https://github.com/haiwen/seahub/pull/181/files].\\

See ./seafile-server-latest/seahub/seahub/api2/serializers.py


!! Upgrade

on 12.01.2017 from 4.05. to 6.0.7, see [manual|https://manual.seafile.com/deploy/upgrade.html]

1. cd /markus/seafile\\
2. stop old one\\
3. here you download the lastest server version\\
Note: you have here als folder ccnet and seafile-data\\
After gunzip and tar you have a new folder seafile-server-6.0.7\\
4. cd seafile-server-6.0.7\\
5. ls -l upgrade\\
   Here you need to call all steps, e.g. \\
     upgrade_4.0_4.1.sh\\
     upgrade_4.1_4.2.sh\\
     ...\\
   But NOT from inside folder, but one above, so \\
     upgrade/upgrade_4.0_4.1.sh\\
     upgrade/upgrade_4.1_4.2.sh\\
     ...\\
6. All upgrade set a new symlink to seafile-server-6.0.7\\
7. cd seafile-server-6.0.7\\
8. start like above, done\\

!! Migrate to new server

# Stop services
# Download and install latest version (as of Mar 2017 it was 6.0.8), follow [manual|https://manual.seafile.com/deploy/using_sqlite.html]
## create mysql databases
 {{{
create database ccnet-db default character set 'UTF8';
create database seafile-db default character set 'UTF8';
create database seahub-db default character set 'UTF8';
}}}
## create mysql seafile user
 {{{
create user 'seafile'@'localhost' identified by 'seafile';

GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@localhost;
GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@localhost;
GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@localhost;

SET PASSWORD FOR 'seafile'@'localhost' = PASSWORD('...your.password...');
}}}
# clean and copy folders ccnet, conf, seafile-data
# maybe: update SERVER_URL in /conf/ccnet.conf
# old versions of seafile used folder "data" and not "seafile-data" as data storage, update folder in /ccnet/seafile.ini
# export, copy, import database
 {{{
mysqldump -u root -p<password> ccnet-db > /home/proftpd/ccnet-db.sql
mysqldump -u root -p<password> seafile-db > /home/proftpd/seafile-db.sql
mysqldump -u root -p<password> seahub-db > /home/proftpd/seahub-db.sql

mysql -u root -p<password> ccnet-db < /home/proftpd/ccnet-db.sql
mysql -u root -p<password> seafile-db < /home/proftpd/seafile-db.sql
mysql -u root -p<password> seahub-db < /home/proftpd/seahub-db.sql
}}}
# Delete cache
 {{{
rm -rf /tmp/seahub_cache
}}}
# Update [mysql config|https://forum.syncwerk.com/t/solved-seahub-failure-after-mysql-5-7-upgrade/4680/3] in /conf/seahub_settings.py to
 {{{
'init_command': 'SET default_storage_engine=INNODB',
}}}
# Start services