[{ALLOW view All}] [{ALLOW edit Authenticated}] !! Seafile !General * Check version with [https://www.inetone.de:444/api2/server-info/]\\ * Stop: cd $SF {{{./seahub.sh stop}}} + {{{./seafile.sh stop}}} * Start: {{{./seafile.sh start}}} + {{{./seahub.sh start}}} !Minor upgrade 8.3 > 8.4 1. Download server version into /markus/seafile, gunzip, untar\\ 2. Then you have another folder "seafile-server-8.0.4"\\ 3. stop, cd <new folder>\\ 4. ./upgrade/minor-upgrade.sh\\ 5. start\\ ! WebDav base URL = https://www.inetone.de:444/seafdav ! WebDav: error HTTP MOVE 502 Bad Gateway chack at /markus/seafile/logs/seafdav.log\\ Fixed according to [forum|https://forum.seafile.com/t/seafdav-move-command-causing-502/11582/23] with Apache conf added: {{{ RequestHeader edit Destination ^https: http: }}} ! Migrate from [7.1.5 to 8.0.3|https://manual.seafile.com/upgrade/upgrade_notes_for_8.0.x/] # Check version, Stop # [Download|https://www.seafile.com/en/download/], {{{ gunzip *, tar xvf *}}}\\ # extract and copy, run script (start upgrade scripts from base folder, not inside upgrade folder! {{{ cp seafile-server-8.0.3 /markus/seafile cd /markus/seafile/seafile-server-8.0.3 ./upgrade/upgrade_7.1_8.0.sh }}} 4. Start !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