Инструменты пользователя

Инструменты сайта


freebsd:seafile

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
freebsd:seafile [2019/11/19 20:59]
alex
freebsd:seafile [2020/11/23 21:01] (текущий)
alex [Перенос SeaFile на новый сервер]
Строка 9: Строка 9:
 ==== Установка SeaFile ==== ==== Установка SeaFile ====
   cd /​usr/​ports/​net-mgmt/​seafile-server/​ && make install clean   cd /​usr/​ports/​net-mgmt/​seafile-server/​ && make install clean
-  ​св /​usr/​ports/​www/​seahub/​ && make install clean+  ​cd /​usr/​ports/​www/​seahub/​ && make install clean
  
 При сборке libiconv стал ругаться на отсутствие .la фалов. При сборке libiconv стал ругаться на отсутствие .la фалов.
Строка 21: Строка 21:
 ==== Настройка SeaFile ==== ==== Настройка SeaFile ====
 Настраиваю SeaFile с поддержкой MySQL Настраиваю SeaFile с поддержкой MySQL
-Базы данных можно создать самостоятельно, а можно с помощью скрипта **setup-seafile-mysql.sh** +У меня MySQL и SeaFile ​находятся на разных серверах. На сервере с MySQL создаю три базы данных ccnet-db, seafile-db, seahub-db. Создаю пользователя seafile и разрешаю ему управлять ​созданными базами данных. Настраиваю удалённый доступ к MySQL.
-=== Самостоятельное создание ===+
  
 +  mysql -uroot -p
 +  Enter password:
 +  show databases;
 +  +--------------------+
 +  | Database ​          |
 +  +--------------------+
 +  | information_schema |
 +  | mysql              |
 +  | performance_schema |
 +  | sys                |
 +  +--------------------+
 +  4 rows in set (0.03 sec)
 +  ​
   create database `ccnet-db` character set = '​utf8';​   create database `ccnet-db` character set = '​utf8';​
 +  Query OK, 1 row affected (0.07 sec)
 +  ​
   create database `seafile-db` character set = '​utf8';​   create database `seafile-db` character set = '​utf8';​
 +  Query OK, 1 row affected (0.01 sec)
 +  ​
   create database `seahub-db` character set = '​utf8';​   create database `seahub-db` character set = '​utf8';​
 +  Query OK, 1 row affected (0.02 sec)
   ​   ​
-  ​create user 'seafile'​@'​localhost'​ identified by '​seafile';​+  ​show databases;​ 
 +  +--------------------+ 
 +  | Database ​          | 
 +  +--------------------+ 
 +  | information_schema | 
 +  | ccnet-db ​          | 
 +  | mysql              | 
 +  | performance_schema | 
 +  | seafile-db         | 
 +  | seahub-db ​         | 
 +  | sys                | 
 +  +--------------------+ 
 +  7 rows in set (0.03 sec)
   ​   ​
-  GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@localhost+  ​select user,host from mysql.user;​ 
-  GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@localhost+  +---------------+-----------+ 
-  GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@localhost;+  | user          | host      | 
 +  +---------------+-----------+ 
 +  | mysql.session | localhost | 
 +  | mysql.sys ​    | localhost | 
 +  | root          | localhost | 
 +  +---------------+-----------+ 
 +  3 rows in set (0.00 sec) 
 +   
 +  create user '​seafile'​@'​10.215.130.22'​ identified by '​Kl0T1k#​$ea';​ 
 +  ​GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@10.215.130.22
 +  GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@10.215.130.22
 +  GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@10.215.130.22; 
 +  CREATE USER '​root'​@'​10.215.130.22'​ IDENTIFIED BY '​Ce,,​0nf#';​ 
 +  GRANT ALL PRIVILEGES ON *.* TO '​root'​@'​10.215.130.22';​ 
 +  FLUSH PRIVILEGES;​ 
 +   
 +  select user,host from mysql.user;​ 
 +  +---------------+---------------+ 
 +  | user          | host          | 
 +  +---------------+---------------+ 
 +  | root          | 10.215.130.22 | 
 +  | seafile ​      | 10.215.130.22 | 
 +  | mysql.session | localhost ​    | 
 +  | mysql.sys ​    | localhost ​    | 
 +  | root          | localhost ​    | 
 +  +---------------+---------------+ 
 +  5 rows in set (0.00 sec) 
 + 
 +На сервере с SeaFile запускаю скрипт **setup-seafile-mysql.sh**. Если при запуске скрипта получаю ошибку "//​python-mysqldb is not installed, Please install it first//",​ то нужно проверить установку **seahub** 
 + 
 +  cd /​usr/​local/​www/​haiwen/​seafile-server 
 +  ./​setup-seafile-mysql.sh 
 +  Checking python on this machine ... 
 +  Checking python module: python-mysqldb ... Done. 
 +   
 +  ----------------------------------------------------------------- 
 +  This script will guide you to setup your seafile server using MySQL. 
 +  Make sure you have read seafile server manual at 
 +   
 +          https://​github.com/​haiwen/​seafile/​wiki 
 +   
 +  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 ] sea-klotik 
 +   
 +  What is the ip or domain of the server? 
 +  For example: www.mycompany.com,​ 192.168.1.101 
 +  [ This server'​s ip or domain ] 10.215.130.22 
 +   
 +  Where do you want to put your seafile data? 
 +  Please use a volume with enough free space 
 +  [ default "/​usr/​local/​www/​haiwen/​seafile-data"​ ] /​mnt/​seafile-data 
 +   
 +  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 ] 2 
 +   
 +  What is the host of mysql server? 
 +  [ default "​localhost"​ ] 10.215.130.20 
 +   
 +  From which hosts could the mysql account be used? 
 +  [ default "​%"​ ] 
 +   
 +  What is the port of mysql server? 
 +  [ default "​3306"​ ] 
 +   
 +  Which mysql user to use for seafile? 
 +  [ mysql user for seafile ] seafile 
 +   
 +  What is the password for mysql user "​seafile"?​ 
 +  [ password for seafile ] 
 +   
 +  verifying password of user seafile ...  done 
 +   
 +  Enter the existing database name for ccnet: 
 +  [ ccnet database ] ccnet-db 
 +   
 +  verifying user "​seafile"​ access to database ccnet-db ...  done 
 +   
 +  Enter the existing database name for seafile: 
 +  [ seafile database ] seafile-db 
 +   
 +  verifying user "​seafile"​ access to database seafile-db ...  done 
 +   
 +  Enter the existing database name for seahub: 
 +  [ seahub database ] seahub-db 
 +   
 +  verifying user "​seafile"​ access to database seahub-db ...  done 
 +   
 +  --------------------------------- 
 +  This is your configuration 
 +  --------------------------------- 
 +   
 +      server name:            sea-klotik 
 +      server ip/​domain: ​      ​10.215.130.22 
 +   
 +      seafile data dir:       /​mnt/​seafile-data 
 +      fileserver port:        8082 
 +   
 +      database: ​              use existing 
 +      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 /​usr/​local/​www/​haiwen/​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: ​    sysrc seafile_enable=YES 
 +                          service seafile { start | stop | restart } 
 +  run seahub ​ server: ​    sysrc seahub_enable=YES 
 +                          service seahub { start | stop | restart } 
 +  run reset-admin: ​       ./​reset-admin.sh 
 +   
 +  ----------------------------------------------------------------- 
 +  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://​github.com/​haiwen/​seafile/​wiki 
 +   
 +  for information. 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
  
-=== С помощью скрипта **setup-seafile-mysql.sh** ===+----
  
 +  cd /​usr/​local/​www/​haiwen/​seafile-server
   ./​setup-seafile-mysql.sh   ./​setup-seafile-mysql.sh
   Checking python on this machine ...   Checking python on this machine ...
Строка 279: Строка 508:
   for information.   for information.
  
-=== Запуск сервера ===+ 
 +---- 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== Запуск сервера ​====
 В /​etc/​rc.conf добавляю строки В /​etc/​rc.conf добавляю строки
-  seafile_enable=YES +  ​sysrc seafile_enable=YES 
-  seahub_enable=YES+  ​sysrc seahub_enable=YES
  
 Запускаю сервер Запускаю сервер
Строка 317: Строка 561:
   22270   22270
  
-Сервер доступен по адресу **10.215.130.23:8000**+Сервер доступен по адресу **10.215.130.22:8000** 
 + 
 +==== Перенос SeaFile на новый сервер ==== 
 +После всего проделанного останавливаю SeaFile сервер. 
 +  service seafile stop 
 +  service seahub stop 
 + 
 +На старых серверах делаю дампы баз данных SeaFile 
 + 
 + # mysqldump -u seafile -p ccnet-db > ccnet-db.sql 
 +Enter password: 
 +mysqldump: Got error: 1045: Access denied for user '​seafile'​@'​localhost'​ (using password: YES) when trying to connect 
 +root@jail_1:/​ # 
 +root@jail_1:/​ # mysql -uroot -p 
 +Enter password: 
 +Welcome to the MySQL monitor. ​ Commands end with ; or \g. 
 +Your MySQL connection id is 8 
 +Server version: 5.7.29-log Source distribution 
 + 
 +Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. 
 + 
 +Oracle is a registered trademark of Oracle Corporation and/or its 
 +affiliates. Other names may be trademarks of their respective 
 +owners. 
 + 
 +Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the current input statement. 
 + 
 +root@localhost [(none)]>​ select user,host from mysql.user;​ 
 ++---------------+-------------+ 
 +| user          | host        | 
 ++---------------+-------------+ 
 +| root          | 192.168.0.3 | 
 +| seafile ​      | 192.168.0.3 | 
 +| mysql.session | localhost ​  | 
 +| mysql.sys ​    | localhost ​  | 
 +| root          | localhost ​  | 
 ++---------------+-------------+ 
 +5 rows in set (0.19 sec) 
 + 
 +root@localhost [(none)]>​ create user '​seafile'​@'​localhost'​ identified by '​Kl0T1k#​$ea';​ 
 +Query OK, 0 rows affected (0.28 sec) 
 + 
 +root@localhost [(none)]>​ GRANT ALL PRIVILEGES ON *.* TO '​seafile'​@'​localhost';​ 
 +Query OK, 0 rows affected (0.03 sec) 
 + 
 +root@localhost [(none)]>​ FLUSH PRIVILEGES;​ 
 +Query OK, 0 rows affected (0.09 sec) 
 + 
 +root@localhost [(none)]>​ select user,host from mysql.user;​ 
 ++---------------+-------------+ 
 +| user          | host        | 
 ++---------------+-------------+ 
 +| root          | 192.168.0.3 | 
 +| seafile ​      | 192.168.0.3 | 
 +| mysql.session | localhost ​  | 
 +| mysql.sys ​    | localhost ​  | 
 +| root          | localhost ​  | 
 +| seafile ​      | localhost ​  | 
 ++---------------+-------------+ 
 +6 rows in set (0.00 sec) 
 + 
 +root@localhost [(none)]>​ quit 
 + 
 +  mysqldump -u seafile -p ccnet-db > ccnet-db.sql 
 +  mysqldump -u seafile -p seafile-db > seafile-db.sql 
 +  mysqldump -u seafile -p seahub-db > seahub-db.sql 
 + 
 +На новом MySQL сервере делаю 
 +  mysql -uroot -p 
 +  DROP DATABASE `ccnet-db`;​ 
 +  DROP DATABASE `seafile-db`;​ 
 +  DROP DATABASE `seahub-db`;​ 
 +Проверяю удаление баз 
 +  SHOW DATABASES;​ 
 +Удаляю пользователя 
 +  DROP USER '​seafile'​@'​10.215.130.22';​ 
 +Проверяю удаление 
 +  SELECT User FROM mysql.user;​ 
 +  +---------------+ 
 +  | User          | 
 +  +---------------+ 
 +  | root          | 
 +  | mysql.session | 
 +  | mysql.sys ​    | 
 +  | root          | 
 +  +---------------+ 
 +  4 rows in set (0.00 sec) 
 +Создаю новые базы данных и пользователя 
 +  create database `ccnet-db` character set = '​utf8';​ 
 +  create database `seafile-db` character set = '​utf8';​ 
 +  create database `seahub-db` character set = '​utf8';​ 
 +  create user '​seafile'​@'​10.215.130.22'​ identified by '​пароль';​ 
 +  RESET MASTER; 
 +Восстанавливаю базу данных из дампа из другого терминала 
 +  mysql -h 10.215.130.20 -u root -p seahub-db < seahub-db.sql 
 +В первом терминале 
 +  RESET MASTER; 
 +Восстанавливаю базу данных из дампа из другого терминала 
 +  mysql -h 10.215.130.20 -u root -p'​Ce,,​0nf#'​ seafile-db < seafile-db.sql 
 +В первом терминале 
 +  RESET MASTER; 
 +Восстанавливаю базу данных из дампа из другого терминала 
 +  mysql -h 10.215.130.20 -u root -p'​Ce,,​0nf#'​ ccnet-db < ccnet-db.sql 
 +Можно проверить создание таблиц в БД 
 +  USE seafile-db 
 +  SHOW TABLES; 
 +После восстановления данных из дампа даю права пользователю seafile на базы данных 
 +  GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@10.215.130.22;​ 
 +  GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@10.215.130.22;​ 
 +  GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@10.215.130.22;​ 
 +  FLUSH PRIVILEGES;​ 
 + 
 +В файле /​usr/​local/​www/​haiwen/​ccnet/​**seafile.ini** указываю путь до данных со старого сервера 
 + 
 +Запускаю SeaFile 
 +  service seafile start 
 +  service seahub start
  
 ==== Seahub с Nginx ==== ==== Seahub с Nginx ====
Строка 574: Строка 934:
   ​   ​
   }   }
 +
 +Для получения файла **dhparam.pem** выполняю
 +  openssl dhparam -out /​usr/​local/​etc/​nginx/​dhparam.pem 2048
  
 Перезапускаю сервер Перезапускаю сервер
Строка 688: Строка 1051:
 https://​zen.yandex.ru/​media/​id/​5cd02303ac1ad900b3c6a564/​seafile-server-702-dlia-linux-5d0e300bdc3c7c00b0d62ee5\\ https://​zen.yandex.ru/​media/​id/​5cd02303ac1ad900b3c6a564/​seafile-server-702-dlia-linux-5d0e300bdc3c7c00b0d62ee5\\
 https://​www.8host.com/​blog/​sinxronizaciya-i-sovmestnoe-ispolzovanie-fajlov-s-pomoshhyu-seafile-v-debian-9\\ https://​www.8host.com/​blog/​sinxronizaciya-i-sovmestnoe-ispolzovanie-fajlov-s-pomoshhyu-seafile-v-debian-9\\
-https://​zaraev.blogspot.com/​2015/​12/​seafile-debian-dropbox.html +https://​zaraev.blogspot.com/​2015/​12/​seafile-debian-dropbox.html\\ 
 +https://​forum.seafile.com/​t/​tutorial-for-server-migration-importing-mysql-mariadb-databases-and-seafile-data/​132\\ 
 +https://​gist.github.com/​plentz/​6737338\\ 
 +https://​myhosti.pro/​faq/​adminos/​web/​nginx/​pri-vkliuchenii-u-www-domena-oshibka-dhparampem
freebsd/seafile.1574197168.txt.gz · Последние изменения: 2019/11/19 20:59 (внешнее изменение)