Ask your Symfony questions! Pay money and get answers fast! (more info)

How do I migrate my symfony based site to Rackspace Cloud? Symfony


I would like to migrate my symfony website from Joyent to rackspace cloud.

Does anyone know how to setup the environment on Rackspace and make it as easy as possible?


Answers (1)


Ender Technology answers:

I don't have experience with Joynet but we've setup symfony on Cloud Sites a few times complete with some issues:

One thing to be aware of right away is that RS CSites does not provides SSH access; they only provide SFTP/FTP. Because of this and how rsync uses SSH, this complicates it when when you sync/deploy.

For us, we setup a SSHFS mount to allow the same sync process. However, we've found that to be incredibly slow so actually we try to keep symfony some sites on Cloud Servers instead.

Other than that hurdle, it's a rather simple process of creating the site, creating the database, creating email accounts, and cron jobs if needed.

When copying over the symfony files, if you're doing it from the command-line like us, I found that using lftp with the "mirror -R ." command (assuming you're inside symfony's root dir) to be easiest. -R means "reverse" so instead of mirroring to remote to local it's instead doing local to remote.

When creating the database you will need to be aware of the two different methods to access it. One is via an external IP and is via an internal domain. Use the internal domain within databases.yml. Migrate the data between the database servers using the external IP, such as via mysqldump.

Also, the load balancing attempts to maintain sticky sessions so that should be fine for most uses. In some special cases it may be a problem that the PHP session data is stored only on the current node (at least it was when I checked a few months ago). It will show it's face if that node dies and the user is moved to another node because their session will be destroyed.

And lastly, don't forget to "symfony freeze" if you went with the PEAR install :)