We have two big symfony related announcements to make today!

1) We have four new shared hosting environments configured and performance tuned exclusively for running symfony applications. Cheaper and better, view plan details here.

2) We also launched Maestro, an exclusive extension to our control panel to facilitate deployment, debugging and management of symfony applications on shared hosting accounts.

What is Maestro?

Maestro is an extension to our hosting control panel that will allow our shared hosting users to easily deploy and manage multiple symfony applications. Some of its key features are:

  • Install, configure and deploy your project with our Apache Web Servers easily and quickly.
  • Manage the Apache configuration changes that need your Symfony-based sites, including the document root, .htaccess and mod_rewrite configuration.
  • Includes an Ajax based log viewer so you can monitor symfony generated logs and PHP error log all from your browser.
  • Run symfony commands like clear cache and fix permissions from your browser.
  • Enhanced shared hosting security by running each website under its own user, preventing other users in shared server to access your files, cache and session data.  Additionally since your site runs with your FTP user, there are no permissions conflicts between the files you upload using FTP and the files generated by your site.

How do I use Maestro to setup my symfony project?

1. Upload your symfony project directory using your favorite FTP client

File Structure

File Structure

2. Configure your symfony project to use the server-based symfony installation

<?php
require_once '/usr/local/php/symfony12/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array('sfDoctrinePlugin', 'sfCompat10Plugin'));
}}

3. Launch Maestro, click on the “Setup Web Server” button, and hit OK

Steps to launch a symfony application

Steps to launch a symfony application

4. Open your site in the browser, that’s it!

View your site using the preview link or your URL

View your site using the preview link or your URL

Features in detail

  • Manage symfony projects Maestro lets you manage all your symfony projects within each domain. When you launch Maestro, after selecting the domain in the control panel, you get the list of projects under the directory symfony_projects. It shows the symfony version, and URL/web root if it is active. You can have multiple projects and activate them as needed.
Select applications you want to manage from the projects list

Select applications you want to manage from the projects list

  • Know everything about your project Maestro features a check list of things that need to be configured in order for your project to run successfully. Checks permissions, paths and configurations and suggests fixes to get your application running painlessly.
Know everything about your project at a glance

Know everything about your project at a glance

  • Run commands from your browser

    symfony tools

    symfony tools

  • Ajax-based log viewer Maestro provides a log viewer so you can monitor log messages generated by your symfony application. You can also view the PHP error log.
Ajax based log viewer

Ajax based log viewer

  • Run symfony tasks from your browser Maestro lets you run symfony tasks like “clear cache” and “fix permissions” and view the output right from your browser, no need to get a SSH account and login, change directories, etc.  Additionally, fix-permissions is done a bit differently: Key files and directories are set to 700 so only your user can access them, providing extra security for cache and log files.
ajax based clear cache

ajax based clear cache

  • Easy Web Server Setup How many times you uploaded your project to a web host and had to fight countless hours to get your site running? Fight no more! Maestro manages all Apache configuration for you, including .htaccess and mod_rewrite. Just go to “Setup Web Server” and hit OK. The rest is done for you.
Configure your webserver from your browser

Configure your webserver from your browser

  • Enhanced security Symfony developers often discussed about the drawbacks and security concerns regarding hosting symfony application in shared hosting servers. We listened.At ServerGrove, your site runs under your userid, not the Apache user. This means that all files generated by your site will be owned by you. Other users in the server are not going to be able to access them. Your cache and log files are safe. Additionally, if you run “fix-permissions” from Maestro, we set the cache, log and web/uploads permissions to 700 instead of 777 where every user in the server can access them, providing extra security. That’s not all! Every domain has its own sessions directory where all PHP session files are placed and owned by your user. Traditionally, PHP uses a centralized directory for session storage, on shared hosting this is not a very good idea. We still recommend our customers who are very concerned about security to purchase a VPS hosting account where you don’t share Apache or the file system with other hosting customers.
  • Save all your session files in your personal directory. When we configure your domain, PHP is configured to save all session files in your personal directory and since your site runs with your userid, the session files are not readable by other users.

  • No more file permissions conflicts Since your site runs using the same user as your FTP account, you won’t have any more conflicts of permissions between files uploaded through FTP and those created by your site.

Learn more about our hosting products preconfigured to run your symfony applications here