55
55
Installing from source
56
56
======================
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.
61
To get the tree, either grab and extract a release tarball, or get the
62
very latest code using bzr: ::
66
You should then change into the new source directory.
68
As IVLE needs to compile some binaries, you must first build, then
72
sudo ./setup.py install
74
Unlike the package, you will have to manually set up the database and
77
.. TODO: Separate IVLE PostgreSQL account.
79
First you must create a PostgreSQL database, and populate it with the
80
IVLE schema. You may use any name for the database. ::
82
sudo -u postgres createdb ivle
83
sudo -u postgres createlang plpgsql ivle
84
sudo -u postgres psql -d ivle < userdb/users.sql
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
58
95
Basic configuration
59
96
===================
61
98
.. Note: Place here only the configuration required to get the system
62
99
installed and running. Any further configuration should go in config.rst.
101
IVLE needs a directory hierarchy in which to store filesystem data, which
102
by default lives in ``/var/lib/ivle``. Create it now. ::
104
sudo ivle-createdatadirs
106
.. TODO: Setting jail/devmode, jail/suite, jail/extra_packages...
107
We also need to document setting of the default mirror, once
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. ::
116
sudo ivle-buildjail -r -m http://url.to.archive/mirror
65
119
For more advanced configuration, see :ref:`Configuring IVLE
66
120
<ref-configuring-ivle>`.