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