Install CakePHP 2.x in Ubuntu


  • HTTP Server. For example: Apache. mod_rewrite is preferred, but by no means required.
  • PHP 5.2.8 or greater.
  • Database Engine (MySQL (4 or greater), PostgreSQL, Microsoft SQL Server, SQLite)
Download CakePHP 2.x at their website:

Extract your downloaded file.

Copy and paste the contents of the Cake archive in /var/www/cakephp

Make it writable, open your terminal and type:  

    sudo chmod 777 -R /var/www/cakephp

Create your database.

Goto /var/www/cakephp/app/Config/ and rename your database.php.default to database.php.

Open database.php, then just replace the values in the $default array with those that apply to your setup. . A sample completed configuration array might look something like the following:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'port' => '',
    'login' => 'DatabaseUsername',
    'password' => 'DatabasePassword',
    'database' => 'DatabaseName',
    'schema' => '',
    'prefix' => '',
    'encoding' => ''

The security salt is used for generating hashes. Change the default salt value by editing /app/Config/core.php line 187. It doesn’t much matter what the new value is, as long as it’s not easily guessed.

 * A random string used in security hashing methods.
Configure::write('Security.salt', 'tYp3Anythin5H3r3');

The cipher seed is used for encrypt/decrypt strings. Change the default seed value by editing /app/Config/core.php line 192. It doesn’t much matter what the new value is, as long as it’s not easily guessed.

 * A random numeric string (digits only) used to encrypt/decrypt strings.
Configure::write('Security.cipherSeed', '7485712659625147843639846751');

If your web server is configured correctly, you should now find your Cake application accessible at  http/localhost/cakephp/

If your CakePHP site still has problems with mod_rewrite you might want to try and modify settings for virtualhosts. If on ubuntu, edit the file /etc/apache2/sites-available/default (location is distribution dependent). In this file, ensure that AllowOverride None is changed to AllowOverride All, so you have:

<Directory />
    Options FollowSymLinks
    AllowOverride All
<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Allow,Deny
    Allow from all

Restart your apache.

   sudo service apache2 restart

Post a Comment

Popular posts from this blog

CakeAdminLTE is based on AdminLTE Theme for CakePHP 2.4+

CakePHP: COUNT data and GROUP BY date

CakePHP: Calling function from other controller