Skip to content

Install

Install Sym8 – the modernized Symphony CMS for PHP 8. This step-by-step guide explains system requirements, installation, and essential post-installation tips for a secure setup.

Installation guide

This guide will walk you through the installation of Sym8 step by step. With the recommended server setup, the whole process takes only a few minutes.

Server requirements

  • A webserver (known to be used with Apache, Litespeed, Nginx)
  • Apache’s mod_rewrite module or equivalent
  • PHP 8.0 - 8.4
  • PHP’s LibXML module, with the XSLT extension enabled (--with-xsl)
  • PHP’s built in json functions, which are enabled by default in PHP 5.2 and above; if they are missing, ensure PHP wasn’t compiled with --disable-json
  • gd or imagick library

Sym8 also requires a MySQL-compatible database.

✅ Recommended:

  • MariaDB 10.3 – 11.x
  • MySQL 5.5 – 8.0

MySQL 8.1+ and MySQL 11

MySQL 8.1+ and MySQL 11 have introduced changes that may affect installation or operation. If you’re using these versions, please make sure to disable ONLY_FULL_GROUP_BY and check compatibility. Full support is planned for a future release.

Installing

  1. Upload the entire sym8 folder to your webspace and let your domain (e.g. example.com) point to that directory.

    For example:
    If your server path is /home/username/web/example.com, upload to /home/username/web/example.com/sym8 and point the domain to that directory.

  2. Open the install subdirectory in your web browser (e.g., https://example.com/install/) and enter the following details:

    • Website name and email address for outgoing messages
    • Time zone and date format
    • Details for the database (user, password, server, port)
    • Author details
  3. Please note that Symphony creates three pages during installation:

    • Home (simple index page with Pico CSS)
    • Error page 403 (for directories without an index file)
    • Error page 404
  4. After successful installation, you can log in to the backend at /symphony using the credentials you just set.

Post install

Email delivery

Sym8 uses sendmail by default for sending emails. For productive environments, we strongly recommend switching to SMTP – eg. via your hosting provider or an external mailbox provider.

Email delivery

By default, emails are sent via sendmail. Many mailbox providers treat these emails as unsafe and deliver them to the SPAM folder. Therefore, switch the email delivery method to SMTP in the “Preferences”.

Create authors

To create and manage content in the backend, set up author accounts.
For security reasons, the developer account should not be used as an author and should remain reserved for administrative tasks only.

Note on extensions

Some extensions were intentionally not enabled during install. Please check the following extensions and install them manually:

Remove installer

Don’t forget to remove the installer. It has done its duty — and leaving it on the server would be a serious security risk.

Update

Update Sym8 2.84.0+

Safe to use the built-in update function

Updates from Sym8 2.84.0 and later (e.g. future releases like 2.85.0) can be performed via the built-in update mechanism.

All database changes and bundled extensions are fully handled by the updater.

Update SymphonyCMS <= 2.7.10

Do not use the built-in update function

Older Symphony installations must not be updated via the built-in update mechanism. Doing so will break your installation irreversibly. There are two main reasons for this:

  1. Database changes: Sym8 uses utf8mb4 and introduces new columns in several tables. The old updater does not apply these changes, which will lead to severe errors.
  2. Extensions: Legacy extensions that are not part of the Sym8 package can cause errors and malfunctions if carried over without review.

How to upgrade manually

If you want to migrate an existing Symphony installation to Sym8, please proceed as follows:

  1. Back up your database and /workspace directory.
  2. Install Sym8 fresh in a new location (new database).
  3. Migrate content:
    • Recreate your sections, data sources, and events in the new installation.
    • Use the opportunity to modernize your fields:
      Replace text fields with regex validation (for email or number formats) by the new native HTML5 fields (email, number) to improve UX and mobile input handling.
    • Export your entries from the old instance via the extension Import/Export CSV.
    • Import the entries into the new instance: The extension Import/Export CSV validates required fields and constraints (required, min, max, etc.) during import. This helps detect and skip broken records from your old instance.
  4. Migrate workspace assets: Move templates, stylesheets, scripts, and other assets from your old /workspace into the new one.
  5. Review extensions: Only use extensions included in the Sym8 package. If you rely on custom or third-party extensions, check compatibility carefully before enabling them.
  6. Test thoroughly before going live.