Developing and testing your Joomla Website
Article Audience: Webmasters
If you are coming from a (professional) software development background you should know the critical importance of testing before release. This article talks about a few server suites for developing and testing your Joomla! website before going live.
Developing your website locally before actually uploading to your host makes sense for a large number of reasons. Before actually going live you need to:
- Learn how to administer and deploy a Joomla! website
- Brand the template you have chosen
- Organise your sections and categories appropriately
- Ensure that any 3rd party components you will install will not break any other parts of your site. You also need to ensure that are correctly and fully configured
- Configure email settings, contacts, registration / login settings, decide on users which will be given front-end / back-end access
- Lots of other settings to ensure that your site has been fully optimized
To be able to design and test you need a local installation of your website on a stand alone server. The following server(s) and suites enable you to easily and install your development site.
This suite of applications (both for Windows and Linux) contains all the necessary components to be able to create a local installation since it contains all the necessary system requirements for a Joomla installation:
- Apache (web server which allows the running of PHP language and functions)
- MySQL (database server)
- PHP (the language in which Joomla is written)
- PHPMyAdmin (an front end for the MySQL database server written in PHP)
- and other components ...
XAMPP may seem slightly overwhelming immediately after you installing it since you may find that you won't know what to do to get your Joomla installation up and running. This is becuase Joomla does not come pre-installed with XAMPP but you will have to manually install it yourself.
Most of the default settings are correct though you may tweak each setting to your liking. The only thing you need to ensure is that you follow the instructions when you land on the welcome home page (i.e. click on the Status page to ensure that all the services are working correctly). Also ensure that your phpMyAdmin is working correctly, so that you will be able to create the database on which your Joomla installation will be based.
Once you have verified that the required components have been created, you need to create a MySQL database from phpMyAdmin (which is the interface for the database server). To do this you click on phpMyAdmin link on the XAMPP front page, enter a database name (e.g. JoomlaDB), choose the correct Collation and press the Create button. (If you require a different collation from the standard collation, you will need to choose it from the drop-down next to the database name, it is recommended you read about and understand collations before going create your live database. Collations are especially important when you want your website to correctly support different languages although this is a completely separate topic
Once the database has been created you need to extract the latest Joomla source code files (downloaded from the http://joomla.org website) into the htdocs folder of your XAMPP installation. The htdocs folder is the folder from where pages are served by the web server (infact in it you will find an XAMPP folder, and a phpMyAdmin folder, both of which are web applications served as http://localhost/xampp and http://localhost/myphpadmin respectively). You need to create a new folder (e.g. myJoomla) and extract the Joomla source code into this folder. Once you have extracted all the code, you just need to browse to http://localhost/myJoomla and the Joomla installation procedure will start. Remember that when you are asked for the database details you need to specify localhost as the host, username / password is root/<empty password> if you have left all MySQL settings as default, and the name of the database should be the name that you have created in the database above.
XAMPP is a very good suite for developing and testing your website installation and is highly recommended though you might feel overwhelmed if you have rarely used any of the above mentioned technologies.
All of the above components come free of charge (this has been taken for granted but it's worth a mention at this point!)
An easier solution for a local installation is the JSAS. Contrary to XAMPP above, JSAS is a windows only server. It also installs Apache web server, MySQL, PHP and phpMyAdmin. Besides the required Joomla system requirements, JSAS also comes with Joomla pre-installed. This is an advantage for those who are not very technical, but an obvious limitation to those who want various Joomla installations (possibly with different versions) on the same server and who want to be able to control what goes on on their server.
JSAS comes with a default Joomla installation, and a MyJSAS part which allows you to install an additional five Joomla installations. This would be ok for users who have few webstes to develop and support, but another limitation for more advanced users.
The buttons at the bottom allow you to browse your installation directories, run phpMyAdmin (to access your database(s)), and view JSAS documentation if you so require. Also creating a additional installations is fairly easy. You need to click on Create New Site button and give the website details, and then click on the Advanced Options and press the Install Joomla button which will extract the Joomla source code to the defined folder.
JSAS and MyJSAS make it fairly easy to have a local installation with being very technical but this easiness brings with it a limited number of installations and limited control.
There is a JSAS Pro version which we have sincerely never used so we can't really comment about.