Частное облако seafile в клетке nas4free с SQLite

Mar 15, 2017 23:35

Seafile - грубо говоря аналог OwnCloud. Только написан на C и Python, что должно быть быстрее PHP и Java. Подробнее см англоязычную вику и там же сравнительную таблицу. А мы будем ставить серверную часть в FreeBSD клетку.

NB. Seafile опирается на СУБД и Web сервер. В качестве СУБД в простейшем варианте используется SQLite, которой для домашнего пользования хватит. Установка с SQLite ниже и описана. Установка с MySQL в отдельном посте.

В качестве Web сервера в мануале предлагается настроить Apache или Nginx (сервер gunicorn в настоящее время на FeeBSD не поддерживается). Мне показалось проще настроить Ngnix.

NB. НЕ СПЕШИМ. На момент написания актуальная версия seafile под FreeBSD 6.08. Однако в ней скрипты установки содержат погрешности. Я последние дни тестировал, связывался с разработчиком и он прислал мне исправленные, а заодно и рабочий конфиг Nginx. Архив у меня на Я диске. Выйдет исправленная версия - это примечание уберу.

Seafile с SQLite, установка в FreeBSD jail

1. Создаём клетку, обновляем до актуального состояния, запускаем, смотрим ID командой jls, идём в клетку. Для справки моя версия в момент установки. Ещё раз напомню, я лично предпочитаю под каждую клетку предварительно создать zfs датасет, но это не обязательно.
nas4free ~/ root~$ jexec 2 tcsh
root@seafilesqlite:/ # uname -a
FreeBSD seafilesqlite.local 11.0-RELEASE-p7 FreeBSD 11.0-RELEASE-p7 #0 r312343M: Tue Jan 17 15:41:49 CET 2017 root@dev.nas4free.org:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 amd64

2. Проверяем доступную версию seafile
root@seafilesqlite:/ # pkg search seafile-server
seafile-server-6.0.7 Open Source Cloud Storage (Server)

В примере выше сначала система предложит установить pkg.
2.1 Если доступна версия 6.0.7, то советую установить nano (pkg install nano), а затем отредактировать конфиг
root@seafilesqlite:/ # nano /etc/pkg/FreeBSD.conf

Здесь заменить quarterly на latest, а именно
url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly"
на
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"

После этого сделать pkg upgrade и вернуться на начало п 2.

2.2 Если доступна версия 6.0.8, то качаем архив по ссылке выше и позже, после установки, заменяем файлы на файлы из архива. Идём к п 3.

2.3 Если 6.0.8_1 - идём к п 3.

3. Установка
root@seafilesqlite:/ # pkg install seafile-server seahub

4. Запускаем setup
NB если вы качали архив - файл setup-seafile.sh надо взять из него.
root@seafilesqlite:/ # cd /usr/local/www/haiwen/seafile-server/
root@seafilesqlite:/usr/local/www/haiwen/seafile-server # ./setup-seafile.sh

Сетап задаст ряд простых вопросов
Имя сервера, IP или доменное имя, куда помещать файлы данных, номер порта.
Имя сервера задайте по вкусу.
На первый тренировочный раз стоит указать IP нашей клетки. Когда будете ставить для доступа снаружи, предварительно сконфигурируйте DDNS или купите доменное имя - эту инфу и вводите. Место под данные сойдёт стандартное, можно всегда отобразить на любую папку хоста через fstab клетки. Порт оставляем по умолчанию.

5. Если всё прошло гладко, запускаем seafile. Обратите внимание, что во FreeBSD это делается иначе, чем описано в мануале для Linux.
root@seafilesqlite:/ # sysrc seafile_enable=YES
seafile_enable: -> YES
root@seafilesqlite:/ # sysrc seahub_enable=YES
seahub_enable: -> YES
root@seafilesqlite:/ # sysrc seahub_fastcgi=1
seahub_fastcgi: -> 1
root@seafilesqlite:/ # service seafile start
root@seafilesqlite:/ # service seahub start

6. Если всё гладко - создаём административный аккаунт
root@seafilesqlite:/ # cd /usr/local/www/haiwen/seafile-server/
root@seafilesqlite:/usr/local/www/haiwen/seafile-server # ./reset-admin.sh

Введите ваш e-mail и пароль доступа к серверу. Забудете - точно также можете поменять.

7. Устанавливаем Nginx (или смотрим в мануал как ставить Апач)
root@seafilesqlite:/usr/local/www/haiwen/seafile-server # pkg install nginx
root@seafilesqlite:/usr/local/www/haiwen/seafile-server # sysrc nginx_enable=YES
nginx_enable: -> YES

8. Конфиг из архива работает для локальной сети и http. Когда будете устанавливать для доступа снаружи - указать доменное имя и настроить https, но это отдельная тема.
Конфиг ngnix /usr/local/etc/nginx/nginx.conf
В нём всё как в Linux мануале, только путь в секции media во FreeBSD по умолчанию другой.
location /media {
root /usr/local/www/haiwen/seafile-server-latest/seahub;
}

9. Запускаем ngnix
root@seafilesqlite:/ # service nginx start

И идём в браузере по IP нашей клетки.


Вводим логин-пароль из п 6


Можно потыкать.
Настройка https в мануале
Отдельно планирую разбираться с LetsEnscript. Но это потом.

cloud, jail, nas, nas4free

Previous post Next post
Up