Make sure your environment is set up to run classroombookings.

classroombookings is web-based software - it requires web and database server software to run it, and a web browser to access it. You should have sufficient knowledge of setting up and maintaining these servers.

Server requirements

These requirements apply to version 2.8 onwards.

  • Apache, Nginx or IIS web server.
  • PHP versions: 7.2 - 8.1.
  • PHP modules: mysql/mysqli/pdo_mysql and GD.
  • Databases: MySQL 5.7, MySQL 8, MariaDB 5 or MariaDB 10. (MySQL 8 requires PHP 7.4 or above)
  • Filesystem write permissions
  • Apache module mod_rewrite for clean URLs (optional)


If you are using Nginx, you may need to use the following directive in your main / location:

server {
location / {
try_files $uri $uri/ /index.php?$query_string;

Clean URLs

If you are using the Apache or Nginx web servers, classroombookings supports clean URLs - that is, being able to hide the 'index.php' part of classroombookings URLs. If you are using Nginx and the configuration above, no further server changes are required.

If using Apache, enable the 'mod_rewrite' module on your server and rename the example ".htaccess.txt" file to just ".htaccess".

If you are using classroombookings in a subfolder (e.g., edit the .htaccess file and add a line after "RewriteEngine On" like below:

RewriteBase /classroombookings/

Finally, edit your "local/config.php" file to instruct classroombookings to use clean URLs. Set the value of 'index_page' to an empty string, like the example below. Leave the other values as they are.

defined('BASEPATH') OR exit('No direct script access allowed');

return array(

	'config' => array(
		// ( other configuration values here... )
		'index_page' => '',
		// ( more configuration values... )