PageRenderTime 53ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/README.markdown

https://github.com/bauhouse/Piano-Sonata
Markdown | 176 lines | 100 code | 76 blank | 0 comment | 0 complexity | 438d363f25cfa40b139784d256a6db5e MD5 | raw file
  1. # Symphony 2 #
  2. - Version: 2.3
  3. - Date: 29th May 2012
  4. - Release Notes: <http://symphony-cms.com/download/releases/version/2.3/>
  5. - Github Repository: <http://github.com/symphonycms/symphony-2/tree/2.3>
  6. ## Overview
  7. Symphony is a `PHP` & `MySQL` based CMS that utilises `XML` and `XSLT` as its core technologies. This repository represents version `2.3` and is considered stable.
  8. Visit the forum at <http://symphony-cms.com/discuss/>
  9. ### Symphony Server Requirements
  10. - PHP 5.2 or above (PHP 5.3 recommended)
  11. - PHP's LibXML module, with the XSLT extension enabled (`--with-xsl`)
  12. - MySQL 5.0 or above
  13. - An Apache or Litespeed webserver
  14. - Apache's `mod_rewrite` module or equivalent
  15. #### JSON
  16. Symphony makes use of PHP's built in `json` functions which are enabled by default in PHP 5.2 and above. If they are missing, ensure PHP wasn't compiled with `--disable-json`
  17. #### A note for Windows developers
  18. 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
  19. ## Updating From an Older Version
  20. #### Versions prior to 2.3
  21. Symphony `2.3` officially only supports updating from a `2.2.x` release. There are various changes between `2.1` and `2.3` that make this update unlikely to be successful. Symphony `2.3` also enforces that all authors have unique email addresses, so please ensure that this constraint is met before updating.
  22. #### Versions prior to 2.2
  23. Symphony `2.2` introduces numerous improvements that may affect extension compatibility. Before updating, be sure to consult the [extension compatibility table](http://symphony-cms.com/download/extensions/compatibility/) to verify that the extensions you're using have all been updated for Symphony `2.2`.
  24. #### Versions prior to 2.1
  25. As of version `2.1`, Symphony stores passwords using the more secure [SHA1](http://php.net/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.
  26. #### Versions prior to 2.0.5
  27. 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
  28. ### Via Git
  29. #### Versions Prior to 2.1
  30. As of Symphony `2.1`, we are now using [GitHub's organisations feature](http://github.com/blog/674-introducing-organizations). As a result, all submodules—as well as the main Symphony 2 repo—are forks owned by the [Symphony CMS organisation](http://github.com/symphonycms/).
  31. 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`.
  32. For example:
  33. [remote "origin"]
  34. fetch = +refs/heads/*:refs/remotes/origin/*
  35. url = git://github.com/pointybeard/markdown.git
  36. Change `git://github.com/pointybeard/markdown.git` to `git://github.com/symphonycms/markdown.git`
  37. 1. Pull from the master branch at `git://github.com/symphonycms/symphony-2.git`
  38. 2. Use the following command to get Extensions up to date:
  39. git submodule init
  40. git submodule update
  41. 3. If updating from a version older than `2.0.5`, enable [Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master) and [Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master) extensions.
  42. 3. Go to `http://yoursite.com/install/` to complete the update process.
  43. 4. You and your website are now in the future. Buy yourself a silver jumpsuit.
  44. ### Via the old fashioned way
  45. Follow the instructions below if you are updating from Symphony 2.0 (not from Git)
  46. **Note:** As of 2.0.6, there is no longer a need to backup `/symphony/.htaccess`.
  47. 1. Upload `/symphony`, `index.php` & `update.php`, replacing what is already on your server.
  48. 2. If you are updating from a version older than 2.0.5, download and install the Debug DevKit and Profile DevKit:
  49. - [Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master)
  50. - [Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master)
  51. 3. Go to `http://yoursite.com/install/` to complete the update process.
  52. 4. Call a friend and brag that your copy of Symphony is newer than theirs.
  53. ## Installing Symphony
  54. ### Via Git
  55. 1. Clone the git repository to the location you desire using:
  56. git clone git://github.com/symphonycms/symphony-2.git
  57. Should you wish to make contributions back to the project, fork the master tree rather than cloning, and issue pull requests via Github.
  58. The following repositories are included as submodules:
  59. - [Markdown](http://github.com/symphonycms/markdown)
  60. - [Maintenance Mode](http://github.com/symphonycms/maintenance_mode)
  61. - [Select Box Link Field](http://github.com/symphonycms/selectbox_link_field)
  62. - [JIT Image Manipulation](http://github.com/symphonycms/jit_image_manipulation)
  63. - [Export Ensemble](http://github.com/symphonycms/export_ensemble)
  64. - [Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master)
  65. - [Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master)
  66. - [XSS Filter](http://github.com/symphonycms/xssfilter/tree/master)
  67. 3. Run the following command to ensure the submodules are cloned:
  68. git submodule update --init
  69. 4. _(Optional)_ If you would like the [default ensemble](http://github.com/symphonycms/workspace/tree) installed as well,
  70. you will need to use the following command from within the Symphony 2 folder you just created:
  71. git clone git://github.com/symphonycms/workspace.git
  72. 5. Point your web browser at <http://yourwebsite.com/install/> and provide
  73. details for establishing a database connection and about your server environment.
  74. 6. Chuckle villainously and tap your fingertips together (or pet a cat) as your installation completes.
  75. ### Via the old fashioned way
  76. **Note: You can leave `/workspace` out if you do not want the default theme.**
  77. 1. This step assumes you downloaded a zip archive from the [Symphony website](http://symphony-cms.com). Upload the following files and directories to the root directory of your website:
  78. - index.php
  79. - /install
  80. - /symphony
  81. - /workspace
  82. - /extensions
  83. 2. Point your web browser at <http://yourwebsite.com/install/> and provide
  84. details for establishing a database connection and about your server environment.
  85. 3. Pose like you're being filmed for a dramatic close-up while your installation completes.
  86. ## Security
  87. **Secure Production Sites: Change permissions and remove installer files.**
  88. 1. For a smooth install process, change permissions for your site root to `777`.
  89. `cd /your/site/root`
  90. `chmod -R 777 .`
  91. 2. 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
  92. 3. Remove installer files (unless you're fine with revealing all your trade secrets):
  93. `rm -rf install/ workspace/install.sql`
  94. 4. Dance like it's 2012!
  95. ### Notes
  96. Thanks to @DavidOliver for these quick scripts.
  97. To recursively chmod directories only:
  98. `find /your/site/root -type d -exec chmod 755 {} \;`
  99. To recursively chmod files only:
  100. `find /your/site/root -type f -exec chmod 644 {} \;`.