---
title: New Installation
description: "## Initial Steps 1. Unzip the archived distribution to your web server's document root (or a directory where you would like to run Booked from). 2. Create a site, virtual directory, or server (depending on your web server technology) pointing…"
url: "https://www.bookedscheduler.com/help/installation/new-installation/"
updated: "2025-05-09"
category: Installation
---

# New Installation

## Initial Steps

1. Unzip the archived distribution to your web server's document root (or a directory where you would like to run Booked from).
2. Create a site, virtual directory, or server (depending on your web server technology) pointing to *<booked install location>*/booked/Web
3. Copy `config/config.dist.php` to `config/config.php` and adjust the settings for your environment.
4. Grant write access for the user, group, or App Pool to the following directories. *booked*is a placeholder and should be replaced with the path to your Booked installation.
   - *booked*/tpl_c
   - *booked*/tpl
   - *booked*/config
   - *booked*/Web/img
   - *booked*/Web/css
   - *booked*/uploads
   - *booked*/Web/uploads
   - *booked*/lang
5. In php.ini, ensure [session.autostart](http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start) is disabled.

## Installation Configuration

To configure the application, open `/config/config.php` and update any settings accordingly.

The installation minimally requires `script.url`and the `database`settings to be set. `script.url` should be pointed to the full, public URL for Booked.

**Ensure these are correct before continuing with the installation.**

## Database Setup

### 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 in order for the installation to succeed.

**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';

**Steps using cPanel**

- 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 add a prefix to 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 add a prefix to 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://*your-booked-public-url*/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

**Steps using cPanel**

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

## Register an Administrator

Open https://*your-booked-public-url*/ and click the Register button. Add a new user.

The first user registered will become your primary administrator account. You can change this at any time by updating the `admin.email` configuration setting.

## Getting Started

[Read the Booked Quick Start guide](https://www.bookedscheduler.com/getting-started/)
