Ubuntu and CakePHP: the right way ;)

My setup looks like this:

my apps are living in /home/kabturek/workspace/cake_apps/APP_ALIAS

i have cake core libs in

/home/kabturek/usr/lib/cake/1.2.x.x 

and

/home/kabturek/usr/lib/cake/1.1.x.x 

this allows me quickly update the core files (svn up)

i access an app by using an url http://APP_ALIAS/

This are the necessary steps: 1. install all the stuff (php, mysql ,apache, svn etc) 2. make a new file and name it like you app (APP_ALIAS)

sudo vim /etc/apache2/sites-available

and paste the folowing code in it (change APP_ALIAS (x3) to the name of the app)

NameVirtualHost 127.0.0.1 
<VirtualHost 127.0.0.1>
        ServerAdmin webmaster@localhost
        ServerName APP_ALIAS
        DocumentRoot /home/kabturek/workspace/cake_apps/APP_ALIAS/webroot
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/kabturek/workspace/cake_apps/APP_ALIAS/webroot>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ServerSignature On


</VirtualHost>

3.run these commands

sudo a2ensite APP_ALIAS
sudo invoke-rc.d apache2 reload

the first one enables your virtual host and the second one reloads apache to let it know it has a new vhost :)

4. for the url to work you must edit /etc/hosts

sudo vim /etc/hosts

and add you APP_ALIAS to the hosts for 127.0.0.1

127.0.0.1       localhost APP_ALIAS APP_ALIAS2 

5. you app/webroot/index.php should look similar to this:

/**
 * These defines should only be edited if you have cake installed in
 * a directory layout other than the way it is distributed.
 * Each define has a commented line of code that explains what you would change.
 *
 */
	if (!defined('ROOT')) {
		define('ROOT', DS.'home'.DS.'kabturek'.DS.'workspace'.DS.'cake_apps');
		//You should also use the DS define to seperate your directories
		//define('ROOT', dirname(dirname(dirname(__FILE__))));
	}
	if (!defined('APP_DIR')) {
		define('APP_DIR', 'tumble');
		//define('APP_DIR', basename(dirname(dirname(__FILE__))));
	}
/**
 * This only needs to be changed if the cake installed libs are located
 * outside of the distributed directory structure.
 */
	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
		define ('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'kabturek'.DS.'usr'.DS.'lib'.DS.'cake'.DS.'1.2.x.x');
		//You should also use the DS define to seperate your directories
		//define('CAKE_CORE_INCLUDE_PATH', ROOT);
	}

that should be it ;)

 
cakephp/setup.txt · Last modified: 2007/09/13 21:19 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki