Installation
Prerequisites
The system should be installed on a server running:
- The Apache Webserver
- A subdomain, such as syllog.youruniversity.edu, on which you can run a VirtualHost with Apache.
- Python 2.6 or later
- mod_wsgi for Apache
- A working version of the Java JDK (only for code-signing the Java applet referenced below)
- Django 1.3.1 or later (only tested with Django 1.3.1)
You should also download a copy of Prolog+CG and use it as part of the install as indicated under "Installation" below.
Prolog+CG can be downloaded from here. You should download version 2.0.16 or later, and you should download the ZIP file version.
Download
You should download a current release of the syllog system from here:
then proceed to Installation.
Installation
Follow these steps to install the system on your server:
Initial server setup
- Set up DNS for your subdomain, for example, syllog.youruniversity.edu.
- Download the Syllog release you want from the download area of the Syllog website on SourceForge.net.
- Locate your www-root on the server. In the examples below, we'll assume it is "/var/www/html"
- cd into your www-root.
- Make a directory called "syllog" (probably as root). This will contain all Syllog-related files on your server:
~~~~
# mkdir syllog
~~~~
- cd into syllog
- Unzip the distribution tar file of syllog that you have downloaded (and probably uploaded to the server)
Install the PPCGApplet.jar file
This step is necessary because the Java Applet needs the Prolog+CG engine, written in Java, to run.
- Install the PPCGAplet.jar file from Prolog+CG:
- In a temporary directory, unpack the Prolog+CG zip file that you downloaded under 'Prerequisities' above.
- Locate "PPCGApplet.jar" inside the unzipped Prolog+CG binaries.
- Copy PPCGApplet.jar to /var/www/html/syllog/htdocs/applet/
- Sign the PPCGApplet.jar copy that you just copied to your WWW-root. If you don't, your students will be able to answer, but the Java Applet won't be allowed to send answers over the 'net for logging, and your server won't receive any answers.
- cd /var/www/html/syllog/htdocs/applet/
- If you do not have a key with which to sign it, create a self-signed key using the tools available with the JDK by doing:
~~~~
keytool -genkey -keyalg rsa -alias YourKeyName
~~~~
- Then sign the PPCGApplet.jar:
~~~~
jarsigner PPCGApplet.jar YourKeyName
~~~~
Set up Django
- cd into your /var/www/html/syllog root directory again.
- Set up Django
- cd Dango/logsyllogsite/
- Edit settings.py to your liking. The Django documentatio over at http://www.djangoproject.com/ is helpful if you don't know what the variables mean.
- python manage.py syncdb
- Answer all questions, incuding setting an admin username, email and password. Be sure to remember these!
Set up Apache
- Set up Apache
- cd into your /var/www/html/syllog root directory again.
- cd Django/logsyllogsite/apache
- Copy syllog.example.com.conf to your conf directory for apache
- Edit the syllog.example.com.conf file in your Apache conf directory, so that it matches your system.
- Enable the syllog.example.con.conf file, so that it will be read next time the configuration files are read
- Give Apache a kick (as root):
~~~~
# apachectl graceful
~~~~
In order to be able to log anything, you should make the Prolog code point to your DNS entry.
-
Configure the sylArist.plgCG file so that it logs to your backend URL.
- cd into your /var/www/html/syllog root directory again.
- cd htdocs/applet/
- Edit sylArist.plgCG in your favorite editor
- Locate the line that says:
~~~~
concat("http:/", "/syllog.youruniversity.edu/logsyllog/log?", _urlbase).
~~~~
- Remove the syllog.youruniversity.edu subdomain, and add your own.
- Save the file
That's it. You should now be able to visit the URL you created in DNS and set Apache up to serve with the syllog.example.com.conf file.
Testing
Once you visit your URL, your browser should display a HTML page with the student-facing applet.
You can try a few questions yourself, then visit:
http://syllog.youruniversity.edu/admin/
to log into the admin interface.
After loggin in, you should be able to dump the data by visiting one of the following URLs: