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 ;)