To use Myddleware you need a server

  • With a web server like apache.
  • PHP from version 7.2

Myddleware uses Doctrine so you will need to have the PDO driver installed for the database server you intend using.

1.2.Downloading Myddleware

Please download the latest version of Myddleware here.

1.3.Copying files to web server

Once you have downloaded the Myddleware package, copy and extract it on your web server.

You should have these directories :


Make sure that these permissions are correctly set up :

  • The following directories have to be writable by the web user
    • myddleware/var/cache/
    • myddleware/var/logs/
  • The following files have to be writable by the web user :
    • myddleware/app/config/parameters.yml
    • myddleware/app/config/public/parameters_public.yml
    • myddleware/app/config/public/parameters_smtp.yml

1.4.Install Myddleware

You can install Myddleware by adding “/web/installMyddleware.php” to your Myddleware URL :  http://<path_to_myddleware>/web/installMyddleware.php

Change your file permission or PHP configuration if you face a permission error or if a PHP requirement is missing :


Once you have fixed the potential errors, you should be able to install Myddleware.

Create a database on your server. Fill in the form to connect to this database then create your user profile to log in to Myddleware :


Wait until the page is refreshed (this could take 30 seconds) :


Then click on the URL to open Myddleware and log in with the user profile you have just created :


Myddleware is now ready to be used :


For security reasons, please delete the installation file : http://<path_to_myddleware>/web/installMyddleware.php

We advise you to set up your web server, you will find help here.

1.5.Install via command

Before starting, make sure your configuration is correct : open a command shell and run this command :

php bin/symfony_requirements

Change your configuration until your system is ready to install Myddleware :


Create a database on your server then change these parameters in the file /myddleware/app/config/parameters.yml:

  • database_driver: pdo_mysql
    • Don’t change the driver pdo_mysql
  • database_host:
    • It is “localhost” if the database is on the server where you have installed Myddleware
  • database_port:
  • database_name:
  • database_user:
  • database_password:
  • secret:
    • You have to create a random string of 32 characters (more info here)


Then, go to your Myddleware directory and run these commands :

Clear the cache in case you have already tried to install Myddleware

php bin/console cache:clear -e prod

Generate the file Myddleware needs to run (more info here)

php bin/console assetic:dump -e prod --no-debug

Generate web bundles files

php bin/console assets:install web -e prod

Create tables into your database

php bin/console doctrine:schema:update -f -e prod

Add data in the created tables

php bin/console doctrine:fixtures:load --append -e prod

Create the user profile to log into Myddleware. Change the values myddleware_username, myddleware_user_email, myddleware_password into your own parameters

php bin/console fos:user:create myddleware_username myddleware_user_email myddleware_password -e prod

Add the admin role to the user you have just created

php bin/console fos:user:promote myddleware_username ROLE_ADMIN -e prod

Make sure that these permissions are correctly set up :

  • The following directories have to be writable by the web user
    • myddleware/var/cache/
    • myddleware/var/logs/
  • The following files have to be writable by the web user :
    • myddleware/app/config/parameters.yml
    • myddleware/app/config/public/parameters_public.yml
    • myddleware/app/config/public/parameters_smtp.yml

For security reasons, please delete the installation file : <path_to_myddleware>/web/installMyddleware.php

We advise you to set up your web server, you will find help here.

You can now access Myddleware with this URL :


1.6.Install from Github

To get Myddleware from Github, use this command :

git clone https://github.com/Myddleware/myddleware.git

Go to the Myddleware root directory, create your parameter files :

cd myddleware
cp app/config/parameters.yml.dist app/config/parameters.yml
cp app/config/public/parameters_smtp.yml.dist app/config/public/parameters_smtp.yml
cp app/config/public/parameters_public.yml.dist app/config/public/parameters_public.yml

And install the vendors :

php composer.phar install --no-plugins

Then follow this tutorial to install Myddleware using your browser.


2.Setting up a cron task

Myddleware can work with background tasks to sync your data, send notifications, clean data, and more.

If you wish to do so, you will have to set up some background tasks using the crontab.

Before creating the crontask, make sure your configuration is correct, open a command shell and run this command :

php bin/symfony_requirements


Change your file permission or PHP configuration in case of permission error or missing PHP requirement :


You can now start the following tasks depending on your needs :

cd <myddleware directory>; php bin/console myddleware:synchro ALL  --env=background  > /dev/null 2>&1

  • This program will synchronise the data by running every active rule.
  • Parameter => ALL or rule_name_slug :

cd <myddleware directory>; php bin/console myddleware:rerunerror 100 5  --env=background  > /dev/null 2>&1

  • This program will read the documents in error and will try to send them again
  • 1st parameter => limitation on the number of documents in error that the program will read. In this particular case, the program will read a maximum of 100 documents in error
  • 2nd parameter => limitation on the number of attempts : documents that Myddleware tried to send maximum 5 times will be read.

cd <myddleware directory>; php bin/console myddleware:cleardata  --env=background  > /dev/null 2>&1

  • This program will clear all data depending on whether the parameter “Deleting data” is set on the rule.
  • Don’t run this program if you don’t want to clear data.

cd <myddleware directory>; php bin/console myddleware:notification  --env=background  > /dev/null 2>&1

  • This program will send a notification if some documents are in error. An e-mail will be sent to the email address set up in the file myddleware/app/config/config_background.yml , parameter notification_emailaddress

Here is an example of the crontab :


3.Upgrading Myddleware

We suggest you use git to update Myddleware. If you don’t have git on your server, here are the instructions on how to install it : https://git-scm.com/download/linux

Before doing anything else, create a backup of your Myddleware before updating.

After the backup, go to the root directory of Myddleware and run the command as stated below to update all the Myddleware files.

If you have never used git with Myddleware, please run these commands from your Myddleware root directory:

git init
git remote add -t master origin https://github.com/Myddleware/myddleware.git
git fetch
git checkout origin/master -ft

Then you can upgrade Myddleware with this command :

php bin/console myddleware:upgrade --env=background

If you have a problem during the upgrade you can do it step by step by following this tutorial :

git pull

If you get this message below during the pull, you have probably changed at least one file in the Myddleware standard code. Please read the good practices article to learn how to add custom upgraded & safe code in Myddleware. It will help you manage the conflicts. You can also delete these files, run the pull and you will get the latest version of this files. However, you will loose your custom code.

Then update Symfony vendors and their dependencies:

php composer.phar install --no-plugins

At this stage, if it is your first upgrade with git, you will have to answer “yes” several times to this question:

Then run this command to update Myddleware’s database:

php bin/console doctrine:schema:update --force --env=background
php bin/console doctrine:fixtures:load --append --env=background

Then, please change your myddleware version parameter “myd_version” into the file <myddleware>\app\config\parameters.yml using the version number in the file <myddleware>\app\config\parameters.yml.dist

Finally clear the cache and refresh css and js files with these commands:

rm -rf var/cache/*
php bin/console assetic:dump --env=background --no-debug
php bin/console assets:install web --env=background

If you encounter any difficulties updating Myddleware, please contact us on our forum : https://github.com/Myddleware/myddleware/issues


First of all, click on this link on “try now” :

You will be invited to create a free trial account on Platform.sh, our cloud hosting partner. Myddleware will then be deployed automatically.

Once your account is created, choose the region your cloud is located in:

Finally, continue to payment. You won’t be charged during the trial period (30 days) and you can cancel anytime.

At this point Platform.sh generates your account :

Please wait 2 minutes and you will be redirected to your platform environment. Add a name to your projet :

Click on “Next”. Platform.sh will then generate your Myddleware environment :

Wait 2 minutes until the status changes to “Success” :

Click on “Visit your website”. You will be redirected to the login page of your Myddleware :

For security reasons, please change your password in Myddleware :

You will also be able to change your email address as well, should you want to be alerted on your data transfers’ advancements.

Have fun with Myddleware !

Suggest Edit