Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 527

Reordenacion puppet-comunes

Ver diferencias:

tareas_puppet/comunes/workstations/instala-firefox7/leeme.txt
Tarea: Instalacion de firefox 7 32 bits en los workstations.
Totalmente basada en la versión que hicieron Noemí y Paco, del IES Garcia Telléz, para
instalar en los clientes LTSP.
Ficheros:
instala_firefox7.pp: la tarea puppet. Ira en /etc/puppet/manifests/classes del servidor
puppet de workstations
IMPORTANTE: asume que el servidor puppet de los workstations se llama
"puppetworkstation". Si no se llama asi, hay que cambiarlo en
función de como se llame en tu IEs.
instala_firefox7.sh: el script de instalación. Irá en /etc/puppet/files del servidor puppet
de workstations. Puede usarse como script independiente para instalar a
mano el firefox7 en un workstation suelto, aunque no tengamos puppet.
local-settings.js, firefox.cfg: ficheros de configuración obligatoria de firefox. Deben ir en
/etc/puppet/files del servidor puppet de worktstations. Es la configuración
que queremos que tenga el firefox entre quien entre. En este caso he puesto
dos parámetros:
Pagina de inicio-> www.google.es
Actualizaciones firefox -> desactivadas (para evitar que se
te actualice automaticamente).
Cada cual puede poner aqui la configuración que quiera.
firefox-7.0.1.tar.bz2.32work: el fichero comprimido con el ejecutable completo. Debe ir en el
directorio /var/www/ficheros de servidor NFS de nuestro centro. No se copia
via puppet, se hace por wget.
Este fichero no va con la tarea puppet, es demasiado pesado, se puede descargar
desde:
http://172.19.231.2/ficheros/firefox-7.0.1.tar.bz2.32work
y dejarlo en el servidor NFS de cada cual.
Instalación:
Poner cada fichero en su sitio. Modificar el site.pp del servidor puppet de workstation para
hacer el include de la tarea y lanzar.
Como siempre es aconsejable probar primero en un único nodo y, si funciona correctamente, lanzarlo
para todos.
Alfonso Pastor.
IES Virgen de Guadalupe.
23/11/2011
tareas_puppet/comunes/workstations/instala-firefox7/instala-firefox7.sh
#!/bin/sh
# Noemí Bravo
# Se pueden utilizan comodines para generalizar el script.
# -----------------------------------------------------------
if [ ! -e /root/descargas ]; then mkdir -p /root/descargas; fi
cd /root/descargas
wget -q http://servidor/ficheros/firefox-7.0.1.tar.bz2.32work
#Instala el paquete
mv firefox-7.0.1.tar.bz2.32work /opt/firefox-7.0.1.tar.bz2
cd /opt
tar jxvf firefox-7.0.1.tar.bz2
rm firefox-7.0.1.tar.bz2
cd -
#modificamos el enlace a firefox
ln -fs /opt/firefox/firefox /usr/bin/iceweasel
tareas_puppet/comunes/workstations/instala-firefox7/firefox.cfg
// Lock specific preferences in Firefox so that users cannot edit them
lockPref("app.update.enabled", false);
lockPref("browser.startup.homepage", "http://www.google.es");
tareas_puppet/comunes/workstations/instala-firefox7/instala-firefox7.pp
class instala-firefox7 {
file {"/root/instala-firefox7.sh":
owner=>root, group=>root, mode=>755,
source=>"puppet://puppetworkstation/files/instala-firefox7.sh",
notify=> Exec["instala-firefox7"],
}
exec {"instala-firefox7":
command => "/root/instala-firefox7.sh",
require => File["/root/instala-firefox7.sh"],
refreshonly => true,
before => [ File["/opt/firefox/defaults/pref/local-settings.js"], File["/opt/firefox/firefox.cfg"] ],
}
file {"/opt/firefox/defaults/pref/local-settings.js":
owner=>root, group=>root, mode=>755,
source=>"puppet://puppetworkstation/files/local-settings.js",
}
file {"/opt/firefox/firefox.cfg":
owner=>root, group=>root, mode=>755,
source=>"puppet://puppetworkstation/files/firefox.cfg",
}
}
tareas_puppet/comunes/workstations/instala-firefox7/local-settings.js
pref("general.config.obscure_value", 0);
pref("general.config.filename", "firefox.cfg");
tareas_puppet/comunes/workstations/configura-cliente-puppet/leeme.txt
DESCRIPCION
-------------------------------------------------------------------------------------------------------------
Destino : Equipos que queramos configurar como clientes del servidor puppet principal del centro (puppetinstituto).
Acción : Configura como cliente puppet el equipo donde apliquemos configura-cliente-puppet.pp haciendo lo siguiente:
* Se asegura que el paquete puppet esté instalado.
* Crea el archivo de configuración de puppet /etc/puppet/puppet.conf con la siguiente configuración:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=/lib/facter
#pluginsync=true
server=puppetinstituto
runinterval=5400
syslogfacility=
report=true
[master]
templatedir=/var/lib/puppet/templates
[agent]
report = true
# listen = true
* Crea el archivo /etc/default/puppet que activa el servicio en el arranque:
# Defaults for puppet - sourced by /etc/init.d/puppet
# Start puppet on boot?
START=yes
# Startup options
DAEMON_OPTS=""
* Crea el archivo /etc/escuela2.0" con el siguiente contenido:
use=workstation
* Crea el archivo /usr/lib/ruby/1.8/facter/leefichero.rb que lee los facter definidos en el fichero /etc/escuela2.0
* Asegura que exista el directorio de reports var/lib/puppet/reports
* Borra el directorio /var/lib/puppet/ssl por si existieran certificados antigüos en el cliente
* Inicia el servicio
-------------------------------------------------------------------------------------------------------------
INSTRUCCIONES DE USO
-------------------------------------------------------------------------------------------------------------
* Copiar configura-cliente-puppet.pp al equipo que queremos configurar
* Aplicar la configuración:
puppet apply configura-cliente-puppet.pp
-------------------------------------------------------------------------------------------------------------
NOTA
-------------------------------------------------------------------------------------------------------------
Podemos usar este archivo para configurar cualquier cliente, con tan sólo cambiar el siguiente recurso:
file { "/etc/escuela2.0":
content => "use=workstation",
}
-------------------------------------------------------------------------------------------------------------
Creado por:
Esteban M. Navas Martín
Administrador informático del IES Valle del Jerte.
Plasencia
12-Diciembre-2012
Modificado: 08-Febrero-2013
Deshabilitado el parámetro "listen = true" para evitar un bug por el que no
se ejecuta el agente puppet de forma automática.
tareas_puppet/comunes/workstations/configura-cliente-puppet/configura-cliente-puppet.pp
package { puppet:
ensure=>"installed"
}
file { "/etc/default/puppet":
content => "# Defaults for puppet - sourced by /etc/init.d/puppet\n\n# Start puppet on boot?\nSTART=yes\n\n# Startup options\nDAEMON_OPTS=\"\"\n"
}
file { "/etc/puppet/puppet.conf":
content => "[main]\nlogdir=/var/log/puppet\nvardir=/var/lib/puppet\nssldir=/var/lib/puppet/ssl\nrundir=/var/run/puppet\nfactpath=$vardir/lib/facter\n#pluginsync=true\nserver=puppetinstituto\nruninterval=5400\nsyslogfacility=\nreport=true\n\n[master]\ntemplatedir=/var/lib/puppet/templates\n\n[agent]\nreport = true",
require => Package["puppet"],
}
file { "/etc/escuela2.0":
content => "use=workstation",
}
file { "/usr/lib/ruby/1.8/facter/leefichero.rb":
content => 'if File.exists?("/etc/escuela2.0")
File.open("/etc/escuela2.0").each do |line|
var = nil
value = nil
var = $1 and val = $2 if line =~ /^(.+)=(.+)$/
if var != nil && val != nil
Facter.add(var) do
setcode { val }
end
end
end
end',
}
file { "/var/lib/puppet/reports":
ensure => directory
}
file { "/var/lib/puppet/ssl":
ensure => absent,
force => true,
}
service { puppet:
ensure => running,
require => Package["puppet"],
subscribe => File["/etc/default/puppet","/etc/puppet/puppet.conf"]
}

Exportar a: Unified diff