Joomla developers and agencies face the same challenges everyday. Testing their extensions against different Joomla versions, bugs that only happen in certain PHP versions, telling people "works on my machine" over and over again... What if we didn't have to suffer all this? What if it took 5 seconds to set up a new Joomla site or 2 minutes to test a new PHP version? And what if all your coworkers had the exact same setup as you do? In this presentation, we introduce Vagrant, a virtual machine manager, and walk through the benefits of using it for development. The slides take you through the different steps to setup a complete local Joomla environment in just minutes, install a site and install an extension from Git. At the end we also include information of the different productivity tools that are installed in the box. If you develop with Joomla locally then this presentation is one you shouldn’t miss out on. Happy coding !
Citation preview
1. http://developer.joomlatools.com @joomlatools Joomla in a
Box A local development environment v1.2 Tuesday 22 April 14
2. Getting started Tuesday 22 April 14
3. Install Virtualbox 1 http://virtualbox.org Tuesday 22 April
14
4. 2 Install Vagrant http://vagrantup.com/downloads Tuesday 22
April 14
5. 3 Install Box $ vagrant init joomlatools/box $ vagrant up
Add the following line to your hosts le [/etc/hosts] : 33.33.33.58
joomla.dev webgrind.joomla.dev phpmyadmin.joomla.dev
http://joomla.dev In your browser go to ... http://joomla.dev
Tuesday 22 April 14
6. Creating sites Tuesday 22 April 14
7. 4 Creating Sites $ vagrant ssh $ joomla site:create
--sample-data=testing joomla3 http://joomla.dev/joomla3 For help on
a command $ joomla site:create --help For more commands $ joomla
--list Tuesday 22 April 14
8. Installing extensions Tuesday 22 April 14
9. 5 Using Composer http://packagist.org Tuesday 22 April
14
10. 6 Using Composer http://getcomposer.org $ vagrant ssh $ cd
/var/www/joomla3 $ composer install Add a composer.json to
/var/www/joomla3 {! ! "require": { ! !
"joomlatools/com_helloworld": "0.0.2" ! } } Tuesday 22 April
14
11. 7 Using Symlinks http://joomla.dev/joomla3 Tuesday 22 April
14
12. 8 Using Symlinks $ cd Projects $ git clone
https://github.com/joomlatools/joomla- com_helloworld.git
http://joomla.dev/joomla3 Tuesday 22 April 14
13. 9 Using Symlinks http://joomla.dev/joomla3 $ vagrant ssh $
joomla extension:symlink joomla3 joomla-helloworld $ joomla
extension:install joomla3 com_helloworld
http://joomla.dev/joomla3/index.php?option=com_helloworld In your
browser go to ... Tuesday 22 April 14
14. Testing versions Tuesday 22 April 14
15. 10 Adding sites $ vagrant ssh $ joomla versions
http://joomla.dev/joomla33 Get a list of all Joomla versions from
Github. Tuesday 22 April 14
16. 11 Adding sites $ vagrant ssh $ joomla site:create
--joomla=3.3-dev joomla33 http://joomla.dev/joomla33
http://joomla.dev/joomla33 In your browser go to ... Tuesday 22
April 14
17. Managing PHP Tuesday 22 April 14
18. 12 Managing PHP $ vagrant ssh $ phpmanager versions $
phpmanager use 5.4.18 http://joomla.dev/joomla3
http://joomla.dev/phpinfo In your browser go to ... Tuesday 22
April 14
19. 13 Clearing APC $ vagrant ssh $ apc clear
http://joomla.dev/joomla3 http://joomla.dev/apc In your browser go
to ... Tuesday 22 April 14
22. 15 Mailcatcher http://joomla.dev:1080 Tuesday 22 April
14
23. 16 PHPMyAdmin http://phpmyadmin.joomla.dev Tuesday 22 April
14
24. 17 Webgrind http://webgrind.joomla.dev Tuesday 22 April
14
25. Box sharing Tuesday 22 April 14
26. 18 Vagrant Share $ vagrant login $ vagrant share
http://joomla.dev/joomla3 http://xxx-xxx-xxx.vagrantshare.com In
your browser go to ... Tuesday 22 April 14
27. More Info @tweep - Can you get Joomla in a Box ? Yes. Just
fold it! #joomla #vagrant @joomlatools
http://twitter.com/joomlatools http://github.com/joomlatools
http://facebook.com/joomlatools http://google.com/+Joomlatools
http://developer.joomlatools.com Tuesday 22 April 14