Kohana

Requirements

[!!] Before continuing, make sure you have a web server (like Apache) configured with the following requirements.

Download

You can get the latest stable release on the Konine website. This will give you a fully functional application with an application, modules, and system directory.

[!!] You can find information about the file structure on the Cascading Filesystem page.

Once downloaded, you should extract the Kohana application to a directory where the web server can access it. Going forward, we are going to assume you’ve extracted the application to a kohana directory such that http://localhost/kohana/index.php is pointing to the index.php file in the Kohana release.

Configure

Before the application can be run, you will need to make a few changes to the application/bootstrap.php file. This file is the first one to be included by index.php and sets up most of the global options for the application. Open application/bootstrap.php and make the following changes:

  • Set the default timezone for your application.
    // Example of changing timezone to Sao Paulo, Brazil
    date_default_timezone_set('America/Sao_Paulo');
    
  • Set the base_url in the [Kohana::init] call to reflect the location of the kohana folder on your server relative to the document root. ~~~ /**
  • Example of kohana’s installation at /var/www/kohana and
  • Apache’s DocumentRoot configured to /var/www */ Kohana::init(array( ‘base_url’ => ‘/’, )); ~~~

  • List your trusted hosts. Open application/config/url.php and add regex patterns of the hosts you expect your application to be accessible from.

    [!!] Do not forget to escape your dots (.) as these are regex patterns. These patterns should always fully match, as they are prepended with ^ and appended with $.

    return array(
     'trusted_hosts' => array(
         'example\.org',
         '.*\.example\.org',
     ),
    );
    
  • Define a salt for the Cookie class.
    Cookie::$salt = 'some-really-long-cookie-salt-here';
    
  • Make sure the application/cache and application/logs directories are writable by the web server.
    sudo chmod -R a+rwx application/cache
    sudo chmod -R a+rwx application/logs
    

[!!] Make sure to use a unique salt for your application and never to share it. Take a look at the Cookies page for more information on how cookies work in Kohana. If you do not define a Cookie::$salt value, Kohana will throw an exception when it encounters any cookie on your domain.

You should see the installation page. If it reports any errors, you will need to correct them before continuing.

Install Page

Once your install page reports that your environment is set up correctly you need to either rename or delete install.php. Kohana is now installed and you should see the output of the welcome controller:

Welcome Page

Installing Kohana From GitHub

The source code for Kohana is hosted with GitHub. To install Kohana using the github source code first you need to install git. Visit http://help.github.com for details on how to install git on your platform.

Use the following command to install Kohana from GitHub:

git clone https://github.com/hospicedev/konine.git .

[!!] For more information on installing Kohana using git, see the Working with Git tutorial.

Migrating from Koseven

If you have an existing checkout of koseven/koseven, you can start pulling updates from Konine without losing your local history or your existing remote.

Option 1 — Add Konine as a second remote (recommended)

This keeps your origin pointing at Koseven and adds konine as a separate remote, so you can pull in updates selectively:

git remote add konine https://github.com/hospicedev/konine.git
git fetch konine
git merge konine/master

From this point on, run git pull konine master whenever you want to pull in the latest maintenance updates.

Option 2 — Replace origin with Konine

If you no longer need to reference the Koseven remote, you can point origin directly at Konine:

git remote set-url origin https://github.com/hospicedev/konine.git
git fetch origin
git merge origin/master

In either case, Konine is backwards compatible with Koseven, so no application changes should be required. Refer to the Upgrading from Kohana guide if you are coming from Kohana 3.3.x rather than Koseven.

Do you want to contribute to Konine?

We need YOUR help!

This project is open source. What does this mean? YOU can help: Go to Github