# Update

> Follow the update guide to upgrade your own Easy!Appointments installation by following a few simple steps.

Source: https://easyappointments.org/documentation/update/

This page will guide you through the update procedure of your Easy!Appointments installation.

You will need to follow the steps below in order to have successful results.

If you get a `500 Internal Server Error` message, then you must check the error log files, located in the storage/logs directory.

Before you start following the steps below, make sure you back **up** your database and files.

### Steps

### Step 1: Update your Easy!Appointments files

Replace all files and directories in your installation directory (keep root config.php).

> Note: If you have any custom developed files in these directories, please make copies of them first.

### Step 2: Run the database migrations

Database migrations will bring your database structure to the latest state.

**Browser**

Open your browser to Easy!Appointments installation URL, login to the backend as an administrator and type in the browser address the following URL: `https://url/to/easyappointments/folder/index.php/update`

Since v1.6.1 this page only asks for confirmation - press the **Update** button to run the database upgrade.

**Console**

If you have console access to your server, then head to the installation directory and run `php index.php console migrate`.

### Version specific notes

Most updates need nothing beyond the steps above. These jumps need one extra thing:

-   **v1.0.x → v1.1.x** — copy your settings out of the old `configuration.php` into the new `config.php`.
-   **v1.1.x → v1.2.x** — make sure the `storage` folder is writable; it was added in this version.
-   **v1.3.x → v1.4.x** — delete the `/autoload.php` file; it is no longer used, and leaving it in place breaks the installation. (Older notes also told you to delete `/system` at this step: on a current release that folder is part of the application, so never delete it.)
-   **v1.2.x → v1.3.x, v1.4.x → v1.5.x, v1.5.x → v1.6.x** — nothing extra.

Since v1.6.1 the defaults for the CORS origins and the cookie SameSite policy live in `application/config/routes.php` (`$allowed_origins`) and `application/config/config.php` (`$config['cookie_samesite']`). A `CORS_ALLOWED_ORIGINS` or `COOKIE_SAMESITE` constant defined in your root `config.php` is still honoured and overrides those defaults, so existing customisations keep working after the update.
