About Dokeos

Dokeos is an elearning and course management web application,
and is free software (GNU GPL). It’s translated into 30 languages,
SCORM compliant, and light and flexible.

Dokeos supports many different kinds of learning and collaboration activities.
Teachers/trainers can create, manage and publish their courses through the web.
Students/trainees can follow courses, read content or participate actively
through groups, forums, chat.

Technically, Dokeos is a web application written in PHP that stores data in a
MySQL database. Users access it using a web browser.

If you would like to know more or help develop this software, please visit
our homepage at http://www.dokeos.com


Dokeos is an AMP software. This means it should work on any platform running Apache
+ MySQL + PHP. It is then supposed to work on the following Operating Systems :

* Linux
* Windows (98, Me, NT4, 2000, XP)
* Unix
* Mac OS X

It has been tested on

* Fedora, Mandrake, Red Hat Enterprise Server, Ubuntu, Debian
* Windows XP, Windows 2000
* Mac OS X 10.3

Email functions remain silent on systems where there is no mail sending software
(Sendmail, Postfix, Hamster…), which is the case by default on a Windows machine.


1. Requirements
2. Installing a new version of Dokeos

1. Requirements

As from Dokeos 1.8 additional plugins can be enabled. Two of these plug-ins needs a set of prerequirements and additional installation of software modules. The basic requirements have to be met by the core or basic Dokeos modules. Both additional plugins do need a jdk (java development environment). The additional packages may be installed on an other computer as the DokeosServer.

* Basic requirements
* Java requirements (only needed when adding convertions or videoconferencing
* Powerpoint and Presenter convertions to Learnpath
* Videoconferencing

1.1 Basic Requirements

Dokeos is a web application which requires some other software to function:

* A web server – we recommend Apache
* The MySQL database server

These software packages have to be installed on the computer where you will install Dokeos.
You can install all these software packages separately, which often gives the best results. However, beginning users who want to test Dokeos can use a combination package that installs all these software packages in one simple install. If you want to use a combination package, we recommend Wamp (Download at the WAMP5 website, you also need the PHP4 add-on) or XAMP.

1.1.1. A web server

The Apache web server is recommended, and Dokeos is configured to use some Apache security enhancements if possible. However, other web servers will work too. For best security results, you need to have the Apache module mod_rewrite activated. The mod_rewrite rules for Dokeos are read from a .htaccess file in the courses folder, so Apache needs to allow this (AllowOverride FileInfo in httpd.conf).

1.1.2. PHP

You need PHP version 4.3.2 or later (4.x versions), configured with the following modules : mysql, zlib, preg, xml. PHP versions 5 or later are not supported by Dokes yet. You need the ldap module too if you want to use ldap with Dokeos. Most of the PHP4 compiled distributions are provided with these modules. Anyway, their presence is checked by the Dokeos install script.

Some users could meet problems if their PHP setting doesn’t fit these ones:

* short_open_tag = On
* safe_mode = Off
* magic_quotes_gpc = On
* magic_quotes_runtime = Off

Past Dokeos versions required register_globals to be set to On. This is no longer necessary, this can be set to Off and Dokeos will work fine.

BSD users: these php libraries have to be included during php installation:

* php-mysql The mysql shared extension for php
* php-pcre The pcre shared extension for php
* php-session The session shared extension for php
* php-zlib The zlib shared extension for php
* php-xml
* (optional) php-ldap if you want to be able to use LDAP authentication

1.1.3. The MySQL database server

You will need a login and password allowing to administrate and create at least one database. By default, Dokeos will create a new database for each course created. It means your host should allow you to create and administrate several databases. You can also install DOkeos using only one database, in that case you have to select this option during the installation.

It seems the backticks characters (`) inserted inside most of the Dokeos SQL queries since version 1.3 don’t work with MySQL versions before 3.23.6.

1.1.4. Permissions

Furthermore, Dokeos needs to have write access to specific directories. The best way to deal with these permission is to give the webserver user read/ write access on the specified directories. The other directories can work with read access. The specific directories are listed in the installation section. or unzipped to. On a Windows machine locally, this is not a problem. Remotely, you need to be allowed to CHMOD through FTP, telnet or any means.

1.2 Java Requirements

Install a java jdk on the system where you will install the conversiontool and the videoconferencing modules. Depending on the system this environment have to be installed
Download Java runtime environment and install

1.3 Requirements for Powerpoint and Presenter imports

For the basic conversion of a presentation to Dokeos on neede the installation of openoffice.org.

Download openoffice.org and install

Once the latest version of OpenOffice.org is installed, edit the configuration file (Setup.xcu) and add the following property :socket,host=localhost,port=2002;urp;StarOffice.ServiceManager

(ex on Debian /usr/lib/openoffice/share/registry/data/org/openoffice/Setup.xcu)

For the basic convertion of a presentation to Dokeos one need to run the openoffice server in headless mode. On linux systems this is done via the X framebuffer (xvfb package). When your server does not contain an x-window system, additional fonts and basic x-window libraries have to be installed for not running into problems.

If during the conversion sets one need additional recording of sound, then the installation of the Openlaszlo and tomcat modulesare needed.

The startup from the Openoffice server at startup from the computer van be done via the file oooserver.init. Additional description is found on the Dokeos wikihttp://www.dokeos.com/wiki/index.php/MakeOOOListening

Configuration in dokeos platform admin, Configure the services, Configure PowerPoint2LearningPath

* host:localhost
* Username:
* Ftp password:
* Path to LZX Files:
When the openofficeserver runs on the same server as Dokeos. Host is localhost. Otherwise the remote parameters have to be entered. When a recording of audio is needed then the path to the lzx files is needed. When the openlaszlo server is installed on an other server the host has to be added otherwise./lps-latest/dokeos/videoconference/ppt2lprecorder.lzx

1.4 Requirements for VideoConferencing

The set-up and usage of the videoconferencing and recording functionality in Dokeos is provided by patched external packages. These patches are at this moment not yet available in the latest stable release of the packages. The following 4 packages are used. Openlaszlo comes in a packages with the tomcat server 5.0.24. The red5 streaming servers is packaged with the jetty servlet engine. In order to be able to correctly identify the usercontext from Dokeos into Openlaszlo and Red5 the connection between the apache webserver and the tomcat servlet engine is needed.

* OpenLaszlo: http://www.openlaszlo.org/
* Apache Tomcat: http://tomcat.apache.org/
* Red5: http://osflash.org/red5
* Jetty: http://www.mortbay.org/

Download of the additional packages from the Dokeos site.

* The packages Openlaszlo and tomcat can be downloaded at http://www.dokeos.com/download/… dokeosopenlaszlo_1_8.tar.gz
* The Red5 packages can be downloaded at http://www.dokeos.com/download/… dokeosred5_1_8.tar.gz

1.4.1 Requirements and installation of OpenLaszlo

Depending if the Openlaszlo server is installed on the same server as the webserver of dokeos, different parameters have to be changed

* Installation of the Openlaszlo server tar -xzvf dokeosopenlaszlo_1_8.tar.gz
* Check the path to the JAVA_HOME in $yourinst/lps-latest/Server/tomcat-5.0.24/bin/startup.bin(bat)
* If on a different server then the file should be edited $yourinst/lps-latest/Server/lps-latest/videoconference/videoconference.lzx (rmtphost should change to the host of dokeosserver, rmtphostlocal local tomcatserver)
* Start server with $yourinst/lps-latest/Server/tomcat-5.0.24/bin/startup.bin(bat)

1.4.2 Requirements and installation of Red5 Server

Installation and set-up of the Red5 Server

* Installation tar -xzvf dokeosred5_1_8.tar.gz
* Check the path to the JAVA_HOME$yourinst/dist/red5.sh(bat)
* Start the server with $yourinst/dist/red5.sh(bat)

1.4.3 Requirements for the connection of Tomcat with Apache

The mod-jk or mod-jk module for apache(2) has to be installed in order to transfer the sessiondata from the Dokeos to the additional plugins. For the installation of the additional modules see the installation guide of the webserver.

* Apache2 with mod-jk module
o Install mod-jk
o Configure the workers.properties file
+ edit file /etc/libapache2-mod-jk/workers.properties (ubuntu)
+ workers.java_home=/usr/lib/j2sdk1.5-sun (path to the java sdk)
+ workers.tomcat_home=$yourInstallation/lps-latest/Server/tomcat-5.0.24 (path to tomcat of Openlaszlo)
o Configure the file jk.load
+ edit file /etc/apache2/mods-enabled/jk.load (ubuntu)
+ JkLogFile /var/log/apache2/mod_jk.log
+ JkLogLevel info
+ JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
+ JkMount /lps-latest ajp13
+ JkMount /lps-latest/dokeos/* ajp13
o Restart/Reload Apache2
* Apache2 with mod-jk2 module
o Install mod-jk2
o copy a default workers2.properties to /etc/apache2/
o edit jk2.load remove comment lines
o Restart/reload Apache2

1.4.4 Configuration of DokeosVideoServerving plugin

The configuration of the videoServing is done via de admin pages of Dokeos

Configuration in dokeos platform admin, Configure the services, Configure VideoConferencingServer

This contains the URL to the videoserver the example is for a localversion

* url:/lps-latest/videoconferencing/videoconferencing.html

Bandwidth calculation

Outgoing Stream:7KB Incoming Stream: 12KB

1 one2four VideoConference: 4 outgoing streams from every client: 4*7KB=28KB incoming traffic on server-side 12 incoming streams to every client: 12*12KB=144KB outgoing traffic from server-side

1 one2many Conference (up to 50 seats) 1 outgoing streams -> 7KB incoming traffic 50 incoming streams -> 50*12KB = 524KB outgoing traffic

2. Installing a new version of Dokeos

2.1. Download the Dokeos 1.8 install package (.zip for Windows users or .tar.gz for all others) from the Dokeos download page.

2.2. Unzip or untar the downloaded install package. Most current operating systems can do this with a built-in graphical application, if this doesn’t work you can open a commandline, go to the download directory and type tar -zxvf dokeos-community-1.8.tar.gz

2.3. Move by any means (FTP, SCP, local file copy) the contents of the Dokeos install package to your website on your webserver (whether webroot or subdirectory). Your webserver can also be your local computer. Be sure to copy all the folders (archive, home, claroline, courses) as well as all the .php files.

For Windows users who install Dokeos locally: if you use an Apache/PHP/MySQL combination package, just drag and drop the contents of the Dokeos install package into the web directory of the combination package:

* EasyPHP – C:\Program Files\easyphp\www\
* WAMP – C:\Program Files\wamp\www\
* XAMP – C:\Program Files\xamp\www\

2.4. The following directories need to be readable, writeable and executable for the owner of the apache webservice:

* dokeos/main/inc/conf/
* dokeos/main/garbage/
* dokeos/main/upload/
* dokeos/main/img/default_courses_img/
* dokeos/archive/
* dokeos/courses/
* dokeos/home/

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 777 command for this. In Windows, you may need to check the properties of the folders (by right-clicking on them).

2.5. The following files need to be readable and writeable for everyone:

* dokeos/main/inc/conf/configuration.php (if present)
* dokeos/home/*.html

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 666 command for this. In Windows, you may need to check the properties of the files and folders (by right-clicking on them).

Do not modify the home_*.html files directly. Instead, choose “Configure the homepage” in the Dokeos administration section.

2.6. Open a web browser and go to http://www.yourserver.org/yoursite/dokeos/index.php If you install Dokeos locally (not on a server) open: http://localhost/dokeos/index.php