Sistemas operativos
Ajuste en lote del TTL de los registros DNS con Plesk
0Antes de realizar una migración de servidor que incluya cambio de IP es muy conveniente modificar el TTL de los registros DNS, que por lo general suele estar establecido en 24 horas, de forma que cuando procedamos a realizar el cambio en estos registros, haciendo que las peticiones cambien de un servidor a otro, minimicemos el tiempo durante el que éstas llegaran a uno u otro servidor de forma indeterminada, por ejemplo a 5 minutos.
En servidores Plesk, este cambio se puede realizar cómodamente modificando la base de datos. Este es el SQL a utilizar a partir de la versión 8.3, y probado sobre una 9.5.1:
UPDATE 'dns_zone' SET 'ttl' = '300', 'ttl_unit' = '60' WHERE 'id' > 1;
Una vez modificada la base de datos, ejecutamos este comando para que Plesk regenere los archivos de zona:
"%plesk_bin%\dnsmng.exe" update *
Hay que tener en cuenta que los cambios no serán inmediatos, debido al propio funcionamiento del sistema DNS, que provoca que la propagación no se pueda garantizar hasta que vaya caducando en la caché de los distintos servidores el registro anterior, así que hay que anticiparse y realizar este cambio al menos 24 horas antes de realizar la modificación de la IP.
Bonus 1: Modificación de la base de datos MDB de Plesk
Si estuvimos poco hábiles el día de la instalación de Plesk y decidimos que utilizase Access en lugar de MySQL, tendremos alguna dificultad para realizar cambios sin instalar el Microsoft Access, del que tendríamos que adquirir una licencia para poder realizar esta modificación, además de que dejarlo instalado en un servidor de producción no mola.
Pero tenemos una buena alternativa: MDB Viewer Plus, que permite examinar y desde hace bien poco también la ejecución de SQL sobre tablas Access, utilizando MDAC, que viene instalado con Windows.
Bonus 2: Comprobación de los registros DNS
Para comprobar que efectivamente el TTL de nuestros registros DNS es el correcto, podemos utilizar el comando dig
en Linux contra cualquier servidor DNS, que nos mostrará lo que tenga almacenado:
jefazo@servidor:~$ dig midominio.tld @8.8.8.8 ; <<>> DiG 9.7.3 <<>> midominio.tld @8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10873 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;midominio.tld. IN A ;; ANSWER SECTION: midominio.tld. 300 IN A 1.2.3.4 ;; Query time: 108 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sat Sep 10 22:12:07 2011 ;; MSG SIZE rcvd: 48
Ajustes de IIS 7 en línea de comandos con Appcmd
0Cuando tenemos que administrar un servidor web de cierta entidad, con muchos dominios, grupos de aplicaciones, etc., e interesa realizar alguna operación en lote sobre un grupo de ellos, no es necesario que nos pasemos media mañana haciendo click, botón derecho, propiedades, avanzadas… En esos casos es cuando vale la pena utilizar Appcmd utilidad provista con IIS 7 (Windows 2008).
La utilidad está en %windir%\system32\inetsrv
, aunque también hay una pequeña aplicación de interfaz bastante simple llamada AppcmdUI, pero que nos ofrece la posibilidad de ir autocompletando el comando que vamos generando, lo que suele ser una ayuda, sobre todo al principio.
Una de las capacidades más notorias que nos ofrece Appcmd es el pipelining, lo que nos permite encadenar la salida de un comando como entrada del siguiente, consiguiendo así actuar sobre varios objetos fácilmente. Me explico con un ejemplo práctico:
- Obtenemos una lista de los grupos de aplicaciones:
appcmd apppool list
- Modificamos a 30 minutos el tiempo de inactividad de un grupo de aplicaciones previo a su reciclaje:
appcmd set apppool "pedazodeseñoraweb.es" /processModel.idleTimeout:00:30:00
Si juntamos estos dos comandos, podemos hacer que el tiempo de inactividad de todos los grupos de aplicaciones pase a ser de 30 minutos, con:
appcmd list apppool /xml | appcmd set apppool /in /processModel.idleTimeout:00:30:00
Obsérvese que la salida del primer comando se ha establecido para que se obtenga como XML, con /xml
, y que se ha especificado que la entrada del segundo provendrá de su entrada estándar y en formato XML, con /in
. Por último, se han unido la salida del primero con la entrada del primero mediante una tubería (|
).
Así, podemos hacer cosas chachis, como reciclar todos los procesos, modificar en lote la configuración de los que empiecen por una cadena de texto dada, listar todas las copias de seguridad existentes…
Permitir a un usuario acceder un servidor mediante escritorio remoto
2Seguro que si habéis necesitado activar el acceso remoto de un usuario no administrador a un servidor Windows que además esté haciendo el rol de controlador de dominio os habréis encontrado con este mensaje, pese a haber añadido el usuario al grupo Usuarios de escritorio remoto:
El motivo es precisamente que es un controlador de dominio, y como tal, tiene una directiva de seguridad específica, que se puede modificar en Herramientas administrativas | Configuración de seguridad predeterminada de controlador de dominio.
En esta consola, desplegamos Configuración de Windows | Configuración de seguridad | Directivas locales | Asignación de derechos de usuario, y en la directiva Permitir inicio de sesión a través de Servicios de Terminal Server añadimos al usuario que nos interese, en la forma DOMINIO\Usuario.
Como cualquier modificación en las directivas, tarda algo en hacerse efectiva, así que si tenemos prisa y no apetece reiniciar, podemos forzarlo con el comando:
gpupdate /force
Cambio de permisos en ficheros y directorios
0Cuando se instala alguna web nueva, o se utliza algún paquete de actualización, es bastante común que los permisos no vengan correctamente especificados, y por tanto no funcione correctamente. Con estos dos simples comandos se puede resolver rápidamente:
- Cambiar recursivamente los permisos de todos los directorios a 755:
find . -type d -exec chmod 755 {} \;
- Cambiar recursivamente los permisos de todos los archivos a 644, dejando intactos los directorios:
find . -type f -exec chmod 644 {} \;
Poner aplicación como servicio
0Para poner una aplicación como servicio necesitamos lo primero descargarnos Windows Server 2003 Resource Kit Tools
Una vez descargado lo que nos insteresa son los comandos INSTSRV.EXE y SRVANY.EXE. Instsrv.exe crea o eliminar servicios en el sistema y Srvany.exe nos permite ejecutar las aplicaciones como servicio. Para crear entonces nuestro nuevo servicio lo que haremos será poner srvany.exe como servicio y a este ponerle como parametro la aplicacion que nos interesa.
Paso 1:
ruta-al-comando-INSTSRV.EXE Mi Servicio ruta-al-comando-SRVANY.EXE
Donde “ruta-al-comando-instsrv.exe” es, como parece logico, la ruta donde se encuentra dicho comando. Claro, esto tenemos que especificarlo en caso de que no hayamos incluido ese comando comando en la variable del sistema “PATH”. Luego escribimos el nombre que queremos dar a nuestro nuevo servicio (“Mi Servicio”). Y por ultimo la ruta hacia el comando “srvany.exe”. Por ejemplo, supongamos que llamamos a nuestro nuevo servicio “DDService”, el comando seria de esta forma:
C:\Program Files\Windows\windows Resource Kits\Tools\instsrv.exe DDService C:\Program Files\Windows\windows Resource Kits\Tools\srvany.exe
Paso 2:
Ya tenemos el servicio, ahora debemos indicar en el registro la ruta hacia la aplicacion. Para esto abrimos en editor del registro (regedit.exe). Y nos movemos hacia la siguiente clave del registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Aqui buscamos la clave correspondiente al servicio que acabamos de crear, de acuerdo a este ejemplo debe llamarse “DDService”. Una vez alli crearemos una nueva sub-clave con nombre “Parameters” y dentro de esta clave crearemos una clave alfanumerica que llamaremos “Application”. Esta clave del registro sera la que indicara la ruta hacia el ejecutable de la aplicacion que queremos ejecutar como servicio, asi que haremos doble clic encima de “Application” y escribiremos la ruta hacia nuestro ejecutable, por ejemplo, C:\Program Files\DD\DDservice.exe”.
Ya tenemos la aplicacion como servicio. Solo nos queda ir a servicios e iniciarlo o reiniciar el equipo.
Instalar paquete de lenguaje español en Windows 2008 R2
2En los sistemas operativos Windows 2008 R2 y Windows 7 (en sus ediciones superiores) es posible cambiar el idioma completamente, de forma que se puede instalar un DVD del Windows 2008 R2 en su versión estándar x64, pero en inglés, y después realizar las siguientes operaciones para cambiar el idioma completamente, incluyendo la pantalla de inicio:
- Obtener el pack de idiomas.
En Windows 7 Ultimate aparece por defecto en la lista de actualizaciones opcionales de Windows Update.
En Windows 2008 R2 lo podemos obtener a partir de la imagen ISO con los 35 paquetes de idiomas disponibles o en el centro de descarga de Microsoft, pulsando aquí para la versión en castellano (es-ES). - Si lo hemos obtenido por Windows Update o descargándolo de forma individual, simplemente lanzaremos el ejecutable descargado, lo que procederá a la conversión del usuario actual.
Si lo obtenemos a partir de la ISO, tendremos un paquete CAB con el idioma que deseemos instalar, y para poder instalarlo ejecutaremos la utilidad Lpksetup.exe, que producirá el mismo resultado. - Una vez instalado el paquete de idiomas (y posiblemente reiniciado el servidor), sólo quedará modificar todas las opciones de configuración regional, a las que se accede a través de Panel de control | Reloj, idioma y región | Cambiar el idioma para mostrar.
- Una vez se ha configurado correctamente el usuario, el último paso es establecer esta configuración para la pantalla de inicio de sesión, cuentas del sistema y las nuevas cuentas de usuario. Esto se podrá hacer desde la misma ventana de configuración regional, en la pestaña Administrativo, botón Copiar configuración…
Eso es todo. Con estos procesos habremos obtenido un Windows 2008 R2 o Windows 7 que en lugar de decir “Press CTRL + ALT + DEL to Logon” pasa a decir “Pulse Ctrl + Alt + Supr para iniciar sesión”. Siengo extra-pejiguero, podemos poner pegas como que la cuenta del administrador se seguirá llamando Administrator, pero como lo más correcto por motivos de seguridad es crear una nueva con un nombre de usuario distinto, ya no hay excusa.
Aunque sea un poco offtopic sobre la temática de esta entrada, no puedo dejar de recomendar la web http://www.win2008r2workstation.com/ si se tiene que utilizar el Windows 2008 R2 como estación de trabajo además de servidor, ya que explica cómo habilitar los temas visuales, el servicio de sonido, etc.