The instructions below should fairly accurately describe how to go from creating a checkout to getting a working site
- Create a checkout of the camdram repository
Run git clone https://github.com/camdram/camdram.git
, which will pull a copy of
the code into a new folder called 'camdram'
- Install dependencies
Camdram is built upon Symfony, which uses Composer to manage its dependencies on other software libraries. It is recommened that you install Composer into the camdram directory:
'cd camdram
curl -s https://getcomposer.org/installer | php`
Then run the following command, which will automatically download all camdram's PHP dependencies
php composer.phar install
- Checking your System Configuration
Make sure that your local system is properly configured for Symfony by running
the check.php
script from the command line:
php app/check.php
Correct any problems it finds...
- Create a database
Using your database administration tool of choice (e.g. phpMyAdmin), create a database with its own username and password, and start with importing a copy of the existing camdram database.
- Configure camdram
Camdram expects to find a configuration file is at app/config/parameters.yml. app/config/parameters.dist.yml contains some default values and can be used as a staring point.
cp app/config/parameters.dist.ini app/config/parameters.ini
Enter the database configuration details chosen above. The API keys are used by the authentication system and are optional (there's a wiki page about how to obtain them). The Raven and local (password-based) login systems work without an API key.
- Create a virtual host
Create an Apache vhost similar to the following:
<VirtualHost *:80>
DocumentRoot /var/www/camdram/web
ServerName local.camdram.net
<Directory /var/www/camdram>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
- Migrate database schema
Run the following command to make the necessary changes to the database:
php app/console doctrine:migrations:migrate
- (Optional) Run console tools to tidy up database
It is recommended that you run php app/console camdram:users:identities
, which
detects and logs external accounts (e.g. on Google, Yahoo etc) for all the users
in the database.
There are a number of other tools which can be run which can be run, which are detailed on a Wiki page
The Symfony Standard Edition is configured with the following defaults:
-
Twig is the only configured template engine;
-
Doctrine ORM/DBAL is configured;
-
Swiftmailer is configured;
-
Annotations for everything are enabled.
It comes pre-configured with the following bundles:
-
FrameworkBundle - The core Symfony framework bundle
-
SensioFrameworkExtraBundle - Adds several enhancements, including template and routing annotation capability
-
DoctrineBundle - Adds support for the Doctrine ORM
-
TwigBundle - Adds support for the Twig templating engine
-
SecurityBundle - Adds security by integrating Symfony's security component
-
SwiftmailerBundle - Adds support for Swiftmailer, a library for sending emails
-
MonologBundle - Adds support for Monolog, a logging library
-
AsseticBundle - Adds support for Assetic, an asset processing library
-
JMSSecurityExtraBundle - Allows security to be added via annotations
-
JMSDiExtraBundle - Adds more powerful dependency injection features
-
WebProfilerBundle (in dev/test env) - Adds profiling functionality and the web debug toolbar
-
SensioDistributionBundle (in dev/test env) - Adds functionality for configuring and working with Symfony distributions
-
SensioGeneratorBundle (in dev/test env) - Adds code generation capabilities
-
AcmeDemoBundle (in dev/test env) - A demo bundle with some example code
Enjoy!