Installation Guide

1. Check Apache, PHP and MySQL

Apache – Version 2.x is required. Make sure the rewrite and header modules are enabled. The application will not work if the rewrite module is not enabled. The application relies on .htaccess URL rewrite to call the appropriate scripts. The Apache AllowOverride Directive should be set to “All” instead of “None” in order for Apache to load the TODCM .htaccess file. Example:

<Directory "/var/www/html">
Options FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

PHP – Make sure PHP 5.2, 5.3 or 5.4 is installed, older PHP versions don't work. PHP 5.1 might work if the JSON PHP extension is installed but it is not suggested.

MySQL – Any 5.x version will work. Version 4.x might work and please let us know if it does work for you.

XAMPP is a popular package that includes Apache, MySQL and PHP. You can download the XAMPP package at http://www.apachefriends.org.

2. Copy TODCM Files

Copy the TODCM files from your downloaded TODCM zip/tgz package file into your web root folder, putting TODCM in a folder under your web root folder works too. If your web root folder is /var/html then you should see the following files and directories in /var/html:

<images>
<include>
<install>
<licenses>
<misc>
<system>
<templates>
index.php
index_ci.php
release.txt

Note: Do not copy the top level folder from inside the zip/tgz package file.

3. Install TODCM

For illustration purpose, the web URL http://example.com is used throughout this document.

Type http://example.com in your browser. The TODCM installation will appear. Just follow the instructions from the installation page:

4. Running PHP in Apache as CGI

This is the result of installing TODCM in a third-party hosting environment. This is not officially supported by TODCM since some of the TODCM features don’t work in this kind of restrictive environment. The installation does work with a server environment that runs PHP as CGI. Some older versions of TODCM require manual workaround in a CGI environment, the latest version of TODCM will install in a CGI environment without any manual workaround required. The PDF generation and the math formula image generation are most likely not functional due to the restrictive third-party hosting environment.

The following is a typical installation screen in a third-party hosting environment, click the "Continue Anyway" to install at the user’s own discretion.

5. PDF Generation

The PDF executable is bundled with the installation for Linux (verified on CentOS 5.x), Mac and Windows. The bundling is for your convenience and it is not guaranteed it will work for your particular environment. If for some reason you are having problem with the PDF generation then you should look at http://code.google.com/p/wkhtmltopdf/ for updates.

The TODCM application will still be 100% functional without a working PDF generator, except of course – no PDF document generation.

This executable will most likely not functional if you are installing on a shared Linux hosting account from an internet hosting company.

Note: Make sure all the X11 packages and all fonts are installed for Linux systems in order for the PDF generator to work.

6. Mimetex

This is a CGI executable for the math formula image generation. The bundled executable may not work in your environment. You can download the latest version from http://www.forkosh.com/mimetex.zip and compile your own executable.

The TODCM application will still be 100% functional without a working Mimetex CGI, except of course – no math formula image generation from the TinyMCE editor.

This executable will most likely not functional if you are installing on a shared Linux hosting account from an internet hosting company.

7. Reinstalling TODCM

If for some reason, you need to reinstall TODCM; you can remove the original TODCM folder (this would delete the .htaccess file on Linux) and copy a new set of files from your downloaded TODCM source package. The other option is to:

A) Delete the file .htaccess under the top folder of TODCM – same folder as in section 2 above.

B) Run http://example.com/install instead of http://example.com mentioned in section 3 above.