| |
| How to enable the SpamAssassin LDAP self-test |
| --------------------------------------------- |
| |
| - install openldap server, using apt-get etc. On Debian (unstable), |
| that's done as follows: |
| |
| sudo apt-get install slapd ldap-utils |
| |
| Then enter an admin password. |
| |
| |
| - Patch the 'inetorgperson.schema' file, found in the following locations: |
| |
| Fedora Core 1: /etc/openldap/schema/inetorgperson.schema |
| Debian: /etc/ldap/schema/inetorgperson.schema |
| |
| as follows: |
| |
| --- /etc/openldap/schema/inetorgperson.schema.default 2003-10-23 07:26:01.000000000 -0700 |
| +++ /etc/openldap/schema/inetorgperson.schema 2004-02-05 22:07:01.000000000 -0800 |
| @@ -121,6 +121,13 @@ |
| DESC 'RFC2798: personal identity information, a PKCS #12 PFX' |
| SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 ) |
| |
| +# spamassassin |
| +# see http://SpamAssassin.org/ . |
| +attributetype ( 2.16.840.1.113730.3.1.220 |
| + NAME 'spamassassin' |
| + DESC 'SpamAssassin user preferences settings' |
| + EQUALITY caseExactMatch |
| + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) |
| |
| # inetOrgPerson |
| # The inetOrgPerson represents people who are associated with an |
| @@ -138,5 +145,5 @@ |
| labeledURI $ mail $ manager $ mobile $ o $ pager $ |
| photo $ roomNumber $ secretary $ uid $ userCertificate $ |
| x500uniqueIdentifier $ preferredLanguage $ |
| - userSMIMECertificate $ userPKCS12 ) |
| + userSMIMECertificate $ userPKCS12 $ spamassassin ) |
| ) |
| |
| |
| - set up according to |
| http://yolinux.com/TUTORIALS/LinuxTutorialLDAP.html#TUTORIAL . To go into |
| some detail, here's what you need to do... |
| |
| |
| - Edit the slapd.conf file, and add the "o=stooges" suffix, so that the LDIF |
| file we'll be using will be valid. |
| |
| On Debian, this means changing the existing /etc/ldap/slapd.conf file |
| according to these substitutions: |
| |
| s/"dc=jmason,dc=org"/"o=stooges"/g |
| s/"cn=admin,dc=jmason,dc=org"/"cn=StoogeAdmin,o=stooges"/g |
| |
| Also, add these two lines to set the "root" password so the LDIF file |
| can be loaded (ONLY FOR TESTING! DO NOT DO THIS ON A LIVE SERVER!): |
| |
| rootdn "cn=StoogeAdmin,o=stooges" |
| rootpw secret1 |
| |
| On Fedora Core 1, you can use the file from |
| http://yolinux.com/TUTORIALS/OpenLDAP2.0-stooges-slapd.conf-sample.txt |
| pretty much as-is. |
| |
| |
| - Next, create the storage directories: |
| |
| sudo mkdir /var/lib/ldap/stooges /var/lib/ldap/fraternity |
| sudo chown ldap.ldap /var/lib/ldap/stooges [Fedora Core only] |
| sudo chown ldap.ldap /var/lib/ldap/fraternity [Fedora Core only] |
| |
| |
| - And start the server: |
| |
| sudo /etc/rc.d/init.d/ldap start [Fedora Core only] |
| sudo /etc/init.d/slapd start [Debian only] |
| |
| |
| - Now load the LDIF data for our testing: (this LDIF file adds a "spamassassin" |
| line to the "curley" user.) |
| |
| ldapadd -f ldap/sa_test.ldif -xv -D "cn=StoogeAdmin,o=stooges" \ |
| -h 127.0.0.1 -w secret1 |
| |
| |
| - install Net::LDAP using CPAN: |
| |
| perl -MCPAN -e shell |
| install Convert::ASN1 |
| install Net::LDAP |
| quit |
| |
| |
| - create the test flag file: |
| |
| touch t/do_ldap |
| |
| |
| - now "make test" will test against the LDAP server as well. You can |
| also run "cd t; ./spamd_ldap.t" to run just that test directly. |
| |
| |