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