[{ALLOW view All}]
[{ALLOW edit Authenticated}]
!! Seafile
! Migrate from 7.1.5 to 8.0.3
# Check version with [https://www.inetone.de:444/api2/server-info/]\\
# [Download|https://www.seafile.com/en/download/], {{{ gunzip *, tar xvf *}}}\\
# Read [Upgrade Notes|https://manual.seafile.com/upgrade/upgrade_notes_for_8.0.x/]
!Config (17.02.2021)
See [Seafile admin manualConfig Seahub with Apache|https://manual.seafile.com/deploy/deploy_with_apache/#modify-ccnetconf] at "Modify ccnet.conf and seahub_setting.py"\\
Seafile > WebInterface > Avatar-Icon > Steam Administration > Settings
{{{
SERVICE_URL = https://www.inetone.de:444
FILE_SERVER_ROOT = https://www.inetone.de:444/seafhttp
}}}
Though the docu tells "if you set the value both via Web UI and config file, the setting via Web UI will take precedence", I edited the config files, too:\\
vi .../conf/seahub_settings.py
{{{
# add following
FILE_SERVER_ROOT = 'https://www.inetone.de:444/seafhttp'
}}}
vi .../conf/ccnet.conf
{{{
# change
SERVICE_URL = https://www.inetone.de:444
}}}
__Note: When you change service URLs clean your browser cache or hard reload each page !\\
It takes a some seconds until the new settings come into effect even if the seafile has started already, so keep reloading in case!__\\
\\
For Apache there is a [proxy config|https://manual.seafile.com/deploy/https_with_apache/].\\
vi /etc/apache2/sites-available/000-default-le-ssl.conf
{{{
<VirtualHost www.inetone.de:444>
ServerName www.inetone.de
ServerAlias inetone.de
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/seafile_443.log
Alias /media /markus/seafile/seafile-server-latest/seahub/media
RewriteEngine On
<Location /media>
Require all granted
</Location>
#
# seafile fileserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/www.inetone.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.inetone.de/privkey.pem
</VirtualHost>
}}}
On Errors check Seafile [FAQ|https://manual.seafile.com/faq/].\\
!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`;
}}}
Note: Seafile 7.1.x will __NOT work with Debian 9__ because some required packages are not available there.\\
You will find error {{{django.request:135 handle_uncaught_exception Internal Server Error}}} at seafileHome\logs\seahub.log !
{{{
# on Debian 10/Ubuntu 18.04
apt-get update
apt-get install python3 python3-setuptools python3-pip -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \
django-pylibmc django-simple-captcha python3-ldap
}}}
%%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