Instalar MySQL en una máquina dentro de OpenVZ

Recientemente, para probar, contraté un Virtual Private Server (VPS) con OpenVZ. Tuve problemas para instalar mysql-server porque daba error con InnoDB.

Estuve buscando y encontré la solución: añadir en el fichero /etc/mysql/my.cnf la siguiente línea:

skip-innodb

Como nota final, he de decir que un VPS sobre XEN va infinitamente mejor que uno con OpenVZ. Con OpenVZ se suelen «sobrevender» los recursos mientras que con XEN se reservan para ti los que contratas.

Modificar la fecha en una máquina dentro de XEN

Si la hora está retrasada, aún usando ntpdate no actualizará la fecha. Para ello debemos modificar lo siguiente:

echo 1 > /proc/sys/xen/independent_wallclock
ntpdate-debian

Lo anterior se reseteará cuando se reinicie la máquina. Para que el cambio sea permanente añadiremos lo siguiente en /etc/sysctl.conf:

# Set independent wall clock time
xen.independent_wallclock = 1

Reiniciamos y vemos que está actualizada correctamente.

Buscar rootkits con rkhunter

Se puede examinar fácilmente el sistema en buscar de rootkits. Para ello existe la herramienta rkhunter.

Se encuentra en los repositorios de Debian, asíque es fácil instalarla: aptitude install rkhunter

Ahora haremos un update seguido de la comprobación:

rkhunter --update
rkhunter --check

Para una comprobación no interactiva: rkhunter --check -sk

Cuando acabe, dejará un log en /var/log/rkhunter.log

Espero que no tengáis nada raro!

rsync sobre SSH con clave pública

Describiré como realizar un backup de los archivos de un host cliente en un servidor remoto. Se usará rsync y no pedirá contraseña para SSH.

Todos los comandos serán ejecutados en el host cliente:

ssh-keygen -b 4096 -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@vmrsync

Cada uno cambiará root@vmrsync por lo que le convenga, siendo el patrón usuario@servidor

Acto seguido, ya podremos realizar desde el host cliente los backups. Por ejemplo:

rsync -aRe ssh --delete --numeric-ids /etc/ vmrsync:/root/SERVIDOR/
rsync -aRe ssh --delete --numeric-ids /home/usuario/ vmrsync:/root/SERVIDOR/

Para las opciones usadas, man rsync

Instalar MLDonkey desde las fuentes y con script de inicio

El problema más habitual de instalar algo desde la fuentes es encontrar o crear un buen script de inicio. Con lo siguiente, aprovecharemos el script de inicio que viene con el paquete mldonkey-server

Lo instalamos: aptitude install mldonkey-server Cuando nos pregunte si queremos que se lance al inicio, le damos a No (al final lo volveremos a poner). Con esto, tendremos el script de inicio y el archivo de variables (en /etc/default/mldonkey-server) necesarios para el inicio automático cuando se enciende el ordenador.

Ahora, por si no lo tenemos ya, vamos a instalar las dependencias necesarias para la compilación con aptitude build-dep mldonkey-server Además, instalaremos CVS para descargar las fuentes: aptitude install cvs

Para compilar, yo tengo este script en un subdirectorio dentro de mi home (/home/mi_user/compilar). Ahí dentro tengo un script llamado mldonkey.sh con el siguiente contenido:

#!/bin/bash
cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/cvsroot/mldonkey co mldonkey
cd mldonkey
./configure --disable-multinet --enable-bittorrent --enable-filetp --prefix=/usr && make

Con las opciones que he uso al configurar, se tendría soporte para la red edonkey, torrent y http (en la ayuda pone: filetp aka wget, pero no lo he probado). Vamos, las más habituales.

Ejecutamos el script (sh mldonkey.sh) con tu_usuario y tras unos minutos acabará la compilación. Después de esto, como root, entraremos en la carpeta y lo instalaremos: cd mldonkey && make install
En caso de que ya lo hubieras compilado, simplemente sobreescribe el ejecutable: cp compilar/mldonkey/mlnet /usr/bin/mlnet

Ahora crearemos el directorio donde estará la configuración y las descargas:

mkdir -p /home/mldonkey/.mldonkey
cp /var/lib/mldonkey/downloads.ini /home/mldonkey/.mldonkey/
chown mldonkey:mldonkey /home/mldonkey -R

El último cambio que haremos será en el archivo /etc/default/mldonkey-server Quedará así:

MLDONKEY_DIR=/home/mldonkey/.mldonkey
MLDONKEY_USER=mldonkey
MLDONKEY_GROUP=mldonkey
MLDONKEY_UMASK=0022
LAUNCH_AT_STARTUP=true
MLDONKEY_NICENESS=0

Aquí se ve que ya hemos cambiado a que se lance al inicio.
Para iniciarlo (o pararlo) manualmente: /etc/init.d/mldonkey start (/etc/init.d/mldonkey stop)