Quick Start Guide

    This quick start guide is aimed at experienced PHP developers who already have a development environment set up. Head over to the Installation Chapter for the complete guide.

    UserFrosting is a free, open-source jumping-off point for building user-centered web applications with PHP and Javascript. It comes with a sleek, modern interface, basic user account features, and an administrative user management system - all fully functioning out of the box.

    This is the documentation for UserFrosting 4. If you are looking for documentation for previous versions of UserFrosting, please see here.

    Server Requirements

    UserFrosting has a few system requirements. Of course, all of these requirements are satisfied by the Homestead virtual machine, so it's highly recommended that you use Homestead as your local UserFrosting development environment.

    However, if you are not using Homestead, you will need to make sure your local UserFrosting development environment meets the following requirements:

    • Web server software (Apache, Nginx, IIS, etc)
    • PHP 7.2 or higher (7.4 recommended)
    • PDO PHP Extension
    • GD PHP Extension
    • Database (MariaDB, MySQL, Postgres, SQLite, or SQL Server)
    • Composer
    • Node.js 10.12.0 or higher
    • npm 6.0 or higher

    Installing UserFrosting

    Use git to clone the latest version of UserFrosting into a new userfrosting folder:

    $ git clone https://github.com/userfrosting/UserFrosting.git

    Once the project is created using composer, cd into the newly created UserFrosting folder and run the following command to fetch the composer dependencies:

    $ cd UserFrosting
    $ composer install

    Now run the final setup by calling the Bakery CLI:

    $ php bakery bake

    This will run the installation process:

    • Setting up your database and SMTP credential in app/.env
    • Checking for missing dependencies
    • Create the admin user
    • Running the database migration
    • Building the raw assets

    If any dependencies are not met, an error will occur. Simply run the command again after fixing said error. For more information about the bake command, head to the Bakery CLI chapter.

    Public Directory

    After installing UserFrosting, you should configure your web server's document / web root to be the /public directory. The index.php in this directory serves as the front controller for all HTTP requests.

    Directory Permissions

    UserFrosting needs to be able to write to the file system for a few directories:

    • /app/cache
    • /app/logs
    • /app/sessions
    • /app/storage

    Web Server Configuration

    Apache

    UserFrosting includes a public/.htaccess file that is used to provide URLs without the index.php front controller in the path. Before serving UserFrosting with Apache, be sure to enable the mod_rewrite module so the .htaccess file will be honored by the server.

    Nginx

    Use the configuration file provided in webserver-configs/nginx.conf.

    IIS

    Please see the section on Configuring for IIS.

    Visit your website

    At this point, you should be able to access your application. You should see a basic page:

    Basic front page of a UserFrosting installation

    What's next...

    For more detailed information about installing UserFrosting, or if you need help with the basic setup requirements, check out the Installation Chapter. Otherwise, head over to the Sprinkles Chapter.