How to install a Symfony application in a non-VPS hosted domain


#1

The expected procedure of installing a Symfony application of

  • clone repository
  • change to project directory
  • run composer install
  • respond to parameter.yml prompts

is not possible in a non-VPS environment due to composer not being available. Because of that the …/vendor directory is not created and filled with the application’s dependencies. Here is one method of installing your app.

Assumptions:

  • Your DreamHost domain directory is /home/username/domain_name.tld
  • A Symfony application exists on your local system in the directory …/someapp
  • The application also exists as an origin/master branch at github.com/developer/someapp

What worked (for me):

  • On your development system, at the project level (…/someapp), create a tar.gz of the vendor directory: vendor.tar.gz. This can be done directly in a *.nix environment or with 7-zip in Windows.
  • Transfer vendor.tar.gz to your DreamHost account either by ftp or scp.
  • With a shell account, log in to your DreamHost account.
  • $ cd domain_name.tld
  • Clone the repository with $ git clone https://github.com/developer/someapp This results in the Symfony app installed in /home/username/domain_name.tld/someapp
  • Recreate the vendor directory with $ tar -xf ../vendor.tar.gz -C . Don’t forget the dot (.) at the end!
  • In …/someapp/app/config, copy the parameters.yml.dist to parameters.yml, then edit the parameters.yml file as required.

In the DreamHost panel:

  • Create your database. Confirm that the configuration here is what is used in parameters.yml.
  • Change the web directory of your domain to /home/username/domain_name.tld/someapp/web

Good luck.
Your Symfony app should now be available at www.domain_name.tld