Installation

Server Requirements

Doorstep has a few system requirements:

  • Apache 2 or Nginx (Ubuntu / Debian / CentOS)
  • SSH Access with Git and PHP-CLI
  • PHP >= 5.5.9
  • Mbstring, PDO, Zip, OpenSSL, Tokenizer, FTP and JSON PHP Extensions

As of PHP 5.5, some OS distributions may require you to manually install the PHP JSON extension. When using Ubuntu, this can be done via apt-get install php5-json.

Install Composer

Doorstep utilizes Composer to manage third party dependencies. First, download a copy of the composer.phar. Once you have the PHAR archive, you can either keep it in your local project directory or move to usr/local/bin to use it globally on your system.

Install Doorstep

License

Currently the installation and update process require Git to be installed on the server to successfully complete the installation. We protect our distributions of Doorstep, so you will also need a valid license key to continue.

Step 1: Download and install via Composer

Step one is to download or clone the latest version of Doorstep into a directory on your server.

git clone --depth=1 https://github.com/doorstepapp/doorstep

or, if you prefer you can download an extract the the latest zip

You should end up with the following directory structure

Next, in the root of your Doorstep folder, run the command

composer install

(or php composer.phar install if composer is installed locally)

As well as installing the core Doorstep framework, this will pull in the latest version of Laravel and it's dependencies.

You will be asked to confirm your username and password in a dialog like the following:

  - Installing doorstep/framework (dev-master 5e8766c)
    Authentication required (get.doorstepapp.com):
      Username: 
      Password:

You should enter your Doorstep license key for both the username and password to authenticate and download the Doorstep framework.

Note: your Doorstep license is valid for the project / website that you purchased only.

If you receive an error, see Troubleshooting.

Step 2: Database Configuration

By default Doorstep uses hidden dotenv files to protect your secret information (like database password) from being shared. The default environment for Doorstep is local. To change this and set up your database credentials, copy the .env.example file to a new .env file within the root directory.

cp .env.example .env

After creating a database, you should update the configuration in the .env file. You should also update the APP_KEY variable to allow encryption to work safely. If you prefer to have one auto generated, issue the command

php artisan key:generate

After setting up the environment configuration, you should run the following command

php artisan doorstep:install

inside the main Doorstep directory - this will migrate and install your database.

Server Configuration

Whether using Apache or Nginx, your host configuration should be set up to point to the public folder within your installation root.

Doorstep / Laravel comes with a public/.htaccess file which allows URLs without index.php - just make sure Apache has the mod_rewrite module enabled.

If you use Nginx, the following directive in your server configuration will allow "pretty" URLs:

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

Admin User

The installation process of Doorstep will create a demo user with the login details below. You should login to the admin area (at /admin) and change the email and password within the Users page.

  • Email: demo@doorstepapp.com
  • Password: password

Configuration

You will want to review the config/site.php file as it contains the main settings for your Doorstep website.

Note: You should never have APP_DEBUG (inside .env) set to true for a production (live) application. Not only will this reveal error details but your environment (sensitive) variables and passwords may be exposed.

Permissions

Doorstep needs to write to a select number of folders, namely everything within storage and public. You should give write access to these by the web server.

Troubleshooting

command not found: composer

Composer is usually downloaded to you current directory as composer.phar. To make Composer available globally as composer, you should move this file to a folder that is in your PATH, for instance /usr/local/bin. For more information, see the Composer Documentation

Failed to execute git clone.. Permission denied

If you receive the error below, your Doorstep license username/password were not valid or accepted. Please contact us for help.

    Permission denied (publicly).
  fatal: Could not read from remote repository.
  Please make sure you have the correct access rights
  and the repository exists.