Over the years, CakePHP has become increasingly easier to install and setup. No matter how easier it became though, it was still a roadblock to getting an app up and running specially for new users to the framework.

It took me many installs to finally have a process that I follow to have a site running, but I still ran into issues here and there. When attracting new users of this great framework, that frustration can push someone away from learning and working with it.

Then out-of-nowhere came OVEN (https://github.com/CakeDC/oven)

Oven is an awesome CakePHP tool that allows anyone to install CakePHP and its dependencies from any browser with one click of a button. You no longer have to SSH into your server, go thru some complicated CLI commands and headaches to have your CakePHP app setup. Now, you only have to upload a file (oven.php) to your server with FTP or clone it from GitHub to your server or shared hosting to start the setup. After that is done, you would then visit http://www.mydomain.com/oven.php, click the Install Button and you are on your way. If there are any issues along the way that prevents CakePHP to operate, Oven will let you know with graceful and informative messages.

Oven is in its early stage of development, so there are room for improvement and would-like to have features. While trying this tool, I only encountered one issue, but that was totally my fault. I use Digital Ocean to create my apps and when I created the directory to try Oven, I did not give NGINX the correct permissions. After that first mishap, every other time I tried, it ran without issues.

In terms of "Would-Like" to have features, I have the following suggestions:

1. Give Oven the ability to be installed in a central location and from there allow developers to provide it with a location to create a new setup. For example, I could upload Oven to /var/www/cakephp-oven/oven.php and from there I can tell oven to create a new website at /var/www/website1 or another at /var/www/website2.

2. Create the DB setup by allowing a developer to enter those information in a popup. Better yet, only ask for a project name and create a database with automatically generated user and password.

3. Pick from a list of tested and tried CakePHP plugins and Oven would simply install and configure them, which includes Schema setup. That would just blow my mind and make CakePHP even more appealing. I think though, this would require plugins to have an extra file like oven.json, which would include all necessary instructions for Oven to operate on.

Besides enhancements I really did not see any drawbacks or issues with it. It is a great tool to be used by the CakePHP community as an alternative to quickly create a CakePHP setup.