From c1ae8f9e7a7a641b62a2dc05d5675add46114018 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Sat, 3 Nov 2012 18:00:58 +1300 Subject: [PATCH] Added docs for composer --- docs/en/_images/composer.png | Bin 0 -> 26225 bytes docs/en/installation/composer.md | 89 +++++++++++++++++++++++++++++++ docs/en/installation/index.md | 39 +++++++++++--- 3 files changed, 120 insertions(+), 8 deletions(-) create mode 100644 docs/en/_images/composer.png create mode 100644 docs/en/installation/composer.md diff --git a/docs/en/_images/composer.png b/docs/en/_images/composer.png new file mode 100644 index 0000000000000000000000000000000000000000..aa77f0c2a71ed028e00c6e0459c2e4d8797ef758 GIT binary patch literal 26225 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�f#)2OUfuxDftTe``a zd-u*C`m}7p+w_!~^ru0uXJ*<}_UqV+k-jd>xs%1M8&=a(2F3)t^Wg4pSyoca_|D-B za1ijuwaa{G;wUz^28Z@&&j~|%GqGzV`*sNB?8#%O*X#L7{d%3#*RVlgH4*!n9@cw->N~$Cli(ekH4`DoK*3laA1*5g6XI5r_5Y zz(^lQw(+*-v4cPG>cw+x>2AZ$p4Sb)*~E*#pUJwse&?A|Vrsh3TM6rE1TZ5vlJ%FmhJ zRwn%)=qO@{tBj{l9A%fVW^85!ddWe5JFu0z6+>KQoG`Qx>*_Qd*{2g-h2Zv0>qwGD zqmfJAeS^)dP20cDp@OIH?9nl_PZKKg9ssnrjTfo`H4I;4!jh)>f5{l5o(;K}L zEYYp6iLPEC5Mb7#6|l2&z_!oVpr*3Y#Gv&I{HL}Kt+oz@_wU2T*4E6+tgKbw-RZ9) zxK%hNzA^VN-%(emdG3f!MRhewiVNZ5*5tX$gYdWXZ-0S?EC#_-gn2*j9!S8m*)vn% g{%;tS{vSa5KScR%cn88UQ~&?~07*qoM6N<$f`lzR@&Et; literal 0 HcmV?d00001 diff --git a/docs/en/installation/composer.md b/docs/en/installation/composer.md new file mode 100644 index 000000000..efe089771 --- /dev/null +++ b/docs/en/installation/composer.md @@ -0,0 +1,89 @@ +
+![](../_images/composer.png) +
+ +# Installing and Upgrading SilverStipe with Composer + +Composer is a package management tool for PHP that lets you install and upgrade SilverStripe and its modules. Although installing Composer is one extra step, it will give you much more flexibility than just downloading the file from silverstripe.org. This is our recommended way of downloading SilverStripe and managing your code. + +For more information about Composer, visit [its website](http://getcomposer.org/). + +## Installing composer + +To install Composer, run the following command from your command-line. + + curl -s https://getcomposer.org/installer | php + +Or [download composer.phar](http://getcomposer.org/composer.phar) manually. + +You can then run Composer commands by calling `php composer.phar`. For example: + + php composer.phar help + +## Create a site from the default installer template + +Composer can create a new project for you, using the installer as a template. To do so, run this: + + php composer.phar create-project silverstripe/installer ./my/website/folder + +`./my/website/folder` should be the root directory where your site will live. For example, on OS X, you might use a subdirectory of `~/Sites`. + +As long as your web server is up and running, this will get all the code that you need. Now visit the site in your web +browser, and the installation process will be completed. + +## Adding modules to your project + +Composer isn't only used to download SilverStripe CMS: it can also be used to manage all the modules. In the root of your project, there will be a file called `composer.json`. If you open it up, the contents will look something like this: + + { + "name": "silverstripe/installer", + "description": "The SilverStripe Framework Installer", + "require": { + "php": ">=5.3.2", + "silverstripe/cms": "3.0.3", + "silverstripe/framework": "3.0.3", + "silverstripe-themes/simple": "*" + }, + "require-dev": { + "silverstripe/compass": "*", + "silverstripe/docsviewer": "*" + }, + } + + +To add modules, you should add more entries into the `"require"` section. For example, we might add the blog and forum modules. Be careful with the commas at the end of the lines! + + { + "name": "silverstripe/installer", + "description": "The SilverStripe Framework Installer", + "require": { + "php": ">=5.3.2", + "silverstripe/cms": "3.0.3", + "silverstripe/framework": "3.0.3", + "silverstripe-themes/simple": "*", + + "silverstripe/blog": "*", + "silverstripe/forum": "*" + }, + "require-dev": { + "silverstripe/compass": "*", + "silverstripe/docsviewer": "*" + }, + } + +Save your file, and then run the following command: + + php composer.phar update + +We currently use [Packagist](https://packagist.org/) to download manage modules, as this is Composer's default repository. You can find other modules by searching for "SilverStripe" on Packagist. + +## Preparing your project for working on SilverStripe + +So you want to contribute to SilverStripe? Fantastic! There are a couple modules that are helpful + + * The `compass` module will regenerate CSS if you update the SCSS files + * The `docsviewer` module will let you preview changes to the project documentation + +By default, these modules aren't installed, but you can install them with a special version of composer's update command: + + php composer.phar update --dev diff --git a/docs/en/installation/index.md b/docs/en/installation/index.md index 58d2a328b..f3b5e55c4 100644 --- a/docs/en/installation/index.md +++ b/docs/en/installation/index.md @@ -5,24 +5,47 @@ SilverStripe is a web application. This means that you will need to have a webserver and database meeting its [requirements](server-requirements). We will take you through the setup of the server environment as well the application itself. -You can [download](http://silverstripe.org/download) SilverStripe as an archive or from [version control](from-source). +
+![](../_images/composer.png) +
-If you already have an installed version of SilverStripe, please see our [upgrading](upgrading) guide. +## Getting the code -## Linux/Unix +The best way to get SilverStripe is with [Composer](composer). Composer is a package management tool for PHP that +lets you install and upgrade SilverStripe and its modules. Although installing Composer is one extra step, it will give you much more flexibility than just downloading the file from silverstripe.org. + +Other ways to get SilverStripe: + + * If you just want to get the code as quickly as possible, you can [download SilverStripe from our website](http://silverstripe.org/download). + * If you like doing things yourself, you can [download SilverStripe from source](from-source) manually. + * If you already have an installed version of SilverStripe, and you haven't used Composer to get it, please see our [upgrading](upgrading) guide. Note that [Composer](composer) provides its own tools for upgrading. + +## Setting up a server + +### Linux/Unix + +To run SilverStripe on Linux/Unix, set up one of the following web servers: * [Install using Apache](webserver) - our preferred platform * [Install using Lighttpd](lighttpd) - fast, but a bit tricker to get going * [Install using Nginx](nginx) - Super fast at serving static files. Great for large traffic sites. -## Windows +### Windows -We recommend that you use the free [Microsoft Web Platform installer](windows-pi). -The more technically inclined can [install using IIS](windows-manual-iis) or [install using Apache/WAMP](windows-wamp). +The most straightforward way to get SilverStripe running on Windows is with the [Microsoft Web Platform installer](windows-pi). You can skip the "getting the code" step. -## Mac OS X +For more flexibility, you can set up either of the following web servers, and use Composer to get the code: -Mac OS X comes with a built-in webserver, but you can also use MAMP [install using MAMP](mac-osx) or using MacPorts. + * [Install using IIS](windows-manual-iis) + * [Install using Apache/WAMP](windows-wamp) + +### Mac OS X + +Mac OS X comes with a built-in webserver, but there are a number of other options: + + * [Install using MAMP](mac-osx) + * Install using the built-in webserver (no docs yet) + * Install using MacPorts (no docs yet) ## Troubleshooting