Joomla is a popular content management system (CMS). A great choice for powering websites, blogs, and intranets, its MVC architecture makes it an excellent fit as a back-end for mobile and other API-driven applications. Because it is used by hundreds of businesses, non-profits, government agencies, and individuals, you gain the advantages of a rich third-party ecosystem and a community to count on.
This guide will get Joomla running on your Ubuntu 14.04 LTS server. The combination of this CMS and Ubuntu LTS gives you a reliable web presence hosted on an operating system with years of testing and available support.
Let’s begin. Start by updating your package cache. This will ensure that downloads do not fail if package versions in the Ubuntu repositories differ from those in your cache. We’ll also install the unzip package. Joomla is shipped in a zip archive, but the Ubuntu LTS base distribution does not include tools to manipulate zip files.
apt-get install unzip -y
Joomla requires that you have a few PHP modules available in addition to those provided in the standard LAMP stack. Here we’ll install the extra dependencies it needs to run.
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-snmp php5-tidy php5-xmlrpc -y
We must now create Joomla’s database, along with a database management system (DBMS) user with the necessary permissions to modify the schema and change the database’s contents.
mysql -u root -p
create database joomla;
create user joomlauser@localhost IDENTIFIED BY 'joomlapassword';
GRANT all ON joomla.* TO joomlauser@localhost;
Let’s download the Joomla archive into the document root of your web server. We’ll also unzip it once the download is complete.
unzip -q Joomla*.zip -d /var/www/html
Apache must make various changes to its document root directory in the course of running Joomla. Here we’ll ensure that it has the ability to modify the document root in the ways the CMS expects.
chown -R www-data. /var/www/html/
chmod 755 -R /var/www/html/
While earlier we installed Joomla’s dependencies, Apache does not automatically detect the presence of new PHP modules. Before we can run our content management platform, we’ll need to restart Apache so Joomla can find its libraries.
service apache2 restart
service mysql restart
We’re almost done. To complete the installation, access your new instance at http://your_ip/installation. Follow the prompts to integrate Joomla with its database and to begin setting up your new website.
When the installer is finished, you’ll want to remove the installation directory. While it is likely impossible for remote users to run the installer again, it is better to be safe than sorry, and deleting the installer prevents remote exploits that might compromise your site or its database.
rm -rf installation/
You’re now ready to make this site your own, changing its appearance and adding content to suit your requirements. Joomla is a great web platform, so if you know anyone who needs a good site but isn’t quite sure what to use, share this guide with them so they too can run Joomla on their own Ubuntu server.