Install-gosa és un paquet Debian que facilita l'automatització de la instal·lació de l'aplicació Gosa i les seves dependències. Entre d'altres a més de Gosa (versió 2.7) s'instal·la:
Arbre Ldap, configuracions extres:
Afegir accés a cn=config:
Accés a cn=config noves versions Ubuntu
Indexs. Cal afegir els índex de DNS i DHCP. Consulteu DNS i Ldap i DHCP i Ldap
No es posa correctament:
passwordDefaultHash
Consulteu:
Highschoolusers#TODO
Al esborrar ldap amb l'ordre install-gosa -r ldap, també s'esborra el propi paquet install-gosa (és dependència)!! Avisar-ho?
No executar update-gosa directament en fitxers postinst ni cap altre similar! Només si existeix gosa! Cal tenir en compte que gosa no es marca com a dependència!Afegir ldap-utils (aplicacions client ldap) com a dependència. S'utilitza ldapmodify al postinst!
session_timeout --> Canviem el valor a Gosa però continuem tenint el limit per defecte de PHP/Apache? Modificar-lo també o documentar-ho. L'idioma no està en castellà tot i haver-lo indicat? No es problema de l'aplicació? Mirar troubleshooting Gosa Gosa#Idiomes._No_funciona_l.27espanyol_o_altres_idiomes Afegir a postinst: $ sudo locale-gen es_ES.UTF-8 i restart d'Apache
Configurador debconf.
Si us plau, escolliu el nom curt de la institució. │ │ │ │ NO utilitzeu espais ni caràcters estranys! │ │ │ │ │ │ Aquest nom s'utilitzarà en tots els paquets del projecte OpenFPnet com a nom curt de la Institució │ │ │ │ Nom curt de la Institució (p. ex. insebre): │
Surt OpenFPnet... NO caldria no!?
El paquet està pensat per tal de ser utilitzat en un sistema operatiu Ubuntu. Per facilitar la instal·lació del servidor Ldap es requereix tenir una versió de Ubuntu 11.10 o superior.
La versió de Gosa que s'instal·la és la 2.7, aleshores s'apliquen els requeriments d'aquesta aplicació. De fel l'aplicació uns mirarà d'instal·lar tots els requeriment però per tal de poder-ho fer heu de tenir una versió d'Ubuntu igual o superior a la 11.10 (p. ex. Gosa depèn de smarty 3)
Es possible que pugui funcionar en altres distribucions com Debian però no s'ha comprovat.
La llista de requeriments és doncs:
Les dependències de paquets les podríeu instal·lar amb:
$ sudo apt-get install wget debconf-utils tasksel subversion make uuid-runtime lsb-release
Executeu:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.10 Release: 10.10 Codename: maverick
Heu de tenir una versió 11.10 o superior d'Ubuntu (aquestes versions tenen un instal·lador del servidor Ldap simplificat). El exemple anterior no seria una màquina vàlida.
Per instal·lar aquest paquet cal afegir el següent repositori al fitxer /etc/apt/sources.list:
$ sudo joe /etc/apt/sources.list ... deb http://www.iesebre.com/ubuntu/custompackages ./
Per evitar els avisos de que el repositori no està autenticat executeu:
$ wget -q http://www.iesebre.com/ubuntu/custompackages/iesebre.asc -O- | sudo apt-key add -
Un cop afegit executeu:
$ sudo apt-get update && sudo apt-get install install-gosa
TODO: captures de pantalla de les preguntes de Debconf durant la instal·lació
I ara només cal executar:
$ sudo install-gosa -v
Vegeu també l'apartat Configuració del paquet per tal de tenir més informació sobre la configuració del paquet.
El paquet es configura automàticament durant la instal·lació. Us farà les següents preguntes:
TODO: Captures de pantalla i explicacions
NOTA: Les preguntes estan internacionalitzades i segons l'idioma del vostre sistema poden ser diferents.
És important que tingueu en compte que durant la instal·lació moltes preguntes no es faran (tenen una prioritat medium). Són preguntes que per defecte el més habitual o còmode pot ser deixar-les amb els valors per defecte.
Per tal de configurar totes les preguntes:
$ sudo dpkg-reconfigure install-gosa
Podeu consultar les captures de pantalla de totes les opcions de configuració i una explicació en detall a:
TODO Install-gosa/dpkg-reconfigureScreenShoots
IMPORTANT: Els valors per defecte solen ser els correctes per a la gran majoria d'instal·lacions
Tant la instal·lació com la configuració modifiquen el fitxer /etc/gosa/gosa.conf si ja existeix al sistema. S'utilitza l'script PHP:
/usr/share/php/install-gosa/modifyGosaparameters.php
Per fer les modificacions dels paràmetres del fitxer XML de configuració. També s'executa update-gosa.
Cal però tenir en compte que la configuració només modifica els fitxers de configuració de Gosa i del propi paquet install-gosa. Si el que voleu es modificar també el servidor Ldap cal que el torneu a instal·lar:
$ sudo /usr/sbin/install-gosa -r ldap -v $ sudo /usr/sbin/install-gosa -s onlyldap -v
I això tornarà a instal·lar el servidor Ldap amb els nous paràmetres de configuració.
Si ja teniu gosa instal·lat, podeu instal·lar install-gosa i reconfigurar gosa.
TODO
$ dpkg -L install-gosa TODO
L'ordre install-gosa s'encarrega d'automatitzar l'instal·lació de Gosa.
Per a més informació consulteu el manual:
$ man install-gosa
Instal·leu el paquet install-gosa seguint les passes de l'apartat install-gosa.
Contesteu a les preguntes de l'instal·lador.
Assegureu-vos de no tenir res instal·lat (si voleu començar des de zero):
$ sudo install-gosa -r all -v
I ara instal·leu gosa amb:
$ sudo install-gosa -v
Es pot fer perfectament, només us caldrà saber les dades del servidor Ldap:
NOTA: Tingueu en compte que l'instal·lador suposarà que el servidor Ldap existeix però que no hi ha cap objecte dels necessàris per a fer funcionar Gosa. TAmpoc se us instal·laran els esquemes necessaris, es donarà per suposat que ja els teniu
Aleshores els passos a seguir són:
Configurar l'aplicació:
$ sudo [dpkg-reconfigure]] install-gosa
I posar les dades del servidor Ldap que corresponguin.
Instal·lar install-gosa sense instal·lar Ldap:
$ sudo install-gosa -s ldap -v
El servidor Ldap s'instal·la automàticament gràcies a que es preconfigura el paquet slapd utilitzant debconf-set-selections.
#PRECONFIGURIONG SLAPD PACKAGE [ ! -z "$VERBOSE" ] && echo "Preconfiguring slapd with debconf-set-selections..." /usr/bin/debconf-set-selections <<EOT slapd slapd/internal/generated_adminpw password $ROOTDN_PASSWORD slapd slapd/password2 password $ROOTDN_PASSWORD slapd slapd/internal/adminpw password $ROOTDN_PASSWORD slapd slapd/password1 password $ROOTDN_PASSWORD slapd slapd/allow_ldap_v2 boolean $ALLOW_LDAP_V2 slapd slapd/password_mismatch note slapd slapd/invalid_config boolean true slapd shared/organization string $INSTITUTION_NAME #slapd slapd/upgrade_slapcat_failure error slapd slapd/no_configuration boolean false slapd slapd/move_old_database boolean $LDAP_MOVE slapd slapd/dump_database_destdir string /var/backups/slapd-VERSION # Do you want the database to be removed when slapd is purged? slapd slapd/purge_database boolean $LDAP_PURGE slapd slapd/domain string $DOMAIN slapd slapd/backend select $LDAP_BACKEND slapd slapd/dump_database select when needed EOT
Els paràmetres són:
Tots aquests paràmetres es poden modificar amb:
$ sudo dpkg-reconfigure install-gosa
O modificant el fitxer:
/etc/install-gosa/install-gosa.conf
IMPORTANT: Observeu que els valors per defecte fan que s'esborri la base de dades Ldap existent i no es faci cap còpia! Per aquest raó si l'ordre install-gosa detecta un servidor Ldap instal·lat us el farà desinstal·lar explícitament abans de continuar
Per desinstal.lar una base de dades existent (atenció que ho esborra tot: paquets, configuracions i bases de dades):
$ sudo install-gosa -r ldap -v
L'ordre /usr/sbin/change-admin-gosa-password és un script de bash que permet modificar la paraula de pas de l'usuari admin de Gosa per tal que tingui la mateixa paraula de pas que l'usuari admin del servidor Ldap.
$ sudo install-gosa -r all -v
Executeu:
$ sudo install-gosa -r ldap -v
IMPORTANT: Això esborra tant el paquet (amb l'opció purge) com la base de dades Ldap! Feu una còpia de seguretat de la base de dades si la voleu conservar!
$ sudo install-gosa -r gosa -v
Podeu utilitzar l'opció -s (skipping). Les opcions possibles són:
-s ldap|gosa|gosaldap|ldapgosa|gosaschemas|gosaconf|gosaldaptree|highschoolusers|all
$ sudo install-gosa -s onlyldap -v
$ sudo install-gosa -s onlygosa -v
Això només té sentit si ja teniu instal·lat Ldap i Gosa.
$ sudo install-gosa -s ldapgosa -v
Aquesta opció és útil quan s'està depurant la creació de l'arbre Ldap. Executeu:
$ sudo install-gosa -r ldap -v ; sudo install-gosa -s gosa -v
$ sudo install-gosa -c -v
Aquest és el fitxer principal de configuració i sobreescriu les variables hardcoded d'execució de l'script install-gosa.
Vegem un exemple:
$ sudo cat /etc/install-gosa/install-gosa.conf] #!/bin/bash # This file has been generated by debconf # TODO ROOTDN_PASSWORD="PARAULADEPAS" INSTITUTION_NAME="Institut de l'Ebre" INSTITUTION_DOMAIN="iesebre.com" ALLOW_LDAP_V2="false" LDAP_BACKEND="HDB" LDAP_PURGE="true" LDAP_MOVE="false"
Es pot indicar un altre fitxer de configuració amb l'opció -C:
$ sudo install-gosa -C /etc/openfpnet/install-gosa.conf
Aquest fitxer també pot contenir la paraula de pas de l'usuari rootdn. Un exemple:
$ cat /etc/install-gosa/passwords | grep "ROOTDN_PASSWORD" ROOTDN_PASSWORD="PARAULA_DE PAS"
Aquest fitxer no us l'instal·larà l'aplicació/paquet install-gosa, l'haureu de crear vosaltres si voleu que l'aplicació install-gosa s'executi en mode no interactiu i no us pregunti aquesta paraula de pas. És recomanable que els permisos del fitxer siguin 600 i sigui un fitxer de l'usuari root:
$ sudo chmod 600 /etc/install-gosa/install-gosa.conf $ sudo chown root:root /etc/install-gosa/install-gosa.conf
Aquest paquet realitzar les següents tasques per fases:
Tot seguit veiem els detalls de cada fase.
NOTA: Algunes fases es poden saltar amb l'opció -s (skip). Les fases que es poden saltar tenen un nom curt que s'indica entre parèntesis al costat del nom de la fase
Fase 0. Paràmetres de configuració
Amb el mode verbose s'imprimirà a l'inici una llista dels paràmetres que s'estan utilitzant. Aquest mode pot ser interessant per depurar errors.
Fase 1. Comprovació i instal·lació si s'escau de dependències
Fase 1.X FASES OPCIONALS. Subopcions/branques secundaries e l'aplicació
Algunes branques secundaries de l'aplicació només s'executen al principi si s'han escollit les opcions pertinents:
Vegeu també el manual:
$ man install-gosa
Fase 2. Branca principal de l'aplicació
La branca principal de l'aplicació té les següents fases generals:
IMPORTANT: És important destacar que es pot saltar alguna de les fases utilitzant l'opció -s (skip). Vegeu l'apartat TODO
Els següents apartats indiquen els detalls de cada subfase:
Fase 2.1. Instal·lació del servidor Ldap (ldap)
Aquesta fase realitza les següents accions:
$ sudo dpkg-reconfigure install-gosa
Fase 2.2. Instal·lació de l'aplicació web Gosa (gosa):
IMPORTANT: Alguns plugins es troben desactivats al fitxer gosa.conf instal·lat per install-gosa tot i que els plugins estan instal·lats al sistema. Aquest no és el comportament per defecte de gosa, però s'ha fet així per que alguns dels schemas Ldap necessaris no s'han pogut trobar enlloc i si no estan instal·lats aleshores dona l'error Gosa#Errors_d.27esquemes_OXUserObject.2C_scalixUserClass.2C_apple-user_al_entrar_al_sistema.3D.3D al entrar a Gosa.
NOTA: S'instal·len tots els esquemes necessaris per a Gosa i els seus plugins fins i tot si utilitzeu l'opció -s gosaplugins per saltar-vos la instal·lació dels plugins
Finalment aquesta fase també instal·la un fitxer /etc/gosa/gosa.conf a partir d'una plantilla. La plantilla s'omple amb els valors de configuració del fitxer /etc/install-gosa/install-gosa.conf. El fitxer s'instal·la amb l'usuari i grup root:www-data i els permisos 640. Per aplicar els canvis a gosa s'executa update-gosa.
Fase 2.3 Instal·lació de l'arbre Ldap bàsic per a l'aplicació Gosa (usuari admin i acl amb tots els permisos per aquest usuari)
Per tal de poder entrar al Gosa com a usuari administrador cal executar aquesta fase.
NOTA: Aquesta fase s'executa durant una instal·lació manual de gosa en el moment que s'executa l'instal·lador web de gosa
Abans d'aquesta fase l'arbre Ldap està buit i només conté l'objecte basedn. Install-gosa fa dos canvis a l'arbre Ldap:
IMPORTANT: L'usuari admin de Gosa no és el mateix que el de Ldap, tot i que si pot ser que utilitzeu la mateixa paraula de pas, de fet és el que fa install-gosa. L'usuari admin sempre es troba al Distinguished Name:
cn=System Administrator-admin,ou=people,INSTITUTION_BASE_DN
Un cop instal·lat el paquet:
$ sudo apt-get install install-gosa
I configurat amb:
$ sudo dpkg-reconfigure install-gosa
Podeu consultar la base de dades de debconf amb:
$ sudo debconf-get-selections | grep install-gosa install-gosa install-gosa/password2 password install-gosa install-gosa/password1 password install-gosa install-gosa/gosa_group_rdn string ou=groups install-gosa install-gosa/gosa_session_timeout string 7200 install-gosa install-gosa/password_mismatch note install-gosa install-gosa/gosa_force_ssl boolean false install-gosa install-gosa/gosa_conf_uid_number_base string 2000 install-gosa install-gosa/gosa_password_hash select md5 install-gosa install-gosa/gosa_samba_rdn string ou=Computers install-gosa install-gosa/gosa_ldap_sizelimit string 3000 install-gosa install-gosa/purge_database boolean true install-gosa install-gosa/institution_name string NO FULL NAME install-gosa install-gosa/institution_domain string NODOMAIN.COM install-gosa install-gosa/gosa_copypaste boolean true install-gosa install-gosa/gosa_logging boolean true install-gosa install-gosa/backend select HDB # Warning - install-gosa is not configured install-gosa install-gosa/notconfigured note install-gosa install-gosa/gosa_locale string es_ES.UTF-8 install-gosa install-gosa/move_old_database boolean false install-gosa install-gosa/gosa_conf_gid_number_base string 2000 # Welcome to install-gosa package configuration install-gosa install-gosa/welcome note install-gosa install-gosa/gosa_user_rdn string ou=people install-gosa install-gosa/gosa_timezone string Europe/Madrid install-gosa install-gosa/gosa_warn_ssl boolean true install-gosa install-gosa/gosa_usersplugin_atend boolean false install-gosa install-gosa/allow_ldap_v2 boolean false
Podeu guardar la configuració a un fitxer amb:
$ sudo debconf-get-selections | grep install-gosa > install-gosa.seed
I aleshores podeu fer una instal·lació sense preguntes amb:
$ sudo debconf-set-selections < install-gosa.seed $ sudo apt-get install install-gosa
Vegeu també openfpnet-install-gosa.
El codi font de install-gosa es troba al subversion:
http://tortosa.guifi.net/svn/projectes/install-gosa/
També es pot trobar còpies que poden ser obsoletes a:
http://www.iesebre.com/subversion/projectes/install-gosa
Podeu utilitzar Eclipse conjuntament amb el plugin Subclipse per tal d'obtenir el codi o directament per línia de comandes utilitzant subversion. Per exemple:
$ svn co http://www.iesebre.com/subversion/projectes/install-gosa
L'últim cas és accés anònim (només lectura). Per tenir accés d'escriptura cal tenir un usuari del repositori (demanar-lo a stur ARROBA iesebre PUNT com):
$ svn co http://[email protected]/subversion/projectes/install-gosa
Un cop obtingueu el codi tindreu una carpeta similar a:
/install-gosa/trunk$ ls debian etc makeall.sh Makefile usr var
IMPORTANT: El Makefile té dades que s'han d'adaptar a cada desenvolupador! Cada usuari pot sobrescriure aquestes dades sense modificar el Makefile original creant el fitxer ~/.installgosa_Makefile
Algunes de les dades a modificar són:
#DEVELOPER ENVIRONMENT VARIABLES: DEBIAN_PACKAGE_CREATOR_FULLNAME=Sergi Tur Badenas [email protected] DEBIAN_PACKAGE_LICENSE=gpl2 ... #PUBLISH OPTIONS SSH_USER=root SSH_PORT=22 SSH_HOST=192.168.0.9 SSH_REMOTE_PATH=/mnt/sdb1/UbuntuMirror/custompackages REMOTE_UPDATE_SCRIPT=update.sh
Podeu fer els canvis que creieu convenients al codi i els pugueu amb un commit de subversion.
Per modificar el paquet Debian cal fer més passos:
Primer cal tenir instal·lat:
$ sudo apt-get install svn-buildpackage
Després cal tenir accés al repositori on es guarden els paquets i configurar les PUBLISH OPTIONS en conseqüència:
#PUBLISH OPTIONS SSH_USER=root SSH_PORT=22 SSH_HOST=192.168.0.9 SSH_REMOTE_PATH=/mnt/sdb1/UbuntuMirror/custompackages REMOTE_UPDATE_SCRIPT=update.sh
També cal tenir una clau GPG per firmar els paquets. La clau ha de coincidir amb les dades del desenvolupador:
#DEVELOPER ENVIRONMENT VARIABLES: DEBIAN_PACKAGE_CREATOR_FULLNAME=Sergi Tur Badenas [email protected] DEBIAN_PACKAGE_LICENSE=gpl2
Per mostra les claus d'un usuari:
$ gpg --list-keys sergi
Les claus es guarden a .gnupg i per tant podeu migrar les claus d'una màquina a una altra migrant aquesta carpeta.
Recursos:
Està disponible al subversion:
http://www.iesebre.com/subversion/projectes/install-gosa/
Aquest missatge tant pot sortir durant la instal·lació com durant la reconfiguració del paquet:
Warning. Aborted Gosa configuration because not /etc/gosa/gosa.conf found! Maybe gosa is not installed...
Pot no ser un error si encara no teniu un Gosa instal·lat al sistema. La idea és que el paquet install-gosa també pot servir per a reconfigurar un gosa que ja es trobi instal·lat. Al reconfigurar el paquet es mira de reconfigurar Gosa però només si existeix el fitxer /etc/gosa/gosa.conf sinó tant la instal.lació com la configuració continuant sense més problemes (només donen aquest warning a mode d'avís).
Consulteu:
Reconfigurar un gosa ja instal·lat utilitzant install-gosa