Prerequisites
- A Rcs CentOS 7 server instance.
- A sudo user.
Step 1: Update the System
First, update your system server to the latest version.
sudo yum update -yOnce your system is up-to-date, restart the system and login with sudo user.
Step 2: Install LAMP
Before starting, you will need to install Apache, PHP, MySQL and other PHP libraries on your system.
You can install all of them with the following command.
sudo yum install httpd mariadb-server php php-mysql wget unzip -yOnce the installation is complete, start Apache and MariaDB and enable them to start at boot.
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadbStep 3: Configure MariaDB
First, you will need to secure MariaDB. You can secure it by running the mysql_secure_installation script.
sudo mysql_secure_installationAnswer all the questions as shown below.
Set root password? [Y/n] Y
New password: <STRONG_PASSWORD>
Re-enter new password: <STRONG_PASSWORD>
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YWhen all is done, connect to the MySQL shell.
mysql -u root -pEnter your password, then create a new database and user for Booked Scheduler.
MariaDB [(none)]>create database bookeddb;
MariaDB [(none)]>create user booked@localhost identified by 'password';
MariaDB [(none)]>grant all privileges on bookeddb.* to booked@localhost identified by 'password';
MariaDB [(none)]>flush privileges;
MariaDB [(none)]>exit;Step 4: Install Booked Scheduler
You can download the latest version of the Booked Scheduler from the Sourceforge download page.
wget https://excellmedia.dl.sourceforge.net/project/phpscheduleit/Booked/2.6/booked-2.6.7.zipAfter downloading, extract the downloaded file.
unzip booked-2.6.7.zipNext, move the extracted directory to the apache web root directory.
sudo mv booked /var/www/html/Next, change ownership of the booked directory to the www-data user and group.
sudo chown -R apache:apache /var/www/html/bookedStep 5: Configure Apache for Booked Scheduler
Next, you will need to create a new apache virtual host file for Booked Scheduler.
sudo nano /etc/httpd/conf.d/booked.confAdd the following lines.
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/booked
<Directory /var/www/bookedscheduler>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/booked-error.log
CustomLog /var/log/apache2/booked-access.log combined
</VirtualHost> Save and close the file when you are finished, then restart apache.
sudo systemctl restart httpdStep 6: Configure Booked Scheduler
First, you will need to copy the sample configuration file.
cd /var/www/html/booked/config/
sudo cp config.dist.php config.phpNext, open config.php file and make some changes as per your requirements.
sudo nano config.phpMake the following changes.
$conf['settings']['default.timezone'] = 'Asia/Kolkata';
$conf['settings']['admin.email'] = 'example@gmail.com'; // email address of admin user
$conf['settings']['admin.email.name'] = 'John Smith';
$conf['settings']['script.url'] = 'http://yourdomain.com/Web';
$conf['settings']['database']['type'] = 'mysql';
$conf['settings']['database']['user'] = 'booked';
$conf['settings']['database']['password'] = '';
$conf['settings']['database']['hostspec'] = '127.0.0.1';
$conf['settings']['database']['name'] = 'bookeddb';Save the file when you are finished.
Next, import the database schema and data.
cd /var/www/html/booked
mysql -u booked -p bookeddb < database_schema/create-schema.sql
mysql -u booked -p bookeddb < database_schema/create-data.sqlStep 7: Access Booked Scheduler
Once the Booked Scheduler is configured. Open your web browser and navigate to the URL http://yourdomain.com/Web/register.php. You will be redirected to the Registration page:

Provide all of the details and click on the Register button. You will see the Booked Scheduler dashboard:
