Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| 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 | ||