Setup Seafile Server Development Environment

The following operations have been tested on ubuntu-16.04.1-desktop-amd64 system.

Install Necessary Packages

install necessary packages by apt

sudo apt install ssh libevent-dev libcurl4-openssl-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev python-dateutil cmake re2c flex sqlite3 python-pip python-simplejson git libssl-dev libldap2-dev libonig-dev

install libevhtp from source

cd ~/Downloads/
wget https://github.com/haiwen/libevhtp.git
cd libevhtp/
cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF .
make
sudo make install
sudo ldconfig

Download and Build Seafile

create project root directory dev

cd
mkdir dev

download and install libsearpc

cd ~/dev/
git clone https://github.com/haiwen/libsearpc.git
cd libsearpc/
./autogen.sh
./configure
make
sudo make install
sudo ldconfig

download and install ccnet-server

cd ~/dev/
git clone https://github.com/haiwen/ccnet-server.git
cd ccnet-server/
git checkout -b v6.0.3-server v6.0.3-server
./autogen.sh
./configure --enable-ldap
make
sudo make install
sudo ldconfig

download and install seafile-server

cd ~/dev/
git clone https://github.com/haiwen/seafile-server.git
cd seafile-server/
git checkout -b v6.0.3-server v6.0.3-server
./autogen.sh
./configure
make
sudo make install

download seahub

cd ~/dev/
git clone https://github.com/haiwen/seahub.git
cd seahub/
git checkout -b v6.0.3-server v6.0.3-server

Start ccnet-server and seaf-server

Start ccnet-server and seaf-server in two separate terminals.

cd ~/dev/seafile-server/tests
ccnet-server -c conf -f -
cd ~/dev/seafile-server/tests
mkdir seafile-data
touch seafile-data/seafile.conf
seaf-server -c conf -d conf/seafile-data -f -l -

The config files and databases (if you use sqlite, which is by default) of ccnet-server are located in ~/dev/seafile-server/tests/conf. This directory is called "ccnet conf directory". The config files, databases and data of seaf-server are located in ~/dev/seafile-server/tests/conf/seafile-data. This directory is called "seafile conf directory".

Start seahub

Seahub is the web front end of Seafile. It is written in the Django framework, requires Python 2.7 installed on your server.

set environment

cd ~/dev/seahub/

cat > setenv.sh << EOF
export CCNET_CONF_DIR=~/dev/seafile-server/tests/conf
export SEAFILE_CONF_DIR=~/dev/seafile-server/tests/conf/seafile-data
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:thirdpart:\$PYTHONPATH
EOF

sudo chmod u+x setenv.sh

install requirements

# Expand setenv.sh in the current shell
. setenv.sh
cd ~/dev/seahub/
sudo pip install -r requirements.txt

NOTE: if locale.Error: unsupported locale setting, you should export LC_ALL=en_US.UTF-8

create database and admin account

. setenv.sh
python manage.py migrate
python tools/seahub-admin.py # create admin account

NOTE: currently, your ccnet directory is ~/dev/seafile-server/tests/conf

run seahub

python manage.py runserver 0.0.0.0:8000

then open browser and navigate to http://127.0.0.1:8000

If you have set up Nginx/Apache to run Seafile, you should run seahub in fastcgi mode.

python manage.py runfcgi host=127.0.0.1 port=8000

results matching ""

    No results matching ""