LDAP/ca: Diferència entre les revisions
De Guifi.net - Wiki Català
(→LDAP al Drupal) |
|||
| Línia 5: | Línia 5: | ||
<ol> | <ol> | ||
<li>Instal.lacio slapd i configuració inicial. Dos usuaris de ldap un per a consultes i un d'altre administrador.</li> | <li>Instal.lacio slapd i configuració inicial. Dos usuaris de ldap un per a consultes i un d'altre administrador.</li> | ||
| + | Mol bàsicament: | ||
| + | apt-get install slapd ldap-utils | ||
| − | + | He usat estes configs, una per al domini, l'altra per fer les càrregues i assegurar-nos que la bdd generada és vàlida abans de posar-la en producció. | |
| − | + | /etc/ldap/slapd.conf: | |
| − | + | <pre> | |
| − | + | include /etc/ldap/schema/core.schema | |
| − | + | include /etc/ldap/schema/cosine.schema | |
| − | < | + | include /etc/ldap/schema/nis.schema |
| − | + | include /etc/ldap/schema/inetorgperson.schema | |
| − | + | pidfile /var/run/slapd/slapd.pid | |
| + | argsfile /var/run/slapd/slapd.args | ||
| + | |||
| + | loglevel none | ||
| + | |||
| + | modulepath /usr/lib/ldap | ||
| + | moduleload back_hdb | ||
| + | |||
| + | sizelimit 500 | ||
| + | |||
| + | tool-threads 1 | ||
| + | |||
| + | backend hdb | ||
| + | database hdb | ||
| + | |||
| + | suffix "dc=guifi,dc=net" | ||
| + | rootdn "cn=admin,dc=guifi,dc=net" | ||
| + | rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3" | ||
| + | |||
| + | directory "/var/lib/ldap" | ||
| + | |||
| + | dbconfig set_cachesize 0 2097152 0 | ||
| + | dbconfig set_lk_max_objects 1500 | ||
| + | dbconfig set_lk_max_locks 1500 | ||
| + | dbconfig set_lk_max_lockers 1500 | ||
| + | |||
| + | index objectClass eq | ||
| + | |||
| + | lastmod on | ||
| + | |||
| + | checkpoint 512 30 | ||
| + | |||
| + | |||
| + | access to dn.base="" by * read | ||
| + | |||
| + | access to * | ||
| + | by dn="cn=rotobator,dc=guifi,dc=net" write | ||
| + | by anonymous auth | ||
| + | by * none | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | /etc/ldap/slapd_bulk_load.conf (bàsicament el mateix excepte <code>directory</code>: | ||
| + | <pre> | ||
| + | include /etc/ldap/schema/core.schema | ||
| + | include /etc/ldap/schema/cosine.schema | ||
| + | include /etc/ldap/schema/nis.schema | ||
| + | include /etc/ldap/schema/inetorgperson.schema | ||
| + | |||
| + | pidfile /var/run/slapd/slapd.pid | ||
| + | |||
| + | argsfile /var/run/slapd/slapd.args | ||
| + | |||
| + | loglevel none | ||
| + | |||
| + | modulepath /usr/lib/ldap | ||
| + | moduleload back_hdb | ||
| + | |||
| + | sizelimit 500 | ||
| + | |||
| + | tool-threads 1 | ||
| + | |||
| + | backend hdb | ||
| + | database hdb | ||
| + | |||
| + | suffix "dc=guifi,dc=net" | ||
| + | rootdn "cn=admin,dc=guifi,dc=net" | ||
| + | rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3" | ||
| + | |||
| + | directory "/var/lib/ldap/bulk_load" | ||
| + | |||
| + | dbconfig set_cachesize 0 2097152 0 | ||
| + | |||
| + | dbconfig set_lk_max_objects 1500 | ||
| + | dbconfig set_lk_max_locks 1500 | ||
| + | dbconfig set_lk_max_lockers 1500 | ||
| + | |||
| + | index objectClass eq | ||
| + | |||
| + | lastmod on | ||
| + | checkpoint 512 30 | ||
| + | |||
| + | |||
| + | access to dn.base="" by * read | ||
| + | |||
| + | access to * | ||
| + | by dn="cn=admin,dc=guifi,dc=net" write | ||
| + | by anonymous auth | ||
| + | by * none | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | La <i>rootpw</i> es genera així: | ||
| + | slappasswd -h {MD5} | ||
| + | |||
| + | <li>Per les càrregues, he deixat uns [http://assix.org/wiki/images/3/3f/Carrega_ldap.tar.gz scripts de carrega] per donar l'espenta inicial. Encara queda molt per fer: | ||
| + | <ul> | ||
| + | <li>comprovació de la coherencia de la bdd generada. | ||
| + | <li>carrega des de /var/lib/ldap/bulk_load al slapd en produccio. | ||
| + | <li>mes comprovacions | ||
| + | <li>no es pot fer un bind per usuari tal cual estan les contrasenyes amb md5 des de drupal, investigar mes. | ||
| + | <li>usar repositoris per al desenvolupament | ||
| + | <li>documentació | ||
| + | </ul> | ||
| + | </li> | ||
| + | <li> Per usar-los s'ha de configurar les credencials del mysql a <i>export_drupal_users.sh</i> i llançar <i>./ldiff_to_hdb.sh</i>. Això deixa una bdd que ja pot ser usada per un ldap en producció copiant-les des de <i>/var/lib/ldap/bulk_load/*</i> cap a <i>/var/lib/ldap</i> i reiniciant slapd.</li> | ||
| + | <li>Exemple de recerca: | ||
| + | <pre> | ||
| + | ldapsearch -x -W -D "cn=admin,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)" | ||
| + | </pre> | ||
| + | </li> | ||
<li>Creació de certificats per al directori. Configuració d'ldap i drupal. Tenim alguna entitat de certificacio??</li> | <li>Creació de certificats per al directori. Configuració d'ldap i drupal. Tenim alguna entitat de certificacio??</li> | ||
</ol> | </ol> | ||
Revisió de 22:20, 25 març 2011
Aquest article està en desenvolupament. Pràcticament totes les pàgines del Wiki de Guifi.net són editables, però en aquesta falta informació essencial. Ampliant-ho ajudaràs a millorar Guifi.net.
Potser puguis ajudar-te amb els wikis castellà i anglès si tenen una pàgina equivalent.
LDAP al Drupal
Les intencions: disposar d'una infraestructura que permeta autenticar una base única d'usuaris (drupal, wiki, trac...). Es tria LDAP per ser el backend més comú en el sentit que moltes eines (web i no web com ara radius) disposen de complements per autenticar/autoritzar els usuaris.
- Instal.lacio slapd i configuració inicial. Dos usuaris de ldap un per a consultes i un d'altre administrador.
- Per les càrregues, he deixat uns scripts de carrega per donar l'espenta inicial. Encara queda molt per fer:
- comprovació de la coherencia de la bdd generada.
- carrega des de /var/lib/ldap/bulk_load al slapd en produccio.
- mes comprovacions
- no es pot fer un bind per usuari tal cual estan les contrasenyes amb md5 des de drupal, investigar mes.
- usar repositoris per al desenvolupament
- documentació
- Per usar-los s'ha de configurar les credencials del mysql a export_drupal_users.sh i llançar ./ldiff_to_hdb.sh. Això deixa una bdd que ja pot ser usada per un ldap en producció copiant-les des de /var/lib/ldap/bulk_load/* cap a /var/lib/ldap i reiniciant slapd.
- Exemple de recerca:
ldapsearch -x -W -D "cn=admin,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"
- Creació de certificats per al directori. Configuració d'ldap i drupal. Tenim alguna entitat de certificacio??
Mol bàsicament:
apt-get install slapd ldap-utils
He usat estes configs, una per al domini, l'altra per fer les càrregues i assegurar-nos que la bdd generada és vàlida abans de posar-la en producció.
/etc/ldap/slapd.conf:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=guifi,dc=net"
rootdn "cn=admin,dc=guifi,dc=net"
rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3"
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
checkpoint 512 30
access to dn.base="" by * read
access to *
by dn="cn=rotobator,dc=guifi,dc=net" write
by anonymous auth
by * none
/etc/ldap/slapd_bulk_load.conf (bàsicament el mateix excepte directory:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=guifi,dc=net"
rootdn "cn=admin,dc=guifi,dc=net"
rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3"
directory "/var/lib/ldap/bulk_load"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
checkpoint 512 30
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=guifi,dc=net" write
by anonymous auth
by * none
La rootpw es genera així:
slappasswd -h {MD5}
LDAP al Mediawiki
Es passen les dades per omplir aquesta configuració. Simplement nom de domini i LDAPBaseDN. Per a $wgLDAPEncryptionType pot ser "clear" o "ssl".
## LDAP_Authentication
## http://www.mediawiki.org/wiki/Extension:LDAP_Authentication
## svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/LdapAuthentication/
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
//Nombres de los dominios que utilizarás.
$wgLDAPDomainNames = array("LDAP");
//Asociación entre nombre de dominio y nombre DNS de la máquina donde se va a validar.
$wgLDAPServerNames = array("LDAP"=>"domini.net");
//Podemos permitir la convivencia de autenticación local del wiki con LDAP.
$wgLDAPUseLocal = true;
//Encriptación en las solicitudes LDAP.
$wgLDAPEncryptionType = array("LDAP"=>"ssl");
//Le decimos cual es la base de la consulta
$wgLDAPBaseDNs = array("LDAP"=>"dc=domini,dc=net");
$wgLDAPSearchAttributes = array("LDAP"=>"uid");
//Utilizamos los grupos LDAP para las directivas de grupo:
$wgLDAPGroupsPrevail = array("LDAP"=>true);
$wgLDAPGroupNameAttribute = array("LDAP"=>"cn");
Proves de balanceig/distribució
Ben mirat potser més el segon que no pas el primer per tal d'implementar-ho en un futur pròxim/necessari
- segona instancia d'ldap, pot ser remota o a la mateixa maquina virtual amb diferents ports.
- haproxy i configuració.
- configuració ldap-drupal per que apunte a haproxy.
- proves de replicació.
- Qué passa si una instancia te problemes?
- s'acumulen transaccions no realitzades?
- avaluar despres de les proves si ens interessa replicació en línia o simplement es sincronitzen les bdd del directori ppal cap a les instancies secundaries.