Configurar un servidor push

Configurar un servidor push consiste en dos tareas básicas: configurar el acceso rsync (el normal, para replicación pull) y configurar los mecanismos de activación por ssh (para hacer push a la replicación pull).

(Para más información sobre lo que es un servidor push, lea la explicación de la replicación push.)

Configurando rsync

Instale rsync. Si su sitio está ejecutando Debian, sólo instale el último paquete de rsync.

Cree el archivo rsyncd.conf y ponga algo similar a esto en él:

uid = nobody
gid = nogroup
max connections = 50
socket options = SO_KEEPALIVE

[debian]
  path = /svr/debian/mirror
  comment = Archivo de Debian (https://www.debian.org/mirror/size)
  auth users = *
  
  read only = true
  secrets file = /etc/rsyncd/debian.secrets

Añada una entrada para cada sitio del que esté haciendo push en el archivo /etc/rsyncd/debian.secrets:

site1.example.com:una_contraseña
site2.example.com:otra_contraseña
site3.example.com:contraseña

Ahora ha dado acceso a los sitios de réplica de flujo de bajada al archivo de su máquina. Si desea proporcionar acceso rsync a todo el mundo, sáltese las opciones auth users y secrets file en rsyncd.conf. No necesita tampoco un archivo «secrets».

Probablemente quiere iniciar el demonio rsync desde inetd. Para hacer habilitar el demonio, añada lo siguiente a su archivo /etc/inetd.conf:

rsync      stream      tcp         nowait      root /usr/bin/rsync rsyncd --daemon

(Recuerde enviar a inetd una señal HUP para decirle que vuelva a leer su archivo de configuración tras modificar el archivo.)

Configurando el mecanismo de disparo de ssh

Cree una nueva clave ssh para la cuenta que va a usar réplica de Debian mediante ssh-keygen. Si su cuenta ya tiene una clave para otros propósitos, quizá quiera crear una nueva y guardarla en un fichero diferente usando ssh-keygen -f ~/.ssh/identidad.misitio

Los sitios de réplica de flujo de bajada entonces deberán añadir

command="~/bin/ftpsync",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <contenidos de su archivo ~/.ssh/<key>.pub>

a su archivo ~/.ssh/authorized_keys.

Necesita configurar su proceso de réplica para contactar con los sitios de réplica de flujo de bajada cuando su trabajo de réplica termine. El paquete ftpsync contiene el script runmirrors que gestiona por usted todas las tareas necesarias. Simplemente cambie su ftpsync.conf para incluir la opción HUB=true, copie el runmirrors.conf.sample a runmirrors.conf y runmirrors.mirror.sample a runmirrors.mirror y configure el fichero de configuración para ajustarse a su sistema. Entonces, liste todas las réplicas de flujo de bajada dentro de runmirrors.mirror y el dúo ftpsync/runmirror hará por usted todo el trabajo pesado.

El efecto será que su sistema intentará hacer ssh a sus sitios de réplica de flujo de bajada después de que su propia réplica se actualice, para que puedan iniciar sus propias actualizaciones. Esto asume que usted dio a los operadores de las réplicas de flujo de bajada la clave ssh que le dijo a runmirrors que usara, y que ellos la añadieron a sus propios ficheros ~/.ssh/authorized_keys tal y como se describió arriba.

Si tiene algún problema con esto, póngase en contacto con nosotros.