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

Compare with Current View Page History

« Previous Version 16 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.  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 more 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 make the following changes to activate ApacheDS:

  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", which you're welcome to change) 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.

 

  1. Shut down the servlet container running Roller.  Modify your roller-custom.properties file (in Tomcat, normally located in $CATALINA_HOME/lib), adding this entry:

    users.sso.enabled=true
    

Install LDAP and Test

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