Joomla hints and tips
I’ve recently started to build a website for a client using Joomla! CMS – and I’ve had some interesting problems.
Our local test server is a Windows XP machine running Apache, MySQL & PHP. Absolutely no problems installing Joomla! or any of the extensions and components (more about those later).
The live server is a Linux/Apache/MySQL/PHP system. After uploading the Joomla! installation files using FileZilla and running the install I needed to install the extensions. Could I get it to work? Could I heck!
Using the “Upload Package File” option from the Extension Manager: Install screen I kept getting “Warning! Failed to move file” error messages.
Using the “Install from Directory” option I was getting various “can’t create file/directory” error messages.
It seems (through searching the net) that these are common problems. The first thing to do it to enable FTP file system layer during install. I couldn’t find how to do this once the install was done, so delete all the files, re-upload and start again. (Later – found how to enable FTP – look in “Administration/Server”).
The next thing was to write enable some files & directories – I’ll summarise these at the end.
This sort of helped – things got further before failing. Eventually by trawling through numerous solutions – most of which would leave the site unsecure or couldn’t be implemented on our server – I came across this page in the Joomla forum which listed the FTP settings in configuration.php.
I found that the $ftp_root value hadn’t been set. Now I don’t know whether I did something wrong in the setup or whether Joomla! failed to set it, but by setting it, extension installation using “Upload package file” now works (Later after yet another install I found that Joomla! hadn’t written the right info to configuration.php).
Next problem
While trying to install CiviCRM, I kept getting unable to create directory error messages. CiviCRM need PHP safe_mode turned off, most web servers have it turned on. Eventually I found a switch hidden away in the Plesk control panel that allowed me to turn off safe mode just for this domain (nothing in the help file, had to get one of my tech support team to work over the weekend). Once that was changed – bingo – all fine.
One other tip
When you install Joomla it creates a configuration.php file in the top level directory. I found that it got created with a strange ownership which wouldn’t let anything write to the file or change the file protection. I got round this by downloading it onto my local PC, deleting it off the server and re-uploading it. What I suggest is that, after uploading the Joomla! installation and before running the installation, you create an empty configuration.php file.
Settings summary
Make the following directories writeable by CHMODding them to 777
- /administrator/cache
- /cache
- /logs
- /tmp
configuration.php may also need to be made writeable (CHMOD 666. When you’ve finished set it back to 644) – in some cases it can be updated by supplying the ftp name & password when asked
In configuration.php make sure the following are set
- public $ftp_host = ’127.0.0.1′;
- public $ftp_port = ’21′;
- public $ftp_user = ”;
- public $ftp_pass = ”;
- public $ftp_root = ‘joomla directory‘; (probably something like httpdocs, unless you’re installing in a subdomain)
Several of the articles said to set PHP safe_mode off – in fact when you install Joomla! you get a warning if safe_mode is on. The general consensus is this isn’t a good thing, although if the site is the only one on the server it’s acceptable. It is also possible to turn it off for the site, but other settings have to be enabled on the server to do this, which aren’t on ours.
The extensions
Akeeba backup – must have. Manual & automatic backups for Joomla! Also has the facility to completely rebuild the website from scratch. All you have to do is upload the backup file and Kickstart files and create the database. I also needed their eXtract wizard software to unpack the backup before uploading (possibly not needed now that the file upload problems appear to be fixed)
Akeeba admin tools – another must have. A set of tools for administering your site, including the most helpful “fix permissions” and “clear temp directory”
CiviCRM – CRM package specifically designed for not-for-profit and membership organisations. It includes modules for case management, fundraising & donations, and (what I was particularly after) event management, membership management and email & newsletter management.

