Symphony is a PHP
& MySQL
based CMS that utilises XML
and XSLT
as
its core technologies. This repository represents version "2.2.5" and is considered stable.
Visit the forum at http://symphony-cms.com/discuss/
While Windows is not officially supported for production, we understand many developers use WAMP for Symphony development before deploying to a production server. The Symphony team recommends that while using WAMP, developers use the latest PHP 5.3.x version during development to minimise any potential issues. PHP5.3 provides numerous fixes and improvements to help minimise and standardise the result of several functions that behave slightly differently depending on the OS
2.2 introduces numerous improvements that may affect extension compatibility. Before updating, be sure to consult the extension compatibility table to verify that the extensions you're using have all been updated for Symphony 2.2.
As of version 2.1
, Symphony stores passwords using the more secure
SHA1 algorithm (previous versions used MD5).
When updating to 2.1, the primary user's login password will be reset
(the new password will be displayed by the updater—please note it).
Please also note that all other users' passwords will no longer be valid
and will require a manual reset through Symphony's forgotten password feature.
Alternatively, as an administrator, you can also change your users'
passwords on their behalf.
Version 2.0.5
introduced multiple includable elements, in the Data Source
Editor, for a single field. After updating from 2.0.5
or lower, the DS
editor will seem to "forget" about any Textarea
fields selected when you
are editing existing Data Sources. After updating, you must ensure you
re-select them before saving. Note, this will only effect Data Sources that
you edit and were created prior to 2.0.5
. Until that point, the field will
still be included in any front-end XML
As of version 2.1, we are now using GitHub's organisations feature. As a result, all submodules—as well as the main Symphony 2 repo—are forks owned by the Symphony CMS organisation.
To fully update your git-based installation, please edit your .git/config
and the .git/config
of each core extension (debugdevkit
, profiledevkit
,
markdown
, maintenance_mode
, selectbox_link_field
, jit_image_manipulation
and export_ensemble
) and change the URL of the remote repo from symphony
or
pointybeard
to be symphonycms
.
For example:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/pointybeard/markdown.git
Change git://github.com/pointybeard/markdown.git
to git://github.com/symphonycms/markdown.git
Pull from the master branch at git://github.com/symphonycms/symphony-2.git
Use the following command to get Extensions up to date:
git submodule init
git submodule update
If updating from a version older than 2.0.5
, enable Debug DevKit and Profile DevKit extensions.
Go to http://yoursite.com/update.php
to complete the update process.
You and your website are now in the future. Buy yourself a silver jumpsuit.
Follow the instructions below if you are updating from Symphony version 2.0 (not from Git)
Note: As of 2.0.6, there is no longer a need to backup /symphony/.htaccess
.
Upload /symphony
, index.php
& update.php
, replacing what is already on your server.
If you are updating from a version older than 2.0.5, download and install the Debug DevKit and Profile DevKit:
Go to http://yoursite.com/update.php
to complete the update process.
Call a friend and brag that your copy of Symphony is newer than theirs.
Clone the git repository to the location you desire using:
git clone git://github.com/symphonycms/symphony-2.git
Should you wish to make contributions back to the project, fork the master tree rather than cloning, and issue pull requests via github.
The following repositories are included as submodules:
Run the following command to ensure the submodules are cloned:
git submodule update --init
(Optional) If you would like the default ensemble installed as well, you will need to use the following command from within the Symphony 2 folder you just created:
git clone git://github.com/symphonycms/workspace.git
Point your web browser at http://yourwebsite.com/install.php and provide details for establishing a database connection and about your server environment.
Chuckle villainously and tap your fingertips together (or pet a cat) as your installation completes.
Note: You can leave /workspace
out if you do not want the default theme.
This step assumes you downloaded a zip archive from the Symphony website. Upload the following files and directories to the root directory of your website:
Point your web browser at http://yourwebsite.com/install.php and provide details for establishing a database connection and about your server environment.
Pose like you're being filmed for a dramatic close-up while your installation completes.
Secure Production Sites: Change permissions and remove installer files.
For a smooth install process, change permissions for your site root to 777
.
cd /your/site/root
chmod -R 777 .
Once successfully installed, you should change permissions to something tighter for security. Symphony recommends 755
for directories and 644
for files by default, but this might need to be changed depending on your server setup or workflow, eg. 775
/664
or some alternative mixture
Remove installer files (unless you're fine with revealing all your trade secrets):
rm install.php install.sql workspace/install.sql update.php install-log.txt
Dance like it's 2012!
Thanks to @DavidOliver for these quick scripts.
To recursively chmod directories only:
find /your/site/root -type d -exec chmod 755 {} \;
To recursively chmod files only:
find /your/site/root -type f -exec chmod 644 {} \;
.