ExpressionEngine Docs

# Installing ExpressionEngine

- Pre-Flight Check
- 1. Prep the Database
- 2. Upload the Files
- 3. Set File Permissions
- 4. Run The Installation Wizard
- Welcome to ExpressionEngine!
- Other Installation Options

## Pre-Flight Check

Important: If you need to update your installation from an earlier version, see the Update Instructions instead.

Before getting started, make sure your web host and your browser meet all the System Requirements to run ExpressionEngine.

## 1. Prep the Database

You’ll need an empty database and the following credentials handy to install ExpressionEngine. If you’re not sure how to create a new database or find this information, ask your web host.

- MySQL Database Name
- MySQL Server Address (often `127.0.0.1` or `localhost` or the server IP address)
- MySQL Username
- MySQL Password

## 2. Upload the Files

Download the latest release of ExpressionEngine and unzip the files to a folder on your computer. Then use your favorite FTP client to upload the files to a publicly-accessible directory on your server.

## 3. Set File Permissions

You need to enable write access to the following files and folders.

For Apache, that would be `666` for files and `777` for directories, in a worst-case scenario. You should check with your web host to see if more restrictive permissions can be used to allow PHP to write to files and directories. See File Permissions for details.

For IIS, provide all permissions to the IIS user for these files and directories.

- `system/ee/`
- `system/ee/*` (only top-level files and directories need modifying)
- `system/user/config/config.php`
- `system/user/cache/`
- `system/user/templates/`
- `images/avatars/`
- `images/captchas/`
- `images/member_photos/`
- `images/pm_attachments/`
- `images/signature_attachments/`
- `images/uploads/`
- `themes/ee/`
- `themes/ee/*` (only top-level files and directories need modifying)
- `themes/user/`

Tip: On a Unix based system, you can use the following pattern in your terminal to set permissions recursively to what you need for folders and files. In this example, we are setting all directories in system/ee to 755 and all files therein to 644, recursively:

    find system/ee \( -type d -exec chmod 755 {} \; \) -o \( -type f -exec chmod 644 {} \; \)

## 4. Run The Installation Wizard

1. Point your browser to the URL of the `admin.php` file you uploaded. For example: `https://example.com/admin.php`.
2. Follow the on-screen instructions to install ExpressionEngine.
3. Once the Installation Wizard is finished, you should rename or remove the `system/ee/installer/` directory from your server.

Tip: If you choose not to install the default theme, your site’s homepage will appear blank because no templates or content has been created yet.

## Welcome to ExpressionEngine!

You can now log in to your Control Panel at `https://example.com/admin.php`!

If you’re new to ExpressionEngine, get started with the Ten Minute Primer.

### Post-Installation Best Practices

Once you are confident that ExpressionEngine is working normally on your server, we recommend a few best practices for protecting your installation against common security risks.

## Other Installation Options

### Install with Softaculous and cPanel

If your web host utilizes the cPanel admin tool with the Softaculous auto installer, you can one-click install ExpressionEngine. Simply navigate to Softaculous, search for ExpressionEngine under “Portal/CMS” and click “Install Now”.