Apostrophe
From DreamHost
Contents |
What is it?
(from the project website Apostrophe Now!
- Apostropheâ„¢ is a content management system designed for maximum flexibility with a minimal learning curve. The interface is ergonomic, all content-editing is performed in-context. Features include:
- Manage levels of user permission.
- Organize and integrate photos and videos in the media library.
- Create complex page hierarchies quickly.
- Apostrophe is an extension of the Symfony PHP framework (Apostrophe's core is a Symfony plugin called pkContextCMS), which creates edit-in-place websites usable by people without web development skills.
- pkContextCMS is an open-source project distributed under the MIT license.
Advertised benefits (for developers):
- Create flexible templates with sections that can expand to accommodate different types of content. Apostrophe lets you define areas in your templates and set options for the content they support. Allow your clients to add content without damaging your design.
- Extend the capabilities of the CMS with your own custom modules and content slots. Want to add new functionality to the CMS? It's easy to create your own in-context editable components.
- Wield the power of the best PHP framework on the web. Apostrophe is an extension of the Symfony framework, so using it to build your site gives you access to a wealth of development tools.
Downloading Apostrophe
Additionally, you can follow the installations below which detail how to install Apostrophe by making a copy of a template called cmstest from the developers via subversion.
Installation and configuration (Dreamhost specific)
This section is very much in progress and needs more development before it should be used by someone who isn't comfortable figuring out things that go wrong. Anyone installing on Dreamhost should also consult the readme at the apostrophe now site if you want to install Apostrophe.
Basic steps for a first time installation (in progress, largely copied from the readme ):
- If necessary, make a domain using panel.dreamhost.com.
- create mysql db - insert recommendations of how to do this
- (question: is installing subversion necessary for simply getting the source?)
- You must use PHP5 with Apostrophe (because Symfony uses PHP5). Make sure that your shell is using PHP5:
- type
which phpto check which PHP is currently being used by your login shell.- If the response is /usr/local/php5/bin/php, your shell is configured correctly.
- If the response is /usr/local/bin/php your version of PHP is not correct.
- If the version of PHP is not correct, edit your [shell config] ad ad this line:
export PATH=~/[domainname]/cmstest:/usr/local/php5/bin:${PATH} - Logout and back in to see the changes
- type
- get the latest build via suversion using this command:
svn co http://svn.symfony-project.com/plugins/pkContextCMSPlugin/cmstest cmstest - Activate the folder cmstest/web as a sub/domain named cmstest (using Dreamhost Panel, make a subdomain or domain point to the folder ~/domainname/cmstest/web
i.e. if your account is prettything and your domain is ayNoWah.com, make a subdomain called cmstest.ayNoWah.com that points to /prettything/ayNoWah.com/cmstestWeb
- Create the config/databases.yml file, which must contain database settings appropriate to your system. Copy the file config/databases.yml.sample as a starting point:
cp config/databases.yml.sample config/databases.yml - Edit databases.yml, changing the values for mysql:dbname, host, username & password (should be the MySQL database user and password if they're different from your account name & pasword)
- Create your properties.ini file:
This will only have the name of the project (cmstest). You do not need to edit this file now (see the readme for more information).cp config/properties.ini.sample config/properties.ini -
cdto the cmstest folder and run this command:
This will create a sample database from the fixtures files. If you get an error at this point such as a./symfony doctrine:build-all-loadunexpected T_OBJECT_OPERATORerror, you are likely not using the correct version of PHP (see above for how to fix this). - Run the next command to set the permissions of data folders so that they are writable by the web server. Note that svn does NOT store permissions so you can NOT assume they are already correct.
Permissions can also be handled manually if you prefer. See the readme for more information../symfony project:permissions - Next, build the site's search index for the first time. It doesn't live in the database so it needs to be done separately. After this, you won't need to run this command again unless you are deploying to a new environment such as a staging or production server:
./symfony pkToolkit:rebuild-search-index --env=dev
That's all the steps for basic installation. Point your browser to cmstest.yourDomain.tld to test drive your new Apostrophe-powered site.

