You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

This page is designed to show how to integrate Roller 5.1 with LDAP (Apache DS). The below instructions have been tested on Ubuntu, Tomcat 7.x and JDK 7 with the following Apache DS releases:

Install Roller and Test

If you're new to installing Roller, it's best to first install using normal username/password security following the Roller Install Guide available from the Roller home page.  This will make sure that your JDK, database, mail server, etc., are all properly configured and running, providing a good foundation prior to bringing in LDAP authentication.  For Roller, the first user created automatically has admin rights, so use the same username here as the uid of the Admin user in the LDAP configuration below (using "rolleradmin" in the next section, but that can be changed as desired.)  The admin username will remain the same with the subsequent LDAP configuration, just the authentication method (LDAP password instead of Roller database password) will be different.

After confirming you can create a user, a blog for that user, and a blog entry, proceed onward for linking in LDAP. 

Activating Apache Directory Server

The instructions below do not provide a full tutorial on how to configure ApacheDS, refer to its documentation for comprehensive information.  There are several ways to install and start Apache DS, depending on the operating system you're using.  Ubuntu proved unusually clumsy, the Debian packages would not work for me so I used the standard .tar.gz download instead.  Then I needed to do the following to activate ApacheDS on Ubuntu (Steps #1-#3 are OS-specific, Steps #4 onward should be the same for all environments):

  1. Define a system environment variable $ADS_HOME pointing to my ADS install directory (used by apacheds.sh).
  2. Edit the apacheds.sh script, replacing the $RUN_JAVA and associated quotes around it with the path to your java.exe:  eval /path/to/jdk/bin/java $JAVA_OPTS $ADS_CONTROLS...
  3. From the ApacheDS home folder, run "sudo bash bin/apacheds.sh default start" (note necessary use of "bash" for Ubuntu) from the command prompt.  Then run the command again, if you get a complaint that it's already running you're in good shape, further confirmation can be had in checking the instances/default/log/apacheds.out file, you should see the ApacheDS ASCII art indicating a successful activation.   
  4. Next, install and activate Apache Directory Studio.  We'll be importing an LDIF file containing an "admin" user with password "adminldap".
  5. Create a new LDAP Connection with the following settings:
    • Connection Name: Local ApacheDS
    • Hostname: localhost
    • Port: 10389
    • Encryption: No Encryption
    • (Click Next)
    • Bind DN or user: uid=admin,ou=system
    • Bind password: secret
    • (Click Finish)
  6. Download roller.ldif to your Desktop. This file contains an "rolleradmin" account with password "adminldap" (both of course should be changed for an actual installation) as well as Groups and People organizational units.
  7. In Apache Directory Studio, right click on dc=example,dc=com and select Import > LDIF Import...
  8. Select roller.ldif for the LDIF file and click Finish. You may get an error during the import, but it should add entries successfully.
  9. Under the dc=example,d=com heading add additional users under rolleradmin with different passwords.

Configuring Roller to use LDAP authentication

Now that you have Roller installed and working, configure it to authenticate against LDAP instead of the "rollerdb" database.

  1. users.sso.enabled=true
    
  2. Open $CATALINA_HOME/webapps/roller/WEB-INF/security.xml in your favorite XML editor. Look for "LDAP/SSO" and uncomment the bean definitions to enable LDAP. In the "authenticationManager" bean, comment out "daoAuthenticationProvider" and enable "ldapAuthProvider". Commenting out "daoAuthenticationProvider" is not necessary, but it allows you to verify you're only authenticating against LDAP. Use the following values for the values in the "initialDirContextFactory" bean.
    • LDAP_URL = ldap://localhost:10389/dc=example,dc=com
    • LDAP_USERNAME = uid=admin,ou=system
    • LDAP_PASSWORD = secret
  3. While you're editing security.xml, change the "rollerlovesacegi" value to something unique to your server. Any XML-friendly characters will work. The more cryptic the better.
  4. Start Tomcat and login to your blog with admin/adminldap (the password here defined in the roller.ldif file downloaded).

 

  • No labels