Dec 21
2009

Joomla Administration

Posted by: admin in CMS

Tagged in: joomla

Joomla has made administration generally very easy. However, as a site expands, managing the existing content, user authentication, and keeping the system clear of dead or outdated data can become a real chore. There are methods for handling all of these problems, largely thanks to Joomla’s embrace of open standards and compatibility with a large number of technologies.

 For infrastructure-wide user authentication, Joomla is compatible with Lightweight Directory Access Protocol (LDAP) servers that can also be used to manage users on other server types. For handling old content, menus, and users, you can either use the Joomla Administrator interface or directly query the Joomla database tables using MySQL tools. Most of the Joomla maintenance on even a larger system can be accomplished without having to resort to expensive or complex system tools.

LDAP Authentication
LDAP is an implementation standard that provides ways to centralize access authorization. Instead of requiring a separate login for each of numerous systems a client might use, a single authorization con- tained in an LDAP directory can provide authorization to all of those systems. For example, an LDAP server could contain all the user authentication information for a Web server, FTP server, CMS, mail server, and so on. That means that only a single user account would have to be administered on the LDAP server, instead of individual records at all other servers.

Fortunately, through a plug-in that comes with the system, Joomla supports LDAP authentication. Although the group-level settings (such as registered, contributor, moderator, and so on) can’t be stored on the LDAP server, username and password login can be.

Joomla LDAP Plug-In
To activate LDAP capabilities on Joomla, select the Plug-in Manager under the Extensions menu of the Joomla Administrator interface. You will find the LDAP extension under the name Authentication — LDAP. Click on the link to display the LDAP extension parameters. Set the Published parameter to Yes, because the plug-in is not activated with a default installation.

When setting the plug-in parameters, if available through the target LDAP server, select the Yes option for the Negotiate TLS parameter. Setting this parameter will make the system negotiate Transport Layer Security (TLS) that will encrypt traffic with the LDAP server so that passwords and authentication are not sent in plain text.

Set the Base DN parameter to the base distinguished name of the LDAP Server (which should be unique). Set the Search String to the query string with [search] substituted where the username or ID will be placed. For example, a search string of uid=[search] will send the entered username to be matched against val- ues in the uid field. The Users DN is used only in direct binds and will send user-provided login strings, separated by a semicolon (;). For example, uid=[username], dc=mycompany, dc=com would log in to the LDAP server with those parameters.

Leave both the “Connect username” and “Connect password” fields blank for anonymous access. The final Map parameters are used to define the fields on the LDAP server that will contain the required information for a Joomla login.

OpenLDAP
If you want to run an LDAP server, you can use OpenLDAP, an open source implementation of an LDAP server. It is available for the Linux, UNIX, MacOS, and BeOS operating systems at the main OpenLDAP site (www.openldap.org). For Windows, you can get LDAP at the ILEX Web site (www.ilex.fr/openldap.htm or http://download.bergmans.us/openldap). Note that most Windows-based networks will use Active Directory, which also supports LDAP.

For testing, you can address an LDAP server from modern Web browsers. Simply use the ldap prefix rather that the traditional http for the URL like this:    ldap://ldap.itd.umich.edu

If you’re doing a lot of LDAP work, consider downloading and installing Luma, which is an LDAP browser and testing tool. You can download it for free at the Luma home page (http://luma.sourceforge.net).

Configuring an LDAP server is no small task. Therefore, if you have no previous experience with LDAP, before you attempt an installation, I would suggest you purchase one of the many fine books available on the technology. You might try Implementing LDAP by Mark Wilcox (Wiley Publishing, Inc., 1999), which covers LDAP from the perspective of developers, as well as system administrators.

Maintenance
As important as setup can be to the proper functioning of a Joomla site, maintenance can be just as important. A CMS is like a garden where weeds must be plucked, pests destroyed, and even the most desirable of flowers must be pruned.

By making sure your Joomla system continues to be properly tuned, you will maintain good performance. Letting unpublished content clog the system, or long-time inactive user accounts present a security threat, can make the time saved by avoiding routine maintenance seem like a bad choice.

Cleaning Joomla
The Joomla database can become cluttered over time with quantities of unpublished content, unused menus, inactive user accounts, and so on. You can begin the cleaning from the Joomla Administrator interface. However, there are many cleaning tasks that are too arduous and time-consuming to perform through the interface. These tasks can execute directly against the MySQL database.

Before you perform any cleaning manually, check the Joomla extensions site (extensions.joomla.org) for an extension that performs the task you need. An extension may take into account variables that affect the system functions. For example, you can’t delete a category until all articles filed in that category are removed. Rather than going through the tedium of removing the articles and then the category, you may find an extension that will delete a category and all the articles in it.

Using the Article Manager to Find Unpublished Articles and Menus
If possible, you should use the Joomla Administrator interface for any deletions or modification. Only the system itself understands the web of links a particular change might affect. The interface will also warn you of problems with executing the desired action, such as the performance penalties that may occur from activating search term logging.

The Article Manager can be used to instantly generate a list of all the unpublished articles. Examining this list is important at regular periodic intervals (once every six months, for example) to ensure that your database doesn’t become bloated with unused content.

For unpublished articles, select the Unpublished option in the Article Manager. The list will now hold only the unpublished articles on the system.

Direct MySQL Access
Since all of the critical information for Joomla is stored within MySQL, you can directly search the database for errant information. It is also possible (but not recommended if you have another choice) to clean the database yourself. Some cleaning functions (especially those such as removing extensions, which require file deletion) should only be performed through the Administrator interface. However, the ability to make bulk changes and deletions to particular tables can sometimes only be handled directly through MySQL.

 

You are directly modifying the Joomla database that can be very hazardous if you don’t understand exactly what you’re doing. If you have any doubts about perform- ing an action — don’t do it. Also, before you make any changes, be sure that you have backed up the entire database, so in the case of a catastrophic fault, you can restore the database and, thereby, restore the Joomla site.

Finding Old Content
Content listed by modification date can show all articles that haven’t been revisited in a substantial length of time. These articles can be updated to provide more current information or archived off the system.

You can find old content by executing the following SQL statement against the Joomla database, substituting the date specified as a desired value:

SELECT *  FROM  jos_content WHERE  modified <  ‘2007-01-01’

Finding Inactive Users
Joomla tracks the last visit date of all registered users. A query of these dates can provide a list of users who have not visited the site in some time. One of the best things you could do with such a list is to email these users to remind them of the site and invite them to return.

You can find inactive users by executing the following SQL statement against the Joomla database, sub- stituting a desired value for the date specified:

SELECT *  FROM  jos_users WHERE  lastvisitDate <  ‘2007-01-01’

Finding Empty Data Fields
There are a number of fields that, if left empty, can be detrimental to your site ranking on search engines. Most important of these fields are the meta information (such as article description and article keywords) that provide the search engine with behind-the-scenes information about the content. A simple MySQL query can be used to find all of the articles that are missing this information, so the data can be created and the problem remedied.

You can find empty data fields by executing the following SQL statement against the Joomla database:

SELECT *  FROM  jos_content WHERE  metakey =  ‘’ or metadesc =  ‘’

Finding Unpublished Articles and Menus
Tracking unpublished items can be a big task with a popular, large, and mature Joomla site. Often, con- tent is unpublished for convenience, since at a particular time, it is unknown whether the item will be needed again. After a certain age, however, the item (whether it’s an article or menu) is unlikely to ever be used again. At that point, it is best to simply archive the item and then remove it from the database to increase performance.

You can find unpublished items by executing the following SQL statements against the Joomla database:

SELECT *  FROM  jos_content WHERE  state =  0

SELECT *  FROM  jos_menu WHERE  published =  0

SELECT *  FROM  jos_plugins WHERE  published =  0

SELECT *  FROM  jos_components WHERE  enabled =  0

SELECT *  FROM  jos_modules WHERE  published =  0


Comments (1)Add Comment
...
written by Dannelle, February 28, 2010
Hello, I appreciated your information on this module, but I still really need some help and wondered if you would be able to do so. I need to know if this module will allow me to pasword protect a directory in which files are kept that need to be accesses by a one time log in to my Joomla site. Joomla does not proect the secure information refrenced by links to files that exist in the articles, an d I need to password protect those files with out asking my users to engage a second set of usernames and passwords. Can you help me?

Write comment

busy

Latest posts from our blog...

Tags

Copyright © 2009 Webhostingart.com. All rights reserved unless otherwise stated.