Давно хотел попробовать в деле такую фишку как 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
наслаждаемся проделанной работой!)
6 комментариев. Оставить новый
в 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
Спасибо за инфу, на момент написания статьи такой фичи нее было!
Привет всем помогите с проблемой пытаюсь загрузить любой файл пишет Ошибка: can not connect the server
Проверь, у тебя процессы selafile запущены?
на фаере разрешены подключения?
Добавим в файл
# 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 — рут пасс на мускул.
аналогично для следующих файлов
Впечатлило……….
А что мешает самостоятельно создать нового пользователя и базу? Иногда и головой думать нужно)