Seafile
Установка сервера Seafile из пакетов в репозитории ALT Linux p8
Предисловие
Seafile предполагает, что имеется базовый каталог, от которого всё строится. Выберем в его качестве /var/www/webapps/.
TODO: Нужно переписать инструкцию, чтобы она описывала разворачивание под пользователем.
Команды в инструкции потребуют установленных пакетов eepm и erc:
# apt-get install eepm erc
Установка
Ставим пакеты
# epmi seafile-server seafile-nginx ccnet ccnet-server python-module-gunicorn
# mkdir -p /var/www/webapps/seafile-server # cd /var/www/webapps/seafile-server
Скачиваем seahub (той же версии, что и пакет seafile-server):
# wget https://github.com/haiwen/seahub/archive/v5.1.4-server.tar.gz -O seahub.tar.gz # erc seahub.tar.gz # cd seahub
Дальше нужно установить в thirdpart необходимые модули python. В инструкции дан плохой совет ставить их с помощью
# pip install -r requirements.txt
Эта команда поставит их не в thirdpart, а в систему, перезаписав уже установленные пакеты. (пока сойдёт)
Настройка
# cd /var/www/webapps/ # seafile-admin setup
Он задаст вопрос о названии сервера, домене (порты оставим по умолчанию), месте для хранения файлов:
What is the name of the server? (3 - 15 letters or digits) [server name ] demoseafile What is the ip of the server? (For example: www.mycompany.com, 192.168.1.101) [ip or domain ] seafile.devel.etersoft.ru Which port do you want to use for the ccnet server? [default 10001 ] Where do you want to put your seafile data? (Please use a volume with enough free space) [default /var/www/webapps/seafile-data ] Which port do you want to use for the seafile server? [default 12001 ] Which port do you want to use for the seafile fileserver? [default 8082 ] This is your configuration ------------------------------------------ ccnet conf dir: /var/www/webapps/ccnet server name: demoseafile server host: seafile.devel.etersoft.ru ccnet port: 10001 seafile data dir: /var/www/webapps/seafile-data seafile port: 12001 seafile fileserver port: 8082 ------------------------------------------ Press ENTER if the config is right, or anything else to re-config Generating ccnet configuration... done Successly create configuration dir /var/www/webapps/ccnet. done Generating seafile configuration... Done. done
Создаём пользователя-админа:
# seafile-admin create-admin
Запускаем:
# seafile-admin start
Starting seafile-server... Starting seahub... Seahub running on port 8000 Done
Заметки
Рекомендованная схема настройки:
https://seafile.example.com/ -> 127.0.0.1:8000 https://seafile.example.com/webdav -> 127.0.0.1:8082 https://seafile.example.com/seafhttp -> 127.0.0.1:8080
(предложена в пакете seafile-nginx)
Мобильные клиенты будут подключаться только по одному порту (80 или 443).
Старые клиенты для компьютера будут также использовать порты 12001 (seaf-server) и 10001 (ccnet) для синхронизации.
fuse работает только в read-only и не поддерживает шифрованные библиотеки.
webdav не поддерживает шифрованные библиотеки.
conf/seafdav.conf: [WEBDAV] enabled = true port = 8080 fastcgi = true share_name = /webdav seahub_settings.py # do not use separate 8002 port FILE_SERVER_ROOT = 'https://stog.etersoft.ru/seafhttp'
Чтобы webdav работал с русскими библиотеками, пришлось добавить в код:
class WsgiDAVApp(object): ... reload(sys) sys.setdefaultencoding("UTF-8");
В /etc/init.d надо пробросить ссылки на seafile.sh и seahub.sh для автозапуска сервисов.
Проблемы
- Почему-то логи seahub пишутся в /tmp/seahub_django_request.log