{"id":1148,"date":"2015-08-24T17:29:58","date_gmt":"2015-08-24T16:29:58","guid":{"rendered":"http:\/\/diablo.craem.net\/?p=1148"},"modified":"2015-08-24T17:29:58","modified_gmt":"2015-08-24T16:29:58","slug":"anadir-schema-zarafa-a-openldap","status":"publish","type":"post","link":"https:\/\/diablo.craem.net\/?p=1148","title":{"rendered":"A\u00f1adir schema zarafa a openLdap"},"content":{"rendered":"<p>Otra entrada que es un apunte.<br \/>\nRecientemente he tenido que volver a instalar otro zarafa y necesitaba a\u00f1adir el esquema en el openLdap.<br \/>\nTras intentar importar el schema con zcat:<br \/>\n<code><br \/>\nzcat \/usr\/share\/doc\/zarafa\/zarafa.ldif.gz | ldapadd -H ldapi:\/\/\/ -Y EXTERNAL<br \/>\n<\/code><br \/>\nY ver los m\u00faltiples errores con las comillas, atributos y dem\u00e1s gaitas, <em>googleando<\/em> he visto este post:<br \/>\n<code><br \/>\nhttps:\/\/www.linuxquestions.org\/questions\/linux-server-73\/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452\/<br \/>\n<\/code><br \/>\nResumiendo&#8230;&#8230;. para poder importar el schema de manera correcta, los pasos:<br \/>\n1\u00ba) Generamos el fichero <em>schema_convert.conf<\/em> con el siguiente contenido:<br \/>\n<code><br \/>\ninclude \/etc\/ldap\/schema\/core.schema<br \/>\ninclude \/etc\/ldap\/schema\/collective.schema<br \/>\ninclude \/etc\/ldap\/schema\/corba.schema<br \/>\ninclude \/etc\/ldap\/schema\/cosine.schema<br \/>\ninclude \/etc\/ldap\/schema\/duaconf.schema<br \/>\ninclude \/etc\/ldap\/schema\/dyngroup.schema<br \/>\ninclude \/etc\/ldap\/schema\/inetorgperson.schema<br \/>\ninclude \/etc\/ldap\/schema\/java.schema<br \/>\ninclude \/etc\/ldap\/schema\/misc.schema<br \/>\ninclude \/etc\/ldap\/schema\/nis.schema<br \/>\ninclude \/etc\/ldap\/schema\/openldap.schema<br \/>\ninclude \/etc\/ldap\/schema\/pmi.schema<br \/>\ninclude \/etc\/ldap\/schema\/ppolicy.schema<br \/>\ninclude \/etc\/ldap\/schema\/zarafa.schema<br \/>\n<\/code><br \/>\n2\u00ba) Creamos el directorio temporal<br \/>\n<code><br \/>\n# mkdir \/tmp\/ldif_output<br \/>\n<\/code><br \/>\n3\u00ba) Generamos los ldif<br \/>\n<code><br \/>\n# slaptest -f schema_convert.conf -F \/tmp\/ldif_output<br \/>\n<\/code><br \/>\n4\u00ba) Nos vamos al directorio donde hemos generado los ficheros<br \/>\n<code><br \/>\ncd tmp\/ldif_output\/cn=config\/cn=schema<br \/>\n<\/code><br \/>\nY creamos el fichero <em>fixit.sed<\/em> con el siguiente contenido:<br \/>\n<code><br \/>\ns~dn: cn=\\{([0-9]+)\\}(.*)$~dn: cn=\\2,cn=schema,cn=config~g<br \/>\ns~cn: \\{([0-9]+)\\}(.*)$~cn: \\2~g<br \/>\ns~^(structuralObjectClass|entryUUID|creatorsName|createTimestamp|entryCSN|modifiersName|modifyTimestamp):.*$~~g<br \/>\n<\/code><br \/>\n5\u00ba) Una vez creado el fichero, creamos el directorio <em>fixed<\/em> y ejecutamos el siguiente script:<br \/>\n<code><br \/>\nfor f in *ldif; do sed -rf fixit.sed \"$f\" &gt; fixed\/$f; done<br \/>\n<\/code><br \/>\nLlegados aqu\u00ed, en el directorio <em>fixed<\/em>, tendremos los directorios:<br \/>\n<code><br \/>\nroot@radius:\/tmp\/ldif_output\/cn=config\/cn=schema\/fixed# ls -l<br \/>\ntotal 96<br \/>\n-rw-r--r-- 1 root root 15267 Aug 24 10:39 cn={0}core.ldif<br \/>\n-rw-r--r-- 1 root root  1091 Aug 24 10:39 cn={10}openldap.ldif<br \/>\n-rw-r--r-- 1 root root  6212 Aug 24 10:39 cn={11}pmi.ldif<br \/>\n-rw-r--r-- 1 root root  3073 Aug 24 10:39 cn={12}ppolicy.ldif<br \/>\n-rw-r--r-- 1 root root 11121 Aug 24 10:39 cn={13}zarafa.ldif<br \/>\n-rw-r--r-- 1 root root  1289 Aug 24 10:39 cn={1}collective.ldif<br \/>\n-rw-r--r-- 1 root root  1051 Aug 24 10:39 cn={2}corba.ldif<br \/>\n-rw-r--r-- 1 root root 11129 Aug 24 10:39 cn={3}cosine.ldif<br \/>\n-rw-r--r-- 1 root root  4253 Aug 24 10:39 cn={4}duaconf.ldif<br \/>\n-rw-r--r-- 1 root root  1461 Aug 24 10:39 cn={5}dyngroup.ldif<br \/>\n-rw-r--r-- 1 root root  2623 Aug 24 10:39 cn={6}inetorgperson.ldif<br \/>\n-rw-r--r-- 1 root root  2357 Aug 24 10:39 cn={7}java.ldif<br \/>\n-rw-r--r-- 1 root root  1280 Aug 24 10:39 cn={8}misc.ldif<br \/>\n-rw-r--r-- 1 root root  6259 Aug 24 10:39 cn={9}nis.ldif<br \/>\n<\/code><br \/>\n6\u00ba) Importamos el ldif de zarafa:<br \/>\n<code><br \/>\n# ldapadd -Y EXTERNAL -H ldapi:\/\/\/ -f cn\\=\\{13\\}zarafa.ldif<br \/>\n<\/code><br \/>\nEsto se puede aplicar, como me ha pasado a mi, con el schema de freeradius o otros schemas.<br \/>\nenjoy \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Otra entrada que es un apunte. Recientemente he tenido que volver a instalar otro zarafa y necesitaba a\u00f1adir el esquema en el openLdap. Tras intentar importar el schema con zcat: zcat \/usr\/share\/doc\/zarafa\/zarafa.ldif.gz | ldapadd -H ldapi:\/\/\/ -Y EXTERNAL Y ver los m\u00faltiples errores con las comillas, atributos y dem\u00e1s gaitas, googleando he visto este post: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[80,134,201],"class_list":["post-1148","post","type-post","status-publish","format-standard","hentry","category-linux","tag-freeradius","tag-openldap","tag-zarafa"],"_links":{"self":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/1148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1148"}],"version-history":[{"count":0,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/1148\/revisions"}],"wp:attachment":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}