PHPackages                             kaliop/ezpublish5universalinstaller - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. kaliop/ezpublish5universalinstaller

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

kaliop/ezpublish5universalinstaller
===================================

The eZ5 Universal Installer toolset

2.9.1(4y ago)514.4k3GPL-2.0PHP

Since May 18Pushed 4y ago3 watchersCompare

[ Source](https://github.com/kaliop-uk/ezpublish5universalinstaller)[ Packagist](https://packagist.org/packages/kaliop/ezpublish5universalinstaller)[ GitHub Sponsors](https://github.com/sponsors/tanoconsulting)[ RSS](/packages/kaliop-ezpublish5universalinstaller/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (2)Versions (13)Used By (0)

Kaliop eZPublish 5 installer
============================

[](#kaliop-ezpublish-5-installer)

A package which makes deploying your installations a breeze. Developed for eZPublish5, works with eZPlatform 1 and 2.

Installation
------------

[](#installation)

- Add this package as requirement to your project via composer: in composer.json

    ```
      ...
      "require": {
          ...
          "kaliop/ezpublish5universalinstaller": "*",
          ...
      },
      ...

    ```

Execution
---------

[](#execution)

Different commands are available, all through a command-line application. To see the list of commands, run:

```
    php bin/ezp5installer.php

```

(assuming that the top-level bin folder is set to 'bin' in composer.json, as it is by default in eZPublish)

Most commands need to have an environment defined to successfully execute. This can be set either using the '--env' option, or the SYMFONY\_ENV environment variable

Feature: managing legacy settings
---------------------------------

[](#feature-managing-legacy-settings)

- This allows to keep the settings for eZP Legacy somewhere in your eZ5 repository, outside of a Legacy Extension
- You can store them in any dir you like, default is 'ezpublish/legacy\_settings'
- Both 'common' settings and 'per environment' settings files are allowed, with the latter overwriting the former if a file is present in both locations
- Settings files are symlinked by default. On windows, when run as not-admin, they get copied over
- The command to deploy the settings is:

    ```
      php bin/ezp5installer.php legacy-settings:install --env

    ```
- The expected structure of settings folders is:

    ```
       Structure:
                  |- common
                  | |- override
                  |   |- *.ini
                  | |- siteaccess
                  |   |-
                  |     |- *.ini
                  |-
                    |- override
                    | |- *.ini
                    |- siteaccess
                      |-
                        |- *.ini

    ```

Feature: managing per-environment configuration (apache, solr, etc)
-------------------------------------------------------------------

[](#feature-managing-per-environment-configuration-apache-solr-etc)

- This makes it possible to keep files like .htaccess in the project, with one version per env or one global version, and deploy them to a target dir (inside the eZP root dir or even outside of it)
- Using a similar subdirectory structure as legacy settings; the default dir for storing the files is 'ezpublish/misc\_files'
- The command to deploy the files is:

    ```
      php bin/ezp5installer.php misc:install --env

    ```

    If one of the target files exists and is not a symlink, deployment will fail. Use the '-o' option to allow overwrites

Feature: cleaning the database from temporary data
--------------------------------------------------

[](#feature-cleaning-the-database-from-temporary-data)

While developing the site, the eZ db will accumulate 'temporary cruft' in some tables, like the most searched-for contents, pending notifications and last visited pages for logged-in users.

While it is not mandatory to do so, it is a good idea to remove this data before shipping the db to UAT/PROD. One of the available commands: `database:cleanup` is designed to do so.

It is also a useful tool if you use full database dumps at any point in time, and want to compare them by using 'diff' or similar tools.

Feature: purging the Memcache cache
-----------------------------------

[](#feature-purging-the-memcache-cache)

See the memcache:purge command, eg:

```
php bin/ezp5installer.php memcache:purge

```

NB: only works when eZPublish is set up using yml config files

Feature: purging the Varnish server
-----------------------------------

[](#feature-purging-the-varnish-server)

See the varnish:purge command, eg:

```
php $DIR/ezp5installer.php varnish:purge --key=ezpublish.system.my_siteaccess_group.http_cache.purge_servers

```

NB: only works when eZPublish is set up using yml config files

Feature: purging the OPCache cache
----------------------------------

[](#feature-purging-the-opcache-cache)

In order to achieve that, we have to make an http request to the web server. One way is to:

1. set up a script to purge opcache in the web root

    ```
