Установка и настройка Seafile на сервере Ubuntu 12.04

На сегодняшний день существует множество способов хостинга файлов и обмена контентом между членами команды. Популярные сервисы вроде DropBox не перестают набирать обороты как среди обычных пользователей, так и среди предпринимателей и разработчиков.

Однако многие пользователи предпочитают иметь больше прав собственности на свои данные. Иногда вместо размещения файлов в черных ящиках на сервере, принадлежащем компании, лучше создать собственное  хранилище.

Seafile – изящное решение этой проблемы. Настроенные на VPS серверы seafile могут выступать в качестве центрального расположения для синхронизации данных с несколькими клиентами и обмена файлами по всей организации.

Данное руководство продемонстрирует установку и настройку сервера seafile на виртуальном выделенном сервере Ubuntu 12.04. Затем этот сервер можно  использовать для загрузки и  взаимодействия с файлами через веб-интерфейс, или синхронизации локальных каталогов.

Требования

Прежде чем начать, нужно установить некоторые зависимости seafile.

Seafile использует базу данных *SQL для хранения информации. Следовательно, нужно установить MySQL из репозитория Ubuntu.

Можно также использовать SQLite, но эта СУБД не так надежна; потому рекомендуется использовать MySQL, более надежную СУБД для растущих сайтов. В целом, PostgreSQL будет работать так же хорошо, но в данном руководстве установка этой СУБД не рассматривается.

Кроме того, для корректной работы Seafile понадобятся некоторые библиотеки Python. К счастью, все они находятся в репозитории по умолчанию. Обновите кэш пакетов и установите их:

sudo apt-get update
sudo apt-get install mysql-server python-imaging python-mysqldb

Во время установки выберите пароль для базы данных MySQL.

Прежде чем запустить установку MySQL, нужно выполнить некоторые организующие действия. Создайте каталог для данных MySQL:

sudo mysql_install_db

Затем запустите скрипт безопасной установки, который отключит некоторые настройки по умолчанию.

sudo mysql_secure_installation

Введите ранее установленный пароль.

Затем нужно ответить на ряд вопросов. Нажмите enter, чтобы принять настройки по умолчанию (кроме вопроса о смене root  пароля).

Теперь все зависимости установлены и система готова к установке Seafile.

Загрузка Seafile

Компоненты Seafile можно загрузить с сайта проекта. По этой ссылке можно найти необходимый тарбол.

Прейдите к этой странице и прокрутите вниз, пока не дойдете до раздела Server. Под Server for generic Linux щелкните правой кнопкой мыши на соответствующую ссылку. Нажмите кнопку Copy link address (или выберите доступную аналогичную опцию).

На сервере нужно создать новый каталог для файлов seafile.

Примечание: большое количество новых каталогов может засорить домашний каталог.

mkdir seafile

Перейдите в новый каталог, наберите wget и через пробел вставьте только что скопированную ссылку. В данном случае это выглядит так:

cd seafile
wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_x86-64.tar.gz

Извлеките тарбол в текущий каталог.

tar xzvf seafile-server*

Перейдите в новый каталог:

cd seafile-server*

Настройка сервиса Seafile

Теперь, когда все нужные файлы загружены, запустите простой скрипт для настройки базы данных и установки сервера.

Для этого только что извлеченном каталоге запустите:

./setup-seafile-mysql.sh

Данный скрипт проверит, установлены ли все надлежащие зависимости. Так как все необходимое было установлено в первом разделе, проверка должна пройти без проблем. Для запуска скрипта нажмите enter:

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ]

Сначала нужно указать имя сервера. Выберите любое удобное для вас имя.

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ]

Введите доменное имя или IP-адрес сервера.

Следующие четыре вопроса касаются портов по умолчанию различных компонентов и каталогов по умолчанию для хранения файлов. Можно нажать enter, чтобы принять значения по умолчанию.

----------------------------------------
Now let's create the admin account
----------------------------------------
What is the email for the admin account?
[ admin email ]

Укажите email и пароль учетной записи администратора.

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

Поскольку БД не были созданы вручную, выберите 1, чтобы новая БД была создана автоматически. Будет запрошен хост и порт сервера MySQL. Примите настройки по умолчанию (если только ранее в конфигурационном файле MySQL эти данные не были изменены).

Введите пароль root пользователя MySQL.

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "root" ]

Затем выберите имя пользователя, который будет администрировать базы данных seafile. В целях безопасности рекомендуется выбрать новое имя (не учетную запись root).

В данном руководстве для простоты будет использоваться имя seafile. Выберите любое удобное имя и укажите пароль.

Нажмите enter на вопросы об именах для каждой базы данных – значения по умолчанию вполне подойдут.

На экране появится сводка выбранных параметров:

---------------------------------
This is your configuration
---------------------------------
server name:            MyServer
server ip/domain:       111.111.111.111
ccnet port:             10001
seafile data dir:       /home/demouser/seafile/seafile-data
seafile port:           12001
httpserver port:        8082
admin email:            user@example.com
admin password:         ******
database:               create new
ccnet database:         ccnet-db
seafile database:       seafile-db
seahub database:        seahub-db
database user:          seafile
---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

Если все верно, нажмите enter. Скрипт внесет все необходимые изменения.

Запуск Seafile

Теперь сервис Seafile готов к работе.

Для начала нужно запустить демон seafile, который контролирует функции обмена файлами и совместного использования данных.

Для этого запустите:

./seafile.sh start

Затем нужно запустить демон seahub, который предоставляет веб-интерфейс программы. Для этого выполните:

./seahub.sh start

На порту 8000 будет запущен простой веб-сервер Python. Чтобы открыть интерфейс в браузере, посетите:

ip_или_домен:8000

Появится приветственная страница seafile с формой входа.

Введите адрес электронной почты администратора и пароль, установленные на этапе настройки, после чего появится главная страница аккаунта.

Кликните на My Library в левом меню, чтобы загрузить файлы на сервер.

Для настройки синхронизации существуют клиентские приложения, доступные на всех основных платформах, включая мобильные. Вы можете найти и установить их по этой ссылке.

Итоги

Теперь сервер для обмена файлами полностью готов к работе. Seafile основывается на модели клиент-сервер, благодаря чему вся сохраняемая информация каждого пользователя всегда доступна. Можно без труда обмениваться репозиториями, добавлять и удалять членов команды из проектов и многое другое.

Tags: , , , , , ,

Добавить комментарий