~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/man/install.rst

  • Committer: William Grant
  • Date: 2009-04-28 07:22:03 UTC
  • Revision ID: grantw@unimelb.edu.au-20090428072203-j5ratziusj3kv4tq
Allow template string interpolation in the config.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.. IVLE - Informatics Virtual Learning Environment
2
 
   Copyright (C) 2007-2009 The University of Melbourne
3
 
 
4
 
.. This program is free software; you can redistribute it and/or modify
5
 
   it under the terms of the GNU General Public License as published by
6
 
   the Free Software Foundation; either version 2 of the License, or
7
 
   (at your option) any later version.
8
 
 
9
 
.. This program is distributed in the hope that it will be useful,
10
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
   GNU General Public License for more details.
13
 
 
14
 
.. You should have received a copy of the GNU General Public License
15
 
   along with this program; if not, write to the Free Software
16
 
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
 
 
18
 
************
19
 
Installation
20
 
************
21
 
 
22
 
System requirements
23
 
===================
24
 
 
25
 
Given versions are those on which IVLE is known to work; earlier versions
26
 
might work too. Debian/Ubuntu package names are given after the name of the
27
 
software.
28
 
 
29
 
* Ubuntu 8.04 or later (other distros should work with some tweaking, but are untested)
30
 
* Apache 2.x with modules:
31
 
   + mod_python (``libapache2-mod-python``)
32
 
   + mod_dav_svn and mod_authz_svn (``libapache2-svn``)
33
 
* Python 2.5 or 2.6 with modules:
34
 
   + pysvn (``python-svn``)
35
 
   + cjson (``python-cjson``)
36
 
   + Genshi (``python-genshi``)
37
 
   + ConfigObj (``python-configobj``)
38
 
   + Routes (``python-routes``)
39
 
   + docutils (``python-docutils``)
40
 
   + epydoc (``python-epydoc``)
41
 
   + Storm (``python-storm``)
42
 
   + psycopg2 (``python-psycopg2``)
43
 
* jQuery (``libjs-jquery``)
44
 
* PostgreSQL 8.3 or later (``postgresql``)
45
 
* Subversion (``subversion``)
46
 
* debootstrap (``debootstrap``)
47
 
* GCC and related build machinery (``build-essential``)
48
 
 
49
 
Master versus slave servers
50
 
===========================
51
 
 
52
 
Installing from a Debian package
53
 
================================
54
 
 
55
 
Installing from source
56
 
======================
57
 
 
58
 
While installing from a distribution package is often a better idea for
59
 
users, developers will need to install from a plain source tree.
60
 
 
61
 
To get the tree, either grab and extract a release tarball, or get the
62
 
very latest code using bzr: ::
63
 
 
64
 
   bzr get lp:ivle
65
 
 
66
 
You should then change into the new source directory.
67
 
 
68
 
As IVLE needs to compile some binaries, you must first build, then
69
 
install it: ::
70
 
 
71
 
   ./setup.py build
72
 
   sudo ./setup.py install
73
 
 
74
 
Unlike the package, you will have to manually set up the database and
75
 
configuration.
76
 
 
77
 
.. TODO: Separate IVLE PostgreSQL account.
78
 
 
79
 
First you must create a PostgreSQL database, and populate it with the
80
 
IVLE schema. You may use any name for the database. ::
81
 
 
82
 
   sudo -u postgres createdb ivle
83
 
   sudo -u postgres createlang plpgsql ivle
84
 
   sudo -u postgres psql -d ivle < userdb/users.sql
85
 
 
86
 
The configuration wizard - ``ivle-config`` - will ask you a series of
87
 
questions. Apart from database settings, the defaults should be correct
88
 
for a development system. If deploying IVLE properly - particularly on
89
 
multiple nodes - several options will need to be changed. Watching
90
 
carefully, run: ::
91
 
 
92
 
   sudo ivle-config
93
 
 
94
 
 
95
 
Basic configuration
96
 
===================
97
 
 
98
 
.. Note: Place here only the configuration required to get the system
99
 
   installed and running. Any further configuration should go in config.rst.
100
 
 
101
 
IVLE needs a directory hierarchy in which to store filesystem data, which
102
 
by default lives in ``/var/lib/ivle``. Create it now. ::
103
 
 
104
 
   sudo ivle-createdatadirs
105
 
 
106
 
.. TODO: Setting jail/devmode, jail/suite, jail/extra_packages...
107
 
         We also need to document setting of the default mirror, once
108
 
         issue #150 is fixed.
109
 
 
110
 
You will require a self-contained jail environment in which to safely
111
 
execute student code. The creation process basically downloads a minimal
112
 
Ubuntu system and installs it in ``/var/lib/ivle/jails/__base__``. Note
113
 
that this could download a couple of hundred megabytes. You should
114
 
replace the URL with a good close Ubuntu mirror. ::
115
 
 
116
 
   sudo ivle-buildjail -r -m http://url.to.archive/mirror
117
 
 
118
 
Configuring Apache
119
 
------------------
120
 
 
121
 
IVLE makes use of two Apache virtual hosts: one for the application itself,
122
 
and one for the Subversion services. There are example configuration files
123
 
in ``examples/config/apache.conf`` and ``examples/config/apache-svn.conf``,
124
 
which will run IVLE at ``http://ivle.localhost/``.
125
 
 
126
 
On a Debian or Ubuntu system, just copy those two files into
127
 
``/etc/apache2/sites-available`` under appropriate names (eg. ``ivle`` and
128
 
``ivle-svn``). Then you need to activate them: ::
129
 
 
130
 
   sudo a2ensite ivle
131
 
   sudo a2ensite ivle-svn
132
 
   sudo /etc/init.d/apache2 reload
133
 
 
134
 
 
135
 
.. note::
136
 
   For more advanced configuration, see :ref:`Configuring IVLE
137
 
   <ref-configuring-ivle>`.