I recently attended a two-day seminar on the Symphony CMS. I didn’t know much about it, but it was free, so I went. Honestly, I thought I was going to hear about the Symfony PHP framework, a totally different product!
But, I’m glad I went because I ended up liking this CMS. Basically, it provides all of the back-end and database admin interfaces, while it leaves you to write the front end using HTML, CSS, and XSLT (which is kind of like HTML on steroids). I’ll write more about it in a future article.
In this article, I’ll explain how to install Symphony on a Windows machine running Wamp Server, and how to overcome the little glitches that came up for me. I’ll be following the steps described here:
The first thing you should know is the current release version of Symphony, Version 2.3, works with PHP 5.3, but not PHP 5.4, even though the official requirements say “PHP V5.2 or above”. (It will crash when you go into the Admin->Data Sources page). So, you’ll need to make sure your WampServer is running PHP 5.3.
If you really want to run with PHP 5.4, there is an easy fix to the Symphony 2.3 core described here: http://getsymphony.com/discuss/thread/91675/. This fix is supposed to be in the next release.
Enable the Required PHP and Apache Extensions
The next thing you should do is to activate the proper extensions for PHP and Apache in WampServer. Start WampServer if you haven’t already, and click on the WampServer icon on your taskbar. Then go to PHP->PHP Extensions, and check “php_xsl”. The server will re-start. I noticed that sometimes the list wouldn’t immediately refresh, so wait awhile and look at the menu again to make sure it’s checked.
You should also enable the “php_zip” extension in the same way while you’re here. The “php_gd2” extension should already be enabled.
So far so good. Now, click on the WampServer icon again, then Apache->Apache Modules and enable “rewrite_module”. Now, in my 64-bit version of WampServer 2.2, checking this option didn’t actually enable the module! To make sure it is enabled, go into your WampServer Apache config directory. On my machine, it is located here:
Open httpd.conf and search for the line that contains “rewrite”. Make sure this line is uncommented out! If not, comment it out and save the file, the re-start Apache.
Now you’re done setting up your server. The next step is to actually install the Symphony files on your computer. You can do this two ways: simply download and unzipping the zip package wherever you want it on your computer, or by using GitHub. If you don’t already use GitHub, just download the zip file. Using GitHub makes it easier to update Symphony later, but takes some initial setup.
I tried both methods and they both worked fine. If you use the GitHub method, you should install the default extensions and workspace as described in the Symphony instructions, unless you want to start with a totally blank install.
Now, the Symphony instructions talk about changing the Unix permissions for the directory. On a Windows machine, you don’t need to worry about that. The files will install with the standard Windows permissions.
The next step is to create your database. Click the WampServer icon again and go into phpMyAdmin. Click “Databases” and type in the name of your database. For the Collation, use “utf8_unicode_ci”. You can either use the root account, or create a new user by clicking on “Check Privileges” to the right of the database you just created. Type in a new name and password and make the host type “localhost”. Make sure it has all privileges enabled.
Almost done. If your Symphony files are not on your localhost directory, copy them there. Make sure WampServer is running and go to localhost/name_of_your_symphony_directory/install in a browser. You should be presented with Symphony’s setup screen. If not, make sure your path is correct, and that WampServer is running. Type in your database info, username, password, name, and email address. After that, you should be up and running!
Note that if the browser can’t find the page at this point, it means your mod_rewrite extension in Apache was not installed properly. Go back and make sure it is enabled in the config file.
Hope this helps!! – Brian