JoomlaTools has made available a nice little package to help make Joomla developers' lives easier. They call it the Joomla Console, and you can get it here: https://github.com/joomlatools/joomla-console
The Joomla console is a set of scripts that handles all the install / configuration of Joomla for you. As a Joomla developer, I tend to have to install a couple sites per day for testing new stuff and creating new RETS / IDX import routines. It gets to be a little annoying and time consuming extracting, configuring and installing Joomla, then installing our custom components as well.
Thanks to Joomla Console, you can do this really quickly. The basic syntax is:
joomla site:create testsite
That's it-- it will automatically create the Joomla site, database and admin user for you, building out the Apache alias and dropping the files in your web root!
Even cooler, you can also have the console automatically install your components. You do this by executing an installfile command after the site is created:
joomla extension:installfile testsite /home/vagrant/com_component.v1.x.zip
You can also pass in params to change the default mysql database logins and web root if you don't use the same defaults as the script expects. This unfortunately makes the commands a little more awkward. And since I'm super lazy, I also don't like to have to type two long commands in a row, while somehow remembering the configuration options and getting those right too.
Solution: a quick little bash script to handle all that for me. Here's my script, saved in /usr/local/bin/ as `createsite` and chmod'd to make it executable:
joomla site:create $1 --www=/my/web/root --mysql=username:password
joomla extension:installfile $1 /path/to/my/git_repos/IPROPERTY/IPROPERTY30.zip
Now from my terminal I can just type
$ createsite mycoolsite
Result: a shiny new site at /localhost/mycoolsite, with the latest IProperty build installed and ready to roll!
Big thanks to Joomlatools for this great project and making our lives that much easier.