Debian установка и настройка собственного облачного хранилища Seafile

seafile
Давно хотел попробовать в деле такую фишку как seafile, представляющую из себя ни что иное как облачное хранилище, на твоем собственном сервере, без каких-либо ограничений, кроме как объем доступного пространства на сервере))) Т.к. сам давно использую dropbox и задолбало его ограничение, да и хранить какие-либо конфиденциальные данные на его серверах особо сыкотно, решил опробовать это чудо, под названием seafile, уж очень коллега нахваливал его (пользуясь случаем, передаю ему привет: «Серега, привет!!!!») 
Ставить будем на чистый Debian 7.1.
Заваливаемся на сервер по ssh, и ставим необходимое ПО:

# sudo aptitude install python2.6 python-setuptools python-simplejson python-imaging mysql-server mysql-client python-mysqldb sqlite3

Во время установки мускул сервера, установщик запросит пароль для рута, ставим любой, который Вам удобен, пример superpass.
Теперь топаем по ссылке http://www.seafile.com/en/download/, и выкачиваем последнуюю версию сервера, на момент написания была 1.7.0 

# mkdir /opt/seafile
# cd /opt/seafile
# wget http://seafile.googlecode.com/files/seafile-server_1.7.0_x86-64.tar.gz


распакуем архив

# tar -xzf seafile-server_*

создаем юзера для сервера

# useradd -d /opt/seafile seafile
# chown -R seafile. /opt/seafile

и от него запускаем установочный скрипт

# su - seafile
# cd /opt/seafile/seafile-server-*
# ./setup-seafile.sh

Расписывать как отвечать на вопросы установщика не буду, там нет ничего сложного.
Теперь добавим его в автозагрузку

# nano /etc/rc.local 

и добавляем туда строки перед exit 0:

/opt/seafile/seafile-server-1.7.0/seafile.sh start
/opt/seafile/seafile-server-1.7.0/seahub.sh start

запускаем сам seafile:

# /opt/seafile/seafile-server-1.7.0/seafile.sh start
# /opt/seafile/seafile-server-1.7.0/seahub.sh start

Теперь наш сервер доступен по url:
http://ваш_ip:8000 
В принципе все ничего, но в тырнетах читал, что при большом объеме файлов с sqlite вылетают проблемы с производительностью, хотя сам не натыкался, но обезопасим себя на будущее и переведем все это дело на mysql, не зря же мы его устанавливали ;)))

# mysql -uroot -p
Enter password:
mysql> 

Создадим 3 базы данных: ccnet-db, seafile-db, seahub-db:

mysql> create database `ccnet-db` character set = 'utf8';
Query OK, 1 row affected (0.00 sec)
mysql> create database `seafile-db` character set = 'utf8';
Query OK, 1 row affected (0.00 sec)
mysql> create database `seahub-db` character set = 'utf8';
Query OK, 1 row affected (0.00 sec)
mysql> Bye

Добавим в файл 

# nano /opt/seafile/ccnet/ccnet.conf

следующую секцию:

[Database]
ENGINE=mysql
HOST=localhost
USER=root
PASSWD=superpass
DB=ccnet-db
UNIX_SOCKET=/var/run/mysqld/mysqld.sock

где superpass — рут пасс на мускул.
аналогично для следующих файлов 

# nano /opt/seafile/seafile-data/seafile.conf
[database]
type=mysql
host=localhost
user=root
password=superpass
db_name=seafile-db
unix_socket=/var/run/mysqld/mysqld.sock

и этого

# nano /opt/seafile/seahub_settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER' : 'root',
        'PASSWORD' : 'superpass',
        'NAME' : 'seahub-db',
        'HOST' : '/var/run/mysqld/mysqld.sock',
    }
}

Перезапускаем вебсервер

# /opt/seafile/seafile-server-1.7.0/seafile.sh restart

Теперь займемся Seahub.
Выполним следующие команды, предварительно сверив все пути.

# export CCNET_CONF_DIR=/opt/seafile/ccnet
# export SEAFILE_CONF_DIR=/opt/seafile/seafile-data
# export INSTALLPATH=/opt/seafile/seafile-server-1.7.0
# export PYTHONPATH=${INSTALLPATH}/seafile/lib/python2.6/site-packages:${INSTALLPATH}/seafile/lib64/python2.6/site-packages:${INSTALLPATH}/seahub/thirdpart:$PYTHONPATH
# cd /opt/seafile/seafile-se*/seahub
# python manage.py syncdb
Loading ccnet config from /opt/seafile/ccnet
Loading seafile config from /opt/seafile/seafile-data
Creating tables ...
Creating table django_content_type
Creating table django_session
Creating table registration_registrationprofile
Creating table api2_token
Creating table avatar_avatar
Creating table avatar_groupavatar
Creating table base_uuidobjidmap
Creating table base_filediscuss
Creating table base_filecontributors
Creating table base_innerpubmsg
Creating table base_innerpubmsgreply
Creating table base_userstarredfiles
Creating table base_dirfileslastmodifiedinfo
Creating table base_filelastmodifiedinfo
Creating table contacts_contact
Creating table wiki_personalwiki
Creating table wiki_groupwiki
Creating table group_groupmessage
Creating table group_messagereply
Creating table group_messageattachment
Creating table group_publicgroup
Creating table message_usermessage
Creating table message_usermsglastcheck
Creating table notifications_notification
Creating table notifications_usernotification
Creating table profile_profile
Creating table share_anonymousshare
Creating table share_fileshare
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

После этого в базе данных seahub-db будут созданы необходимые таблицы.
Создадим суперюзера для нашейго облачного хранилища:

# python manage.py createsuperuser

Рестартим seahub

# /opt/seafile/seafile-server-1.7.0/seahub.sh restart

наслаждаемся проделанной работой!)

Поделись с друзьями:

Опубликовано 09.07.2013 в 16:28 · Автор komivlad · Ссылка
Рубрики: Debain · Теги: , , , ,

6 комментариев

Подписаться на комментарии по RSS

  1. Написал(-а) vbnzq
    04.02.2014 в 06:09
    Ответить · Ссылка

    в Seafile 2.1.4 ест отдельный скрипт для установки с использованием MySQL.

    Лежит в /opt/seafile/seafile-server-2.1.4/setup-seafile-mysql.sh

    создаем юзера для сервера...

    и от него запускаем установочный скрипт

    /opt/seafile/seafile-server-2.1.4/setup-seafile-mysql.sh

    • Написал(-а) komivlad
      04.02.2014 в 15:16
      Ответить · Ссылка

      Спасибо за инфу, на момент написания статьи такой фичи нее было!

  2. Написал(-а) scream
    02.02.2014 в 07:40
    Ответить · Ссылка

    Привет всем помогите с проблемой пытаюсь загрузить любой файл пишет Ошибка: can not connect the server

    • Написал(-а) komivlad
      03.02.2014 в 18:24
      Ответить · Ссылка

      Проверь, у тебя процессы selafile запущены?

      на фаере разрешены подключения?

  3. Написал(-а) Алексей
    17.12.2013 в 04:00
    Ответить · Ссылка

    Добавим в файл

    # nano /opt/seafile/ccnet/ccnet.conf

    следующую секцию:

    [Database]

    ENGINE=mysql

    HOST=localhost

    USER=root

    PASSWD=superpass

    DB=ccnet-db

    UNIX_SOCKET=/var/run/mysqld/mysqld.sock

    где superpass — рут пасс на мускул.

    аналогично для следующих файлов 

    Впечатлило..........

    • Написал(-а) komivlad
      17.12.2013 в 10:09
      Ответить · Ссылка

      А что мешает самостоятельно создать нового пользователя и базу? Иногда и головой думать нужно)

Подписаться на комментарии по RSS

Написать комментарий