Installation
Getting started with the Steer CMS sandbox leaves you with a couple of options.
- Download method - the sandbox is available via Subversion or by a pre-packaged archive.
- Installation process - there's a new installer available, but the good old fashioned manual process might suit you better.
However you decide to proceed, it should be remembered that this project is in its infancy and there are a couple of pieces to this installation which will require a fairly comprehensive knowledge of Symfony framework and LAMP stack administration.
Still keen? Well roll up those sleeves and lets get started.
Installation in 3 Steps
1. Get your copy of Steer CMS Sandbox:
Subversion
If you already have Symfony installed on your testing system and Subversion is a familiar tool, we recommend you try the trunk version:
$ svn co http://steercms-project.org/svn/steercms/steerCMSSandbox/trunk/ .
The trunk being more for those wanting keep up-to-date with nightly builds. If you'd like to have write access, shoot an email through to piers [ at ] wranglers.com.au and we will set one up.
Packaged Project
If Subversion isn't your thing, you might prefer the pre-packaged archive (steerCMSSandbox_0_2_1.tar.gz). It's a frozen project package, with all required libraries included. That means you don't even have to have Symfony framework installed to get things running.
2. Setting Up Your System
If you haven't already done so, you'll need the following:
- A database, database user and database password ready.
- Your HTTP server correctly configured.
We don't want to delve too deeply into server configuration, it's a topic well covered in the Symfony Book. But to give you a quick pointer, we have the following in our .httpd.conf file.
# # Steer CMS Configuration # Listen 8080 <VirtualHost *:8080> ServerName steer.mydomain.com DocumentRoot "/{PATH_TO_STEERCMS}/web" DirectoryIndex index.php Alias /sf /{PATH_TO_PEAR}/data/symfony/web/sf Alias /cms/sf /{PATH_TO_PEAR}/data/symfony/web/sf <Directory "/{PATH_TO_PEAR}/data/symfony/web/sf"> AllowOverride All Allow from All </Directory> <Directory "/{PATH_TO_STEERCMS}/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
3. Configuring Steer CMS
To configure the Steer CMS application, a number of files need to be updated.
The necessary changes can be made via a very simple installer we've thrown together. It won't suit everyone since it uses some CLI tools which might not be active on every system. It's because of this we still recommend configuring manually.
Manual Configuration
In your projects /config/ directory, open the databases.yml file and update the database connection details as required:
all:
propel:
class: sfPropelDatabase
param:
dsn: mysql://steercms_user:steercms_user@localhost/steerCMSSandbox
Next, and also found in the /config directory, open the propel.ini file, and update the database connection details at the top of the file:
propel.targetPackage = lib.model propel.packageObjectModel = true propel.project = steerCMSSandbox propel.database = mysql propel.database.createUrl = mysql://steercms_user:steercms_password@localhost/ propel.database.url = mysql://steercms_user:steercms_password@localhost/steerCMSSandbox ; ...
The example above uses MySQL as the database - if you prefer to use SQLite, the Symfony wiki has excellent information on SQLite configuration.
Next, you need to update the config.php file in the /config directory. It references the local installation of Symfony:
<?php // symfony directories - these need to reflect your local systems setup. $sf_symfony_lib_dir = '/to/my/local/php/lib/symfony'; $sf_symfony_data_dir = '/to/my/local/php/data/symfony';
Finally, from the CLI, run the following:
$ symfony propel-build-all-load backend
Once this has completed its build, you can test your system by pointing your browser at http://localhost/cms, or your unique equivalent. A default user should be available with the login details admin:admin (username:password).
If you're receiving a 404 Error on your sites public home page (e.g. http://localhost/), chances are you have a domain issue. More info below.
Important: In your web directory is the installer, you should remove the {web}/install directory.
Web Installer
If you have the Symfony CLI correctly on your system already, you might like to try the web-based installer. Point your browser at http://localhost/install/install.php and follow the prompts.
Important: After installation is complete - you should remove the {web}/install directory.
Tips / Help
I get a 404?
Steer CMS 0.2.0 is capable of servicing many sites from a single instance. It splits these sites via domain. If you look in administration area, a default site is created at install, but if the permalink value doesn't match your domain, the site won't be returned on requests.
Is all you need to do is edit the permalink value to the desired domain.
Remember to include the port number if one is used.
Some example permalink values might include:
- localhost
- localhost:8080
- testing.my_server.org
The Installer Doesn't seem to work
The installer is a very crude mechanism for updating a few configuration files. Additionally it requires a number of CLI tools to work. Without going into too much detail, we really don't expect it will work on all systems. Fortunately, the alternative, manual configuration isn't too painful.
