Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

Please format this article according to the guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article

Joomla is one of the most powerful Open Source Content Management Systems on the planet.
Developer: Joomla Foundation
Package: www-apps/Joomla
Category: www-apps
License: GPL-2


About Joomla

Joomla! is one of the most powerful Open Source Content Management Systems on the planet. It is used all over the world for everything from simple websites to complex corporate applications. Joomla! is easy to install, simple to manage, and reliable.
Joomla! Official Logo
Joomla! Official Logo

If you have dev-php/php installed, make a backup of it and un-emerge first:

Code: Backup PHP and remove it
quickpkg php
emerge -C dev-lang/php

These USE-Flags are important for Joomla to function properly. Add the follow flags to /etc/portage/package.use:

File: /etc/portage/package.use
dev-lang/php cli cgi apache2 mysql zlib pcre session gd xml

If you don't add the xml flag, Joomla indicates "XML support" as unavailable during the pre-installation check.

Installing Joomla

The Package

Joomla! is masked by ~x86, so you have to unmask it. Add the following to /etc/portage/package.keywords:

Note: Joomla is consided unsafe and therefore may be hard masked.

The statement we are making by hard masking the package is that we cannot support the package security-wise, but that we expect this to be temporary (otherwise it would be simply removed). The difference this has to ~arch packages is that those *are* security supported, and we will track every single vulnerability that we come across and that will torture our maintainers.

File: /etc/portage/package.keywords
www-apps/joomla ~x86

Then emerge Joomla:

Code: emerge joomla
emerge -DuN dev-lang/php joomla
Note: If you got an error about missing C++ libraries, look up the keyword "" at the forums.

Creating a Database

Joomla needs an SQL based database to run. For this tutorial, we'll be using a mysql Database. (HOWTO_MySQL) might help you if you don't have MySQL installed. Another great resource to get you started with a great introduction to MySQL (its very useful if you have problems during the install) is the Gentoo-MySQL Startup Guide

Create the Database

First of all, you need to create a database to use. We're calling our database 'joomla', because that's nice and descriptive.

Code: Creating the Database
mysqladmin -u root -p create joomla

Add a user

While you can run joomla with root access to your MySQL database, it makes more sense securitywise to have a dedicated joomla user. So, add a joomla user (Which I'll call joomla, because I'm wildly creative)

Code: Adding a user
mysql -u root -p 
 Enter Password:
mysql> GRANT ALL ON joomla.* to 'joomla'@'localhost' IDENTIFIED BY '<password>';

Replace <password> with your password, but keep the single quotes.

Configuring Joomla

Note: If you are security conscious, you may wish to turn off RG_EMULATION. Its turned on by default for compatibility reasons but is a security risk with Joomla. Turning it off may cause you to experience some problems with third-party Joomla components.

You can read more about security with Joomla on their FAQ about this found here:

Joomla FAQ on Security

Code: Configure Joomla
nano /var/www/localhost/htdocs/joomla/globals.php 

Scroll down till you see define ( 'RG_EMULATION', 1 ); change the 1 to a 0 to turn this off and then save the file. Reload Apache2 configuration for the changes to take place.

 #/etc/init.d/apache2 reload 

-- 21:17, 30 May 2007 (UTC) BCheever 05/30/07

Point a browser to your web server http://localhost/joomla and follow the simple easy to use install instructions for Joomla.

Remember to use the same password and database name as we defined earlier.

Note that it's likely that you can't modify configuration.php. This is no real issue... Just chmod it after touching it to create it:

#touch /var/www/localhost/htdocs/joomla/configuration.php
#chmod 666 /var/www/localhost/htdocs/joomla/configuration.php

You will need to create the file first, though.

I also had to uncomment the definition of the session save path in /etc/php/apache2-php5/php.ini

the line to uncomment is:

session.save_path = "/tmp"

Note: Don't forget to remove the installation directory once the configuration process is complete (MJL).

mv /var/www/localhost/htdocs/joomla/installation /var/www/localhost/htdocs/joomla/installation.orig


Retrieved from ""

Last modified: Mon, 06 Oct 2008 04:37:00 +0000 Hits: 15,567