Manage Web Content with Joomla!

Updated by Linode

Joomla is an advanced “content management system” (CMS) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like Drupal and WordPress, Joomla also has advanced features that resemble web-development frameworks like Ruby On Rails and Django. Deployed on top of the industry standard LAMP Stack, Joomla is designed to be both easy to use and manage from the end-user’s perspective and easy to administer and host.

Before installing Joomla, we assume that you have followed our getting started guide. If you’re new to Linux server administration you may be interested in our introduction to Linux concepts guide, beginner’s guide and administration basics guide. Additionally, you will need to follow the LAMP Guide appropriate for the distribution you have deployed.

Installing Prerequisites

After installing the LAMP stack, you must attend to a few additional prerequsites to complete this Joomla installation. Ensure that your distribution provides wget and unzip tools. In Debian- and Ubuntu-based systems, issue the following command:

apt-get update
apt-get upgrade --show-upgraded
apt-get install wget unzip

In CentOS- and Fedora-powered systems, issue the following commands to run system updates and install required prerequisites:

yum update
yum install wget unzip

On Arch Linux systems, issue the following commands to update the package database and install required prerequisites:

pacman -Sy
pacman -S wget unzip

On Gentoo Linux systems, issue the following commands to update the package database and install required prerequisites:

emerge --sync
emerge wget unzip

Now we are ready to begin to install Joomla. For the purposes of this document we will assume that the DocumentRoot for the virtual host where you will be installing Joomla is located at /srv/www/ for the domain

Download and Install Joomla

At the time of publication, the latest stable version of Joomla was 1.5.15. Consult the upstream to ensure that you’re installing the most up-to-date version of the software. This is important to avoid deploying software with known security holes and resolved bugs. Begin by issuing the following sequence of commands to create the required directories, change directories, download the required files, extract the archive and move the files into the DocumentRoot:

mkdir -p /srv/www/
cd /srv/www/
unzip /srv/www/
cp /srv/www/ /srv/www/
cp -R /srv/www/* /srv/www/

These commands create a src/ folder within the /srv/www/ directory to store and manage pristine copies of the source files from which you deploy your Joomla site. Repeat this process, changing file names as appropriate, following new releases and updates of the Joomla software, to ensure that you have easily accessible copies of releases - in case you need to restore or reference the code you have running on your site.

We encourage you to monitor the Joomla download page for new releases and updates to ensure you’re always running the most up-to-date version of Joomla software.

Configure Joomla

Before we proceed with the installation of Joomla, we must create a configuration file that Joomla can write to. Issue the following sequence of commands:

touch /srv/www/
chmod 777 /srv/www/       

Now, visit your site in your web browser. In the case of our example, this would correspond to the URL of Follow the steps laid out in the Joomla installer presented on your screen. We do not recommend that you install or enable an FTP server. When the installation is complete, issue the following commands to remove the installation files and secure the configuration.php file:

rm -rf /srv/www/
chmod 755 /srv/www/

Congratulations! You now have a fully functional Joomla-powered website!

Monitor for Software Updates and Security Notices

When running software compiled or installed directly from sources provided by upstream developers, you are responsible for monitoring updates, bug fixes, and security issues. After becoming aware of releases and potential issues, update your software to resolve flaws and prevent possible system compromise. Monitoring releases and maintaining up-to-date versions of all software is crucial for the security and integrity of a system.

Please monitor the Joomla developer email lists and security web forum to ensure that you are aware of all updates to the software and can upgrade appropriately or apply patches and recompile as needed:

When upstream sources offer new releases, repeat the instructions for installing the Joomla software as needed. These practices are crucial for the ongoing security and functioning of your system.

This guide is published under a CC BY-ND 3.0 license.