Notes for Installing Symphony CMS on Ubuntu

Symphony CMS is relatively easy to install on a Ubuntu server.

Here are a couple of commands I issued on a clean Ubuntu install to get everthing I needed for Symphony CMS, including cloning the git archive.

Important notes:

  • I chose to make a symbolic link from /var/www to my user directory, to skip writing a new apache site-available file, however for production purposes I would suggest to write a new proper apache2 site configuration file
  • The default apache2 site-enabled file has “AllowOverride None” – this needs to be changed to “AllowOverride All” for mod_rewrite to work
  • The php5-xsl package is vital for XSLT to work!


sudo apt-get install git-core apache2 php5 mysql-server php5-mysql php5-xsl
## now that mysql is installed, create a database and database user and GRANT PRIVILEGES ##
sudo a2enmod rewrite
sudo vi /etc/apache2/sites-enabled/000-default (change AllowOverride None to AllowOverride All)
sudo /etc/init.d/apache2 restart
cd /home/steve
mkdir symphony-cms
cd symphony-cms
git clone git://github.com/symphonycms/symphony-2.git
cd symphony-2
git submodule update --init
git clone git://github.com/symphonycms/workspace.git
ln -s /home/steve/symphony-cms/symphony-2 /var/www/symphony
chmod -R 777 /home/steve/symphony-cms/symphony-2/workspace
chmod 777 /home/steve/symphony-cms/symphony-2
## run web configuration now at yourwebsite.com/install.php ##
chmod -R 755 workspace
rm install.php install.sql workspace/install.sql update.php

See the git documentation for further reading.

If you need any clarifications, ask away in the comments section.

Posted in Notes | Leave a comment

Moving backups between servers using WHM and cPanel

It is surprisingly easy to move an account (website) from one cPanel based server to another.

  1. First, open cPanel on the old server, and go to the backups tab.
  2. Next, select Generate/Download a Full Backup
  3. Select Remote FTP server from the dropdown menu. At this point, enter the FTP details of any account on the new server. Any standard account will do, however do not create an account for the site that is to be moved on the new server beforehand, as you will only have to delete it again to restore the backup.
  4. For the port option, usually 21 is the correct value.
  5. Leave the Remote Dir value blank unless you have specifically created a folder for the backup (its easy to find anyway).
  6. Once you press the Generate Backup button, cPanel will begin to create an archive of the entire site contents, including mail, mysql, logs, web files. Depending on the size of the site this might take a few minutes. (But god damn servers can transfer between each other quickly!).
  7. Once the email notification arrives that the backup has been transferred, login to the new server as root. If you don’t have root privileges you might wish to contact your hosting company and hopefully they can take over from here.
  8. The backup file will usually be located in /home/username/backup-mm.dd.yyyy_xx-xx-xx_oldusername.tar.gz
  9. From the command line, navigate to the backup location, and enter something along the lines of
    mv backup-12.18.2008_11-08-09_oldusername.tar.gz /home
  10. In WHM on the new server, select Restore a Full Backup/cpmove file. At this point it should detect the archive located in /home/. If not you must have put the archive in the wrong place.  Enter the old username and press Restore – thats it!

How much better is that than moving an account database by database, db user by db user, mail account by mail account!

Posted in Web Hosting | 4 Comments

5 Questions Web Developers Need To Ask Themselves

It’s all very well for developers to create visionary frameworks and applications that only they understand – that is the freedom that makes web development great – until someone on the outside tries to work with it!

As far as i’m concerned, at the very least, the view/template of a web application needs to be changeable even to a web designer who has zero to minimal experience working with dynamic websites. Why – when we can create “beautiful” applications with minimal code repetition – because you are breaking the brilliance of code seperation. Its no different to seperating style and content. Lets face – usually, designers are good at design, and programmers are good at programming. Therefore the two skills need to co-exist, happily.

5 Questions to ask yourself:

1. How long would it take a pure web designer (HTML + CSS only) to change any element on any page?

2. How long would it take an average programmer to make some basic functionality changes, such as adding a new database table and running some pre-existing sanitation functions?

3. I’m looking at the website index. If I download index.php (or whatever) how many breadcrumbs do I have to follow to change, for example, the sidebar?

4. Is the folder structure sensible, and have the old files and folders been deleted?

5. Am I coding in a style that only I fully understand, on a commercial project that may rightfully be worked on by other developers that I may never speak to?

Posted in Rants | 1 Comment