Привет, недавно в Твиттере увидел пост про новый опен-соурсовский
облачный проект. И тут же заинтересовался. Когда-то у меня работал
полноценный клауд на ownCloud, но это было давно и аппликация для
Android часто сбоила, как и сам интерфейс, хотя нареканий нет. ownCloud
отличный открытый проект с огромными возможностями и пожалуй разберемся с
ним в следующей статье. Итак Seafile
это Next-generation Open Source Cloud Storage как уверяют разработчики
предназначенный для дома, офиса или даже крупного предприятия. Как
всегда весь упор делается на то, что это приватное облако (например
внутри компании, на серверах компании) т.е. вся информация вроде как в
облаке, но в своем собственном. Это удобно, это дешево, это просто,
стоит признать.
Структура платформы Seafile
Ccnet daemon — сетевой демон. Выполняет роль перегона всего трафика между клиентом и сервером.
Seafile daemon — информационный демон.
Seahub — это фронт-энд, или вебморда в народе.
HttpServer — отвечает за загрузку\закачку всех данных через Seahub.
Controller — контроллер. Мониторит ccnet и seafile демонов и при необходимости рестартует их.
Установка за 5-ть минут
Установка и настройка сервера у меня заняла ровно три минуты и это с перерывом на кофе. К слову у них отличная документация и они позаботились об админах. Там все понятно.
Итак, берем ОС Ubuntu 12.04 32bit за пример. Сначала идем на страничку загрузки сервера. На сервер делаем так.
1) Смотрим какая у вас архитектура:
1 | uname -m |
2) Качаем 32-бит:
1 | wget http://seafile.googlecode.com/files/seafile-server_{version}_i386.tar.gz |
3) или 64-бита:
1 | wget http://seafile.googlecode.com/files/seafile-server_{version}_x86-64.tar.gz |
Теперь распаковываем:
1 | tar xvf seafile-server_2.1.3_i386.tar.gz |
Переходим в каталог с установочными скриптами:
1 | cd seafile-server |
Смотрим из любопытства на содержимое:
1 2 3 4 5 6 7 8 9 10 11 12 13 | root@alexLinux:/home/booch# tree -L 1 seafile-server-2.1.3/ seafile-server-2.1.3/ ├── reset-admin.sh ├── runtime ├── seaf-fuse.sh ├── seafile ├── seafile.sh ├── seahub ├── seahub.sh ├── setup-seafile-mysql.py ├── setup-seafile-mysql.sh ├── setup-seafile.sh └── upgrade |
Для удачного запуска и работы установочного скрипта необходимо доставить некоторые пакеты в систему:
- python 2.6 or 2.7
- python-setuptools
- python-simplejson
- python-imaging
- sqlite3
1 2 | apt-get update apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3 |
Теперь когда все готово, запускаем скрипт установки:
1 | ./setup-seafile.sh |
И отвечаем на очень-очень простые вопросы:
С чистой душой запускаем сервер:
1 2 | ./seafile.sh start ./seahub.sh start |
Логично, что останавливаем сервер вот так:
1 2 | ./seahub.sh stop ./seafile.sh stop |
Если в системе есть файрвол, не забываем открыть порты:
UFW:
1 2 3 4 | ufw allow 8000 ufw allow 8082 ufw allow 12001 ufw allow 10001 |
IPTABLES:
1 2 3 4 | iptables -A INPUT -p tcp -m tcp -s 0/0 --dport 8000 -j ACCEPT iptables -A INPUT -p tcp -m tcp -s 0/0 --dport 8082 -j ACCEPT iptables -A INPUT -p tcp -m tcp -s 0/0 --dport 12001 -j ACCEPT iptables -A INPUT -p tcp -m tcp -s 0/0 --dport 10001 -j ACCEPT |
В браузере переходим туда, куда указали:
Ввоодим логин и пароль которые указали во время установки. Профит!
Для Cloud Server Seafile так же имеется отличный клиент для Android
который можно свободно скачать в Google Play и подключить к вашему
личному облаку Seafile. Вот пара скриншотов мобильного клиента
подключенного к моему серваку:
У Seafile в Вики есть несколько вариантов установки сервера, мы использовали более простой с sqlite3, есть еще версия с MySQL. Подробная и очень внятная документация на английском языке тут — https://github.com/haiwen/seafile/wiki