1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
src directory - README
======================
This directory is the root of the IVLE web application proper. It is this
directory that should be installed into the web server to be executed.
Navigating to the place this directory is installed shall be the entrypoint
into the application.
Note that no files placed in this directory or its subdirectories will be
directly visible from the web, *except* those files placed in `/media` or its
subdirectories.
Apache configuration
--------------------
The Apache conf file should have the following directives added to it, which
configures the site to direct all URLs to the main dispatcher (except for
files in the /media directory).
# IVLE directory configuration
# See src/README for instructions and explanation
<Directory "/ivle-directory">
SetHandler mod_python
PythonHandler dispatch_handler
#PythonDebug On
Options FollowSymLinks
PythonOption ivle.handlerpath "/ivle-directory"
</Directory>
<Directory "/ivle-directory/media">
SetHandler None
</Directory>
Where `ivle-directory` is the path to root directory of IVLE on the web
server.
Uncomment `PythonDebug On` to turn on debugging.
Note that this disables directory listings across the whole site (which
essentially only affects the /media directory).
Application configuration
-------------------------
Additional settings must be written to allow IVLE to work (such as the root
URL and student file space directories). The web application will throw an
exception if these have not been set up (if conf/conf.py does not exist).
Run setup.py, a command-line tool, which will interactively create
conf/conf.py for you.
Special handling of media directory
-----------------------------------
One important exception: Apache must be configured so that the `/media`
directory and its subdirectories are served directly as-is, with no special
handling.
Files in the `/media` directory should be served with the standard MIME types
(eg. text/html for .html, image/png for .png). **No** server-side script
handling should take place in the media directory. That is, .py and .php files
should be simply served up as text/plain or whatever their default MIME type
is.
This simply means that the web server should NOT be configured to handle
scripts anywhere in the ivle directory, except for the above handling code.
Subdirectories
--------------
* /apps - Each plugin application has its own directory.
* /dispatch - Handler module for the top-level dispatch.
* /media - Contains files directly served by Apache (see above).
* /conf - Administrator configuration files (see /conf/README).
|