...
Description
...
of
...
how
...
to
...
install
...
the
...
software
...
needed
...
for
...
Lobber.
...
Hosts
Hostname | Use |
---|---|
Web application and tracker server | |
Database server | |
Storage Node |
All hosts are running Ubuntu (10.04)
...
with
...
the
...
following
...
extra
...
packages
...
and
...
customizations.
...
Common
...
to
...
all
Code Block |
---|
} apt-get install git-core git-doc ssl-cert git-core python-virtualenv { |
Code Block |
---|
} {code} apt-get install postfix # local only configuration! {code} h2. Web application and tracker server |
Web application and tracker server
Code Block |
---|
{code} apt-get install apache2 libapache2-mod-wsgi libapache2-mod-shib2 libpq-dev python-dev {code} |
You
...
might
...
need
...
these:
Code Block |
---|
} python-egenix-mxdatetime python-egenix-mxtools python-pycurl python-openssl python-twisted {code} |
Set
...
up
...
a
...
virtual
...
python
...
environment
...
(
...
...
)
...
and
...
activate
...
it.
Code Block |
---|
} virtualenv --no-site-packages /path/to/lobber_env source /path/to/lobber_env/bin/activate {code} |
Install
...
the
...
needed
...
python
...
applications.
Code Block |
---|
} pip install django django-tagging django-form-utils orbited stomp.py psycopg2 {code} |
You
...
might
...
need
...
these:
Code Block |
---|
} pip install uuid django-evolution django-extensions werkzeug {code} |
Get
...
Lobber
...
from
...
git.nordu.net
...
and
...
check
...
out
...
the
...
latest
...
stable
...
version.
Code Block |
---|
} git clone git@git.nordu.net:lobber.git cd lobber git checkout bud-light {code} |
Create
...
the
...
a
...
log
...
directory
...
and
...
symlink
...
the
...
environment
...
directory
...
and
...
Django
...
admin
...
media
...
directory
...
in
...
to
...
the
...
lobber
...
directory.
Code Block |
---|
} /path/to/lobber/ mkdir logs cd src ln -s /path/to/lobber_env env ln -s env/lib/python2.6/site-packages/django/contrib/admin/media admin-media {code} |
Edit
...
paths
...
and
...
other
...
options
...
in
...
settings.py.
Code Block | ||
---|---|---|
| ||
{code} TRACKER_ADDR = 'localhost' ADMINS = ( ('Your name', 'your@email.net'), DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_NAME = 'lobber' DATABASE_USER = 'lobber' DATABASE_PASSWORD = 'secret_password' DATABASE_HOST = 'database host' DATABASE_PORT = 'database port' DROPBOX_DIR = '/dir/writable/by/apache/user/dropbox' # Make this unique, and don't share it with anybody. SECRET_KEY = 'secret' INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', # For the Permission model. 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'tagging', 'lobber.extensions', 'lobber.userprofile', 'lobber.share', 'lobber.links', 'lobber.tracker', 'lobber.auth' ) {code} |
Synchronize
...
the
...
database.
Code Block |
---|
} ./dev-django-admin.sh syncdb {code} Setup [Orbited|http://orbited.org] by creating {{ |
Setup Orbited by creating /etc/orbited.cfg
...
:
Code Block | ||||
---|---|---|---|---|
| =
| |||
} [listen] http://:9001 stomp://:61613 [access] * -> localhost:61613 [static] [global] session.ping_interval = 300 user=www-data [logging] debug=STDERR,debug.log info=STDERR,info.log access=STDERR,info.log warn=STDERR,error.log error=STDERR,error.log #Don't enable debug by default enabled.default=info,access,warn,error {code} |
and
...
make
...
sure
...
that
...
orbited
...
is
...
started
...
like
...
this
...
automatically
...
at
...
boot:
...
echo
...
"orbited
...
-c
...
/etc/orbited.cfg"
...
>>
...
/etc/rc.local
...
You
...
might
...
need:
Code Block |
---|
} pip install stompservice {code} |
Activate
...
some
...
Apache
...
modules:
Code Block |
---|
} # a2enmod shib2 # a2enmod headers # a2enmod rewrite # a2enmod proxy # a2enmod proxy_http {code} |
Set
...
up
...
cron
...
jobs
...
for
...
expiring
...
old
...
torrents,
...
keys
...
and
...
peers.
Code Block |
---|
{code} # m h dom mon dow command */5 * * * * cd /path/to/lobber/src/ && ./dev-django-admin.sh expire_peers 5 /dev/null 2>&1 0 0 * * * cd /path/to/lobber/src/ && ./dev-django-admin.sh expire_torrents >/dev/null 2>&1 5 0 * * * cd /path/to/lobber/src/ && ./dev-django-admin.sh expire_keys >/dev/null 2>&1 {code} |
To
...
be
...
able
...
to
...
accept
...
file
...
uploads
...
in
...
the
...
Lobber
...
web
...
application
...
you
...
need
...
to
...
install
...
a
...
Lobber
...
storage
...
node
...
on
...
the
...
web
...
application
...
and
...
tracker
...
server.
...
Storage
...
node
...
See
...
...
...
...
...
Note
...
that
...
the
...
web
...
application
...
and
...
tracker
...
server
...
needs
...
a
...
storage
...
node
...
nowadays
...
– that's
...
how
...
we
...
do
...
file
...
upload.
...
Database
...
server
Code Block |
---|
} apt-get install postgresql-client-8.4 {code} h2. Setting up your own sandbox # |
Setting up your own sandbox
- apt-get
...
- install
...
- python-virtualenv
...
- virtualenv
...
- /mina/envs/lobber
...
- .
...
- /mina/envs/lobber/bin/activate
...
- pip
...
- install
...
- django
...
- django-extensions
...
- django-tagging
...
- orbited
...
- uuid
...
- django-evolution
...
- stomp.py
...
- werkzeug
...
- psycopg2
...
- git
...
- clone
...
- git@git.nordu.net:lobber.git
...
- (alt.
...
- git
...
- pull)
...
- cd
...
- lobber
...
- git
...
- checkout
...
- <branch>
...
- mkdir
...
- db
...
- mkdir
...
- logs
...
- cd
...
- src
...
- ./dev-django-admin.sh
...
- syncdb
...
- ln
...
- -s
...
- /mina/envs/lobber
...
- env
...
- ln
...
- -s
...
- env/lib/python2.6/site-packages/django/contrib/admin/media
...
- admin-media
...
- Edit
...
- paths
...
- in
...
- settings.py
...
- ./dev-django-admin.sh
...
- runserver_plus
...