Seafile
Для p8
TODO: Следует либо переписать инструкцию, чтобы она описывала разворачивание под пользователем, либо ставиться в контейнер.
Установка
- В качестве базового каталога задействуем /var/www/webapps/:
mkdir -p /var/www/webapps/seafile-server cd /var/www/webapps/seafile-server
- Поставим пакеты:
apt-get install ccnet ccnet-server python-module-gunicorn seafile-server seafile-nginx
- Скачаем seahub той же версии, что и seafile-server:
wget https://github.com/haiwen/seahub/archive/v5.1.4-server.tar.gz -O seahub.tgz tar -xvf seahub.tgz
- Установим необходимые модули 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
Заметки
Рекомендованная схема настройки (предложена в пакете seafile-nginx):
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
Мобильные клиенты будут подключаться только по одному порту (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 для автозапуска сервисов.
Проблемы
- Вывод логов задаётся опцией запуска
--error-logfile=(по умолчанию в /tmp/gunicorn-error.log, по другим сведениям — в /tmp/seahub_django_request.log).
Для p11
- Поставить демона, менеджер хранилища, вебку и веб-сервер:
- epmi seafile seafile-fuse seafile-seahub angie
- Добавить модули:
epmi python3-module-{dateutil,future,gunicorn,jwt,openpyxl,Pillow,pymysql,pycryptodome,qrcode,requests,tinycss2,django{restframework,-{picklefield,recaptcha,tools}}}
- Дополнить их через pip:
pip install django-formtools django-post_office django-statici18n django-webpack_loader