viernes, 8 de febrero de 2013

Administración de Directadmin - Custombuild, actualizacion de paquetes.

Hoy vamos a meternos un poco en la administración de un servidor que corre DirectAdmin. Desde el propio panel nos ofrece bastantes opciones, editar DNS, creación de usuarios, etc... Pero una parte importante, actualizar el sistema, hay que hacerlo desde consola usando una herramienta llamada Custombuild. Pensemos en esa herramienta como una especie de repositorio que contiene los programas principales del servidor web como son el exim (correo), apache y php (web) y mysql (bases de datos). La ventaja de usar el Custombuild en vez de los repositorios de nuestra distro, a parte de ser obligartorio, es que en vez de bajar un paquete e instalarlo, nos descarga los binarios y lo recompila (excepto del mysql, que si usa paquete). Por eso, podremos cargar cualquier módulo que necesitemos y tener nuestro programa con lo necesario. Por norma general, si tenemos hecha ya una instalación previa, no tendremos problemas de dependencias (aunque a veces surgen, pero se suele solucionar instalando esa dependencia desde el repositorio).

En este post, vamos a ver como teniendo un sistema instalado podemos actualizar nuestro sistema con los últimos parches de seguridad que hay. Por norma general, no hace cambios de versiones que conlleven cambios drásticos (pasar de php 5.2 a 5.3, por ejemplo) por lo que no deberíamos tener problemas una vez actualizado. Es script de custombuild se encuentra en /usr/local/directadmin/custombuild y se llama build. Si ejecutamos el script sin ningún comando, nos mostrará todas las opciones disponibles que no son pocas.
# cd /usr/local/directadmin/custombuild
# ./build
En este caso para actualizar el sistema, tendíamos que hacer;
# ./build update
# ./build versions
(Para ver como de desactualizamos vamos).
# ./buld update_versions
A partir de aquí empezará a recompilar todo sin apenas molestar (puede que pida alguna confirmación, depende de como ande de desactualizado el sistema). Una vez acabado, ya tendremos todo al día. Otra opción importante que tiene, es crear un cron para actualizar el sistema. Puede actualizar automaticamente el panel (da_autoupdate), las aplicaciones web (squirrelmail, roundcube, phpmyadmin, etc) (webapps_updates) y/o todo el sistema (updates). También se puede poner para que sólo nos avise de que existen actualizaciones (notifications), eso ya depende de cada uno. Para programar el cron, simplemente tenemos que editar el archivo options.conf y dejarlo así:

#Cron settings
cron=yes
cron_frequency=daily
[email protected]
notifications=yes
da_autoupdate=yes
updates=yes
webapps_updates=yes
Como vemos, las opciones que da son autoexplicativas. Evidentemente si queremos que nos avise al correo, tendremos que poner una cuenta válida. Una vez configurado, faltaría activarlo:
./build cron
Y listo. Comprobará diariamente si existen actualizaciones y las aplicará. Al ser parches de seguridad no deben introducir cambios que hagan que te dejen de funcionar las webs, pero podría pasar. Esto ya depende de lo que prefiera cada uno, pero como somos así, es cuando actualizamos que descubrimos que esa version no funciona con nuestra web. Yo por mi parte prefiero que actualice sólo ya que si no,
se me acaba pasando las actualizaciones.

Otro detalle importante del cron es que sólo nos va a actualizar aquellos programas que tengamos marcados en el options.conf, es decir, si tenemos "mysql_inst=no" no actualizará el php, lo mismo para otros como el dovecot o el exim. Revisad el archivo y decidir qué aplicaciones quereis que se actualicen y cuales no. Por otro lado, cuando actualizamos un programa con el custombuild, hay que tener cuidado de si hemos añadido algún módulo a la compilación anteriormente, ya que si no lo hemos metido en la carpeta custom nos cogerá la configuración predeterminada. Por ejemplo para el php en este enlace de la FAQ de DirectAdmin lo explican bien, aunque más adelante pondré cómo recompilar el php con algunos módulos útiles.

Con esto y con las actualizaciones del sistema con los repositorios de la distro, tendremos el sistema actualizado y parcheado para solucionar problemas de seguridad.

No hay comentarios:

Publicar un comentario