платим 200р+ за cpm

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

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

платим 200р+ за cpm

Похожие посты

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

  • vbnzq
    5 лет назад

    в 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

    • username
      5 лет назад

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

  • scream
    5 лет назад

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

    • username
      5 лет назад

      Проверь, у тебя процессы selafile запущены?
      на фаере разрешены подключения?

  • Алексей
    6 лет назад

    Добавим в файл
    # 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 — рут пасс на мускул.
    аналогично для следующих файлов
    Впечатлило……….

    • username
      6 лет назад

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

Комментировать

Комментировать email не будет опубликован