Requirements
[!!] Before continuing, make sure you have a web server (like Apache) configured with the following requirements.
- PHP 7.0.21 or newer.
- PHP Short open tag Enabled
- Iconv Extension
- Character Type (CTYPE) Extension
- PCRE Extension
- SPL Enabled
- Reflections Enabled
- Filters Enabled
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_urlin 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.phpand 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
Cookieclass.Cookie::$salt = 'some-really-long-cookie-salt-here'; - Make sure the
application/cacheandapplication/logsdirectories 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.
- Test your installation by opening http://localhost/.
You should see the installation page. If it reports any errors, you will need to correct them before continuing.

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:

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.