Installing Booked Scheduler
- PHP 7.4 (8.x is not yet supported)
- Recommended minimum 256MB memory allocated to PHP
- gdlib enabled
- MySQL 5.6 or greater
- Web server
Upload Booked Files
- Unzip the archived distribution to your web server's document root.
- If you don't have direct access to your document root or use a hosting service, then transfer the extracted directory to your web server's document root using FTP
- Copy config/config.dist.php to config/config.php and adjust the settings for your environment.
- The most important settings for installation are script.url and the database settings. script.url should be pointed to the full, public URL for Booked including /Web
- The web server must have write access (0755) to /your-booked/tpl_c and /your-booked/tpl
- If using an FTP client, check read/write/execute for Owner and Group on /tpl, /tpl_c, and /uploads
- Important! Booked will not work if PHP session.autostart is enabled. Ensure this setting is disabled.
The most important settings for installation are script.url and the database settings. script.url should be pointed to the full, public URL for Booked including /Web. Ensure these are correct before continuing with the installation. To configure the application, open /config/config.php and update any settings accordingly. Note: If you try to load the application at this time, you will probably get a blank page. This is because there is no database configured yet.
Creating the MySQL Database and User
The database must be configured with the same name, credentials and other database settings that were set in config.php. The database user must have SELECT, CREATE, UPDATE, INSERT and DELETE privileges. Steps using MySQL command line Connect to MySQL using root credentials then run the following commands. Make sure the database name, user name, and password all match your config.php.
- CREATE DATABASE 'booked';
- CREATE USER 'booked_user'@'localhost' identified by 'password here';
- CREATE USER 'booked_user'@'127.0.0.1' identified by 'password here';
- GRANT ALL on 'booked'.* to 'booked_user'@'localhost';
- GRANT ALL on 'booked'.* to 'booked_user'@'127.0.0.1';
- Select the MySQL Databases tool
- Add a new user with username and password of your choice. This will be the database user and database password that you just set in your Booked config file. Please be aware that some hosts will prefix your database user name.
- Create a new database with whatever name you choose. This will be the name of the database in your Booked config file. 'bookedscheduler' is the recommended database name. Please be aware that some hosts will prefix your database name.
- Associate the new user with the new database, giving the user permission to SELECT, CREATE, UPDATE, INSERT and DELETE. Click the ‘Add User to Db’ button.
Automatic Schema Setup
Booked can set up the required tables and data directly. This is the recommended approach. Open https://yourhostname/booked/Web/install and follow the instructions.
Manual Schema Setup
Steps using MySQL command line Run the following commands
- mysql bookedscheduler < /full/path/to/booked/database_schema/create-schema.sql
- mysql bookedscheduler < /full/path/to/booked/database_schema/create-data.sql
- Open phpMyAdmin.
- Click on the database name that you just created in the left panel.
- Click the SQL tab at the top of the page.
- Import "/database_schema/create-schema.sql" to bookedscheduler (or whatever database name was used in the creation process)
- Import "/database_schema/create-data.sql" to bookedscheduler (or whatever database name was used in the creation process)
Always back up your filesystem and database prior to an upgrade. This is the only way to restore the application to a working state in the event something goes wrong.
Upload Latest Files
- Extract the latest Booked package to your local computer
- Using an FTP client, upload the local files to your web server running Booked. Fully overwrite all existing files and directories.
- Delete all contents of /tpl_c
Complete the Upgrade
- Open https://yourhostname/booked/Web/install and follow the instructions
First Login - Administrator
The first user registered will become your primary administrator account. You can change this at any time by updating the admin.email configuration setting.