RedKite CMS

Thanks for interesting in the RedKite CMS Application.

A Symfony2 application powered by RedKite CMS with all required vendors installed.

This is the ideal package to have a working application stripped down of all test and git folders to minimize the space on the hard disk.

Requirements

  1. A web-server like Apache or Nginx
  2. Php 5.3.3+
  3. A database supported by Propel, like mysql, postgres or sqlite

Download

Download your free RedKite CMS Application copy now!

Set up RedKite CMS Application

Unpack the RedKite CMS Application into the document root of your web-server.

Web server configuration

Add a new VirtualHost to the web-server to handle the application and configure its DocumentRoot to point the package web folder.

As an alternative to VirtualHost you can update the web-server’s DocumentRoot to point the package web folder.

Note

Please refer this guide if you are not comfortable to set up a web-server

Configure the timezone

RedKite CMS requires the date.timezone parameter configured in the php.ini file for both web server and CLI configurations.

A standard out-of-the-box PHP install comes with that parameter empty on most platforms, so you must configure it before installing RedKite CMS.

The php.ini file on a nix machine is usually saved under the */etc/php5** folder, respectively under the apache2 folder, if you use apache as web server, and under the cli folder for the console: you must configure that parameter for both those php.ini files.

The configuration is pretty straightforward: just locate the date.timezone parameter, uncomment it removing the semicolon at the begin of that parameter and add your timezone:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/London

Supported timezones can be found at http://php.net/manual/en/timezones.php.

If you cannot change your php.ini, you can add the following php code to your AppKernel.php to obtain the same result, after you run the redkitecms:configure command and before run the redkitecms:install:

<?php

date_default_timezone_set('Europe/London');

class AppKernel extends Kernel
{
    [...]
}

If you miss this configuration, you might get the following error:

PHP Fatal error:  Class 'RedKiteLabs\RedKiteCms\RedKiteCmsBundle\Model\om\BaseLanguage' not found
in /RedKiteCms/src/RedKiteLabs/RedKiteCms/RedKiteCmsBundle/Model/Language.php on line 8

Xdebug configuration

When you use Xdebug with your php installation, you need to configure that module as follows:

xdebug.max_nesting_level=1000

otherwise you could get an error or, worse, the page rendering could stop, without displaying nothing on the screen.

Note

If you don’t use Xdebug you can safety skip this step.

Permissions

Set up the permissions as explained in this Symfony2 book paragraph. This latest step is not required for windows users.

RedKite CMS set up

RedKite CMS requires several steps to be accomplished to properly set up the CMS itself. Luckily the RedKiteCmsInstallerBundle will do all the job for you.

This bundle provides a web installer interface or an interactive symfony2 command to help you installing RedKite CMS.

Installing from the console

Installing RedKite CMS from the console is really easy:

app/console redkitecms:configure

This will run the interactive command and provide the required information. If everything works, you will be prompted that the configuration has been written and you ready to start the install.

Note

By now, you will use the rkconsole console instead of the canonical console provided by Symfony2. The rule is easy: every time you need to run a command for the rkcms[*] environments, you must use the rkconsole

Run the following command from the console:

app/rkconsole redkitecms:install --env=rkcms

Note

Probably you would use a custom bundle instead of the default one: learn how reading this paragraph

Installing using the web interface

To install RedKite CMS using the web interface, just open a browser and point the following link:

http://localhost/install

Provide the required information and you are done!

Run RedKite CMS

Open a browser and point the following url for the production environment:

http://localhost/rkcms.php/backend/login

or open the following url to run the application in the dev environment:

http://localhost/rkcms_dev.php/backend/login

Sign in

Use the following credentials to start working with RedKite CMS:

username: admin
password: admin

Congratulations!

Enjoy your RedKite CMS application!!

Use another deploy bundle than the default one

You can use another deploy bundle than the default one provided by RedKite CMS application. This aspect is covered in detail in the Add RedKite CMS to a Symfony2 existing project chapter.

Use another database instead of mysql, postgres or sqlite

The RedKiteCmsInstallerBundle, which supports you to properly set up RedKite CMS, can install with one command just the mysql, postgres or sqlite database, but with a little effort you can easily work with any database supported by Propel, the ORM used by RedKite CMS to interface with the database.

The first step is to run the following command from the top folder of your application:

php app/console redkitecms:configure --no-interaction

If you want to use a custom bundle than the default one, use the following command:

php app/console redkitecms:configure --company=[Your Company] --bundle=[Bundle name] --no-interaction

Both these commands write a default mysql database configuration.

Open the app/config/parameters.yml file and adapt the following parameters to work with your database:

rkcms_database_driver: [YOUR DRIVER]
rkcms_database_host: localhost
rkcms_database_port: 3306
rkcms_database_name: redkite
rkcms_database_user: root
rkcms_database_password: null

Open the app/config/rk_cms.yml and update the propel configuration to work with your database.

propel:
    [...]

    dbal:
        driver:               %rkcms_database_driver%
        user:                 %rkcms_database_user%
        password:             %rkcms_database_password%
        dsn:                  [YOUR DSN]
        options:              {}
        attributes:           {}

Refer the Propel official documentation if you require more information about.

When you are done, return to your console and run the following command to complete the installatio:

php app/rkconsole redkitecms:install --env=rkcms
Fork me on GitHub