Easily Deploy a Symfony2 Project with Maestro

View the original article on our blog, HERE

What is Maestro?

Maestro is a tool ServerGrove built to help the deployment of symfony projects on shared hosting accounts. In a few simple steps you will have your project up and running. Maestro will only work on ServerGrove shared hosting accounts.

Step 1: Create domain

When you sign up, we will automatically create the domain for you. If this is the case and you want to use that domain, skip this step.

  • Log into your Control Panel and go to the domains section

  • Click add domain. To host your project in a subdomain, click add domain and add the subdomain the same way you would add a domain. To do this just add sub.domain.com instead of only domain.com when you add the domain.

Step 2: Upload Project

  • Upload the project with your FTP client to a folder into the symfony_projects directory in order be recognized by “Maestro”.

Note: When you upload the project, make sure that the .htaccess file is inside the web directory, and it is matching to the app.php or the index.php file.

Step 3: Configure Project

  • If you have not already done so, login to your Control Panel and go to the domains section.

  • Select the domain or subdomain which will be hosting the sf2 project.

Step 4: Maestro

  • At the bottom of that page you will see the icon for “Maestro”. Click it.

Step 5: Projects List

  • You will see a list of projects like on the image below. These are the projects located inside the symfony_projects directory. Click on your recently uploaded project. The displayed name is the project folder’s name.


Step 6: Setup

  • This page displays the info about the project and some editable fields for project’s web root and project’s URL. Once you review all fields, click on “OK” button.


Step 7: Done

  • At this point your project is loaded and ready to go.

Symfony2 provides a project configuration tool which is available at {PROJECT_URL}/config.php. Remember this file and app_dev.php are limited to be accessed from localhost. If you want to access them in the server, you will have to add your public IP address to the check inside these files.

The Symfony2 configurator will show you recomendations (if there is any) for your php and some parameters like database connection values.Keep in mind that shared hosting places some restrictions on PHP, like not having APC. We have taken all possible steps to make sure our shared hosting server is compatible with Symfony2. If you require APC or want the ultimate performance, you should consider a VPS.