Debian установка и настройка собственного облачного хранилища 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.
Теперь топаем по ссылке
# 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
наслаждаемся проделанной работой!)
Поделись с друзьями:
Рубрики: Debain · Теги: Debian, mysql, Seafile, настройка, установка
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
04.02.2014 в 15:16
· Ссылка
Спасибо за инфу, на момент написания статьи такой фичи нее было!
02.02.2014 в 07:40
· Ссылка
Привет всем помогите с проблемой пытаюсь загрузить любой файл пишет Ошибка: can not connect the server
03.02.2014 в 18:24
· Ссылка
Проверь, у тебя процессы selafile запущены?
на фаере разрешены подключения?
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 — рут пасс на мускул.
аналогично для следующих файлов
Впечатлило..........
17.12.2013 в 10:09
· Ссылка
А что мешает самостоятельно создать нового пользователя и базу? Иногда и головой думать нужно)