Revisión 527
Añadido por Alfonso Pastor hace alrededor de 10 años
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
Reordenacion puppet-comunes