# Dokeos 1.8 installation guide

Documentation > English installation guide

Thank you for downloading Dokeos! This text will guide you through the basics of installing Dokeos 1.8. Please read this fully before proceeding with the installation.

The installation guide is also available in other languages, please see this overview page for a list. The Dokeos website will notify when new translations are available.

This is only a short installation guide. We are writing a manual with more info on installation, but this was not ready at the time of writing. When ready, this manual will be accessible through the Dokeos documentation page. You can read the work in progress manual on our web writing area. We also maintain a list of Frequently Asked Questions (FAQ).

Contents

1. Requirements
2. Installing a new version of Dokeos
3. Upgrading from a previous version of Dokeos
4. Troubleshooting
5. Administration section
6. Ldap (optional)

## 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
- PHP
- 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).
Download Apache web server
Apache web server manual

#### 1.1.2. PHP

You need PHP version 5.2.x or later (5.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 PHP5 compiled distributions are provided with these modules. Anyway, their presence is checked by the Dokeos install script.
Download PHP
PHP manual

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.
Download MySQL server
MySQL server manual

Note:
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 :

    <prop oor:name="ooSetupConnectionURL">
    <value>
    socket,host=localhost,port=2002;urp;StarOffice.ServiceManager
    </value>
    </prop>

(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

- Install mod-jk
- 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)

- 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

- Restart/Reload Apache2

- Apache2 with mod-jk2 module

- Install mod-jk2
- copy a default workers2.properties to /etc/apache2/
- edit jk2.load remove comment lines
- 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).

NOTE:
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

2.7. Click on the install button and follow instructions. Windows: with combination packages like easyphp, out of the box, login and password for MySQL should probably remain empty.

2.8. Configuration and security after installation

- Protect your configuration file: make sure no one can overwrite it. You can find the config file in (dokeos folder)/main/inc/conf/configuration.php. Make it read-only (windows/xwindows: right-click the file to edit the properties. linux/bsd/macosx: use the chmod 444 command). The config file is created by Apache so you may need to be root user to change its permissions.
- Protect your installation folder: if the (dokeos folder)/main/install folder is still accessible, someone could install over your existing version (you could lose your data that way). Move the folder somewhere out of the web directories so it is not accessible, change its name, or edit its properties so no one can read or execute it.
- For better security: making the files world-writable will help you install, and solves many issues for people without much admin experience. However, it's better security to make the owner of the apache process (often called apache or www-data) also owner of all the dokeos files and folders. Ths way, these files need only be readable and writable by the Apache process owner, not by the entire world.
- Configure your Dokeos installation: in the administration section of Dokeos, you can use the Dokeos Config Settings to adjust the behavior of your installation.
- Configure Dokeos mail: most of Dokeos uses the mail settings from the php.ini file. However, the announcements tool uses phpMailer (another free software project) and the settings for this tool can be adjusted in (dokeos folder)/main/inc/conf/mail.conf.php.

## 3. Upgrading from a previous version of Dokeos

Before upgrading we heavily recommend you do a full backup of the previous Dokeos directories and databases. If you are unsure how to achieve this please ask your hosting provider for advice.

If you upgrade from Dokeos 1.8, you can simply copy the new files of 2.0.1 over the files of the older version. You should not copy over the home, courses or archive folders, otherwise you might lose data. If you accidentally copy over those folders, you can simply replace them with the folders from your backup.
If you upgrade from a lower version of Dokeos (1.6.x), you'll have to use the built-in upgrade facility, as described below.

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

3.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

3.3. Move the Dokeos directory to a different path from the previous version

WARNING:
Do not delete the previous Dokeos installation directory before installing the new one. When the update is successfully finished, you can remove the old path.

TIP:
If you want Dokeos 1.8 to be installed in the same directory as the previous version :

- move the old directory to a new location (e.g. move dokeos/ to dokeos_old/)
- uncompress Dokeos 1.8 to the old version directory (e.g. uncompress Dokeos 2.0.1 to dokeos/)
- go to next step

3.4. The following files need to be readable and writeable by the web server:

- 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 folders.

NOTE:
Do not modify the home_*.html files directly. Instead, choose "Configure the homepage" in the Dokeos administration section.

3.5. The following directories need to be readable, writeable and executable by the web server:

- 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.

3.6. Open a web browser and go to http://www.yourserver.org/yoursite/dokeos/index.php
On Windows, locally, with e.g easyphp or another combination package, open: http://localhost/dokeos/index.php

3.7. Click on the install button, then click on "Upgrade from Dokeos 1.6, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5" and follow the instructions.

## 4. Troubleshooting

In the future we will also provide instructions on how to do a "manual" install of Dokeos, by creating the database tables yourself. If you have any problems, go to the Dokeos website and ask a question on our support forum. Please read the previous messages first to see if there is already an answer to your question. We also maintain a list of Frequently Asked Questions.

## 5. Administration section

To access the Dokeos administration section, open browser, go to your Dokeos adress and log in with the admin user. Then you will see a "Platform admin section" link in the header of the web page.

## 6. LDAP

This part is optional, only organisations with an LDAP server will need to read this.
An LDAP module is already provided in Dokeos, but it has to be configured to make it work.

Compiling
Linux servers: It's possible that you have to recompile php with ldap support. Newer distributions also allow downloading rpms for additional packages.

Activating LDAP in Dokeos
In (dokeos folder)/main/inc/conf/configuration.php, around line 90, you see
//for new login module
//uncomment these to activate ldap
//$extAuthSource['ldap']['login'] = "./main/auth/ldap/login.php";
//$extAuthSource['ldap']['newUser'] = "./main/auth/ldap/newUser.php";
remove the // from the last two lines to activate LDAP.

Settings
Ask the LDAP server admin for the settings:

- ldap server name
- ldap server port (usually 389)
- ldap dc

You must enter these in (dokeos folder)/main/auth/ldap/ldap_var.inc.php
//parameters for LDAP module
$usesLDAP = TRUE;
$usesCurriculum = FALSE;
$ldaphost = "myldapserver.com"; // your ldap server
$ldapport = 389; // your ldap server's port number
$ldapDc = "dc=xx, dc=yy, dc=zz"; //domain

Teacher/student status
If you wish, you can give teacher/student status to dokeos users according to settings in the ldap server. This is not a standard field however, so you'll have to change some code. main/auth/ldap/ldap_var.inc.php around line 189, function putUserInfoInClaroline ($login, $infoArray)

if (your criterium)
{
$statut = STUDENT;
}
else
{
$statut = COURSEMANAGER;
}

If this seems too difficult, the simplest solution is to just put $statut = STUDENT; and give course manager rights through the administration section.

Protected LDAP servers
Some LDAP servers do not support anonymous use of the directory services In this case, you need code that binds with a name and password - this code has already been provided, just ask on a forum or email for this.

## 7 Debian based linux distribution (ubuntu)

The following packages have to be installed

- Apache(2)

- apt-get install apache2
- apt-get install apache2-common
- apt-get install apache2-utils
- apt-get install apache2-utils
- apt-get install libapache2-mod-jk

- Mysql

- apt-get install mysql-server
- apt-get install mysql-common

- php4

- apt-get install php4
- apt-get install php4-common
- apt-get install php4-mysql
- apt-get install apache2-mod-php4

- Java

- apt-get install sun-java5-jdk

- Powerpoint and Presenter conversiontool

- apt-get install openoffice.org
- apt-get install xvfb xbase-clients
- Install basic fonts and x-window when a headless server is used
- copy the oooserver.init file
- start the openoffice server with /etc/init.d/oooserver start

- Install Openlaszlo and tomcat

- downlooad dokeosopenlaszlo_1_8.tar.gz
- tar -xvzf dokeosopenlaszlo_1_8.tar.gz
- change if needed the references to java_home
- start the server with $installdir/lps-latest/Server/tomcat-5.0.24/bin/startup.sh

- Install Red5 server

- download dokeosred5_1_8.tar.gz
- tar -xvzf dokeosred5_1_8.tar.gz
- change if needed the references to java_home
- start the server with $installdir/dist/red5.sh

- Install Dokeos

- download dokeos.tar.gz
- tar -xvzf dokeos.tar.gz
- change the apache setting
- restart your web-server
- goto your dokeos homepage

Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium
Mail: info@dokeos.com