Hacer copia completa y recursiva desde FTP en Ubuntu

Os dejo como hacer una copia completa de vuestro sitio FTP en un directorio local de vuestro sistema Ubuntu.
Lo haremos con una utilidad llamada ncftp. Para instalarla:

sudo apt-get install ncftp

Y para hacer la copia del FTP en local:

ncftpget -R -v -u “user” -p “password” “ftp.server.net” “directorioLocal” “directorioFTP”

Instalar paso a paso Ubuntu Server

Os pongo un excelente enlace en el que explican detalladamente cómo instalar Ubuntu Server, y como hacer las tareas más propias después de la instalación:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=580

Y aquí explican como configurar un RAID en Ubuntu Server durante la instalación del sistema operativo:

http://doc.ubuntu-es.org/Instalar_Servidor_Ubuntu_8.04_Con_RAID_por_Software

Instalación de HAMACHI en Linux (Ubuntu)

Hamachi es una aplicación gratuita (freeware) que permite crear redes privadas virtuales (VPN), esto es: simular redes locales a través de Internet, sin requerir configuración.

En esta mini guía o mini manual voy a describir los pasos que yo he seguido para instalar Hamachi en mi Kubuntu 11.10 (y también en un Ubuntu Server 11.10) como servicio que arranca automáticamente antes de iniciar sesión, y en caso de caída de la red y/o Internet se reconecte solo.

Para instalar Hamachi en Ubuntu primero hay que asegurarse que tenemos instalado el soporte de IP Tunnelling en el kernel, normalmente siempre está instalado, sino lo está no podremos continuar.

Si al ejecutar

sudo modprobe tun

no sale nada, significa que sí lo tenemos instalado.

Ahora tenemos que comprobar que está creada la carpeta de tunnelling en /dev con el comando:

ls /dev/net/tun

Si sale un mensaje que dice que no existe el fichero o directorio, hay que crearla así:

sudo mkdir /dev/net

sudo mknod /dev/net/tun c 10 200

Para x86_64 bits será necesario instalar:

$ sudo apt-get -y install build-essential ia32-libs upx-ucl

Para x86_32 bits:

$ sudo apt-get -y install build-essential upx-ucl

Ahora pasamos a instalar Hamachi:

Descargamos la última versión de http://files.hamachi.cc/linux/. Cuando escribí el post la última versión era http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz.

Nos vamos al directorio donde lo hemos descargado, extraemos el contenido del fichero, y nos vamos a dicha carpeta extraída:

tar -zxvf hamachi-0.9.9.9-20-lnx.tar.gz

cd hamachi-0.9.9.9-20-lnx/

E instalamos Hamachi:

sudo make install

sudo tuncfg

Nota: En caso que alguna de las dos líneas anteriores fallen al ejecutarse (por ejemplo en Ubuntu Server ocurre) debemos hacer:

sudo apt-get install make

sudo apt-get install binutils

Con esto ya lo tenemos instalado, ahora tenemos que configurar los permisos de usuarios.

Nos creamos un usuario para Hamachi que podamos iniciarlo solo como miembros del grupo hamachi.

Creamos el grupo hamachi:

sudo groupadd hamachi

Añadimos nuestro usuario al grupo hamachi (sustituye usuario por el nombre de tu usuario en Ubuntu):

sudo gpasswd -a usuario hamachi

Añadimos el usuario root al grupo:

sudo gpasswd -a root hamachi

Añadimos permisos:

sudo chmod 760 /var/run/tuncfg.sock

Cargamos el grupo:

sudo chgrp hamachi /var/run/tuncfg.sock

Si las dos líneas anteriores fallan, entonces debemos hacer:

touch /var/run/tuncfg.sock

Ahora pasamos a la configuración.

Nos creamos la configuración inicial:

sudo hamachi-init -c /etc/hamachi

Ahora ejecutamos hamachi:

sudo hamachi -c /etc/hamachi start

Establecemos nuestro nick de Hamachi

sudo hamachi -c /etc/hamachi set-nick NickDeHamachi

Nos loguearnos en Hamachi:

sudo hamachi -c /etc/hamachi login

Para unirnos a una red ya existente:

sudo hamachi -c /etc/hamachi join RedParaUnirnos ContraseñaDeLaRed

O para crear una red nueva:

sudo hamachi -c /etc/hamachi create RedParaCrear ContraseñaDeLaRed

Y para estar online en la red a la que nos unimos:

sudo hamachi -c /etc/hamachi go-online RedEnLaQueNosHemosUnido

Y si quisieramos desconectarnos de Hamachi:

sudo hamachi -c /etc/hamachi logout

Llegado a este punto ya estamos conectados a Hamachi, logueados y unidos online a una red.

Ahora vamos a ver como crear un script para iniciar, reiniciar y parar Hamachi:

Abrimos un editor de texto de esta forma (para Ubuntu):

sudo gedit /etc/init.d/hamachi

o de esta para Kubuntu:

sudo kate /etc/init.d/hamachi

y pegamos este código:

#!/bin/sh

### BEGIN INIT INFO

# Provides: hamachi

# Required-Start: $remote_fs $syslog $network

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start hamachi at boot time

# Description: Starts up hamachi daemon. Networking is required.

### END INIT INFO

hamachi_start() {

echo “Starting hamachi…”

/sbin/tuncfg

/usr/bin/hamachi -c /etc/hamachi start

/bin/chmod 760 /var/run/tuncfg.sock

/bin/chgrp hamachi /var/run/tuncfg.sock

}

hamachi_stop() {

echo “Stopping hamachi…”

killall tuncfg

/usr/bin/hamachi -c /etc/hamachi stop

}

hamachi_restart() {

hamachi_stop

sleep 1

hamachi_start

}

case “$1” in

‘start’)

hamachi_start

;;

‘stop’)

hamachi_stop

;;

‘restart’)

hamachi_restart

;;

*)

hamachi_start

esac

Guardamos el archivo y cerramos el editor.

Con esto ya podremos iniciar, reiniciar o parar el servicio Hamachi con estos comandos:

sudo service hamachi start

sudo service hamachi restart

sudo service hamachi stop

Ahora haremos el script que sea ejecutable:

sudo chmod +x /etc/init.d/hamachi

Finalmente añadimos el script al lanzador para que se ejecute automáticamente siempre que encendamos el PC aunque no hagamos sesión:

sudo update-rc.d hamachi defaults

Si algún día queremos que nuestro servicio Hamachi no inicie automáticamente simplemente tendremos que eliminar el permiso de ejecución del script:

sudo chmod -x /etc/init.d/hamachi

Y si queremos cambiar nuestro nick o red a la que nos conectamos, con Hamachi activo ejecutamos las órdenes descritas con anterioridad para tal fin.

Ahora voy a poner como mejorar el servicio.

Algunas veces, cuando tenemos Ubuntu conectado a una red a través de Hamachi, podemos observar desde otros PCs conectados a Hamachi como aparece una admiración amarilla intermitente en la ventana de Hamachi (en el programa Hamachi de Windows), esto se soluciona de la siguiente manera:

sudo gedit /etc/hamachi/config

o si estamos en Kubuntu:

sudo kate /etc/hamachi/config

Escribimos en el editor

KeepAlive 30

salvamos y cerramos. Seguimos con estas órdenes:

su

(escribimos contraseña del usuario root)

cd

mkdir .hamachi

cp /etc/hamachi/config .hamachi/config

exit

sudo service hamachi restart

Con esto se debería solucionar el problema.

Por otro lado, otra cosa que me ocurrió es que si mientras estoy conectado a una red Hamachi desde Ubuntu (o Kubuntu) pierdo la conexión a la red o Internet, Hamachi es incapaz de volverse a conectar cuando se establezca de nuevo la conexión a Internet. En Hamachi de Windows esto no ocurre, se reconecta solo. En realidad no encontré la forma de solucionar esto, por lo que animo si alguien sabe como solucionarlo que lo deje escrito en un comentario. Lo que a mí se me ocurrió es cada X tiempo reiniciar el servicio hamachi, así si se ha caído se volverá a conectar. Lo bueno es que como el reinicio es muy rápido (menos de dos segundos) aunque estemos usando la red Hamachi en el momento del reinicio automático no pasa nada, sigue funcionando normalmente.

Para programar automáticamente el reinicio cada hora debemos hacer:

sudo gedit /etc/crontab

o en caso de Kubuntu:

sudo kate /etc/crontab

y añadimos al final del fichero que se abre:

* */1 * * * root service hamachi restart

Así conseguimos que se reinicie automáticamente cada hora.

Finalmente dejo escrito como solucionar un error que parece que pasa en Ubuntu 9.10: En el momento de ejecutar Hamachi, sale un mensaje de error que dice “Terminado (killed)”. Para solucionar esto hay que ejecutar:

sudo apt-get install upx-ucl

cd /usr/bin

sudo upx -d hamachi

En caso que desde otros clientes veáis en vuestro programa Hamachi que el servidor Ubuntu se desconecta, os dejo aquí un enlace en el que proponen una solución (yo no lo he probado).

http://community.logmein.com/t5/Hamachi/hamachi-0-9-9-9-20-linux-client-to-hamachi-2-issues/td-p/30817/page/4

Con esto termino la mini guía. Si tenéis alguna aportación de como configurar más o automatizar mejor Hamachi en Ubuntu, por favor dejad comentarios.