Distribución a través de Internet

Instalación del servidor

Podemos aprovechar nuestro repositorio local para distribuir nuestros paquetes a través de la red, simplemente publicando el directorio /var/packages bajo un servidor HTTP o FTP. En particular, aquí veremos cómo hacerlo con el servidor Apache 2.

Evidentemente, hacerlo o no es completamente opcional. Los pasos a seguir son:

  1. Si no tenemos una dirección IP estática, podemos en su lugar registrarnos en sitios como no-ip o DynDNS, donde conseguiremos un nombre de dominio que actualizaremos periódicamente con nuestra IP.

  2. Ahora hemos de asegurarnos de que el puerto 80 por TCP se halle accesible, cambiando los ajustes del cortafuegos y del encaminador en caso de que usemos NAT (Network Address Translation). Con Ubuntu recién instalado, el cortafuegos no tendrá ninguna regla definida, por lo que en principio no habría que hacer nada en cuanto a la configuración del servidor.

  3. Instalamos el servidor Apache mediante:

    sudo aptitude install apache2
  4. Crearemos el fichero /etc/apache2/sites-available/repoDebian, con el siguiente contenido, donde sustituiremos la dirección de nuestro servidor y el correo que empleamos en la firma GPG:

    <VirtualHost *:80>
            ServerAdmin tudireccion@decorreo
    
            DocumentRoot /var/packages
            ServerName direccion.delservidor.org:80
            ErrorLog /var/log/apache2/error.log
    
            LogLevel warn
    
            CustomLog /var/log/apache2/access.log combined
            ServerSignature On
    
            # Permite que la gente navegue por el directorio
            <Directory "/var/packages">
                    Options Indexes FollowSymLinks MultiViews
                    DirectoryIndex index.html
                    AllowOverride Options
                    Order allow,deny
                    allow from all
            </Directory>
    
            # Oculta el directorio conf
            <Directory "/var/packages/*/conf">
                    Order allow,deny
                    Deny from all
                    Satisfy all
            </Directory>
    
            # Oculta el directorio db
            <Directory "/var/packages/*/db">
                    Order allow,deny
                    Deny from all
                    Satisfy all
            </Directory>
    </VirtualHost>
  5. Activaremos dicha página web y desactivaremos la página por defecto:

    cd /etc/apache2/sites-enabled
    sudo a2dissite default
    sudo a2ensite repoDebian
  6. Reiniciamos el servidor mediante:

    sudo /etc/init.d/apache2 restart
  7. ¡Listo! Habría que probar a cargar en un navegador la dirección http://127.0.0.1/ y ver que todo coincide.

Instrucciones para un usuario de nuestro paquete

Ahora nos pondremos por un momento en la piel de un usuario de nuestro paquete. ¿Cómo podría tener nuestro paquete siempre a la última, con la seguridad de que es la versión genuina?

En este caso, vamos a intentar hacerlo todo a través de interfaces gráficas, más amigables para un usuario medio. Recomiendo añadirnos a nosotros mismos como un cliente más, para facilitar la depuración. Sólo tendríamos que sustituir nuestro nombre de host real con 127.0.0.1 en el resto de instrucciones, o mejor aún, añadir la siguiente línea a /etc/hosts, reemplazando la que tuviera la misma dirección si hubiera alguna:

127.0.0.1 localhost direccion.delservidor.org

En primer lugar, el usuario debe de haber descargado el fichero http://direccion.delservidor.org/claveDebian.asc que exportamos antes, con nuestra clave pública.

Accederemos, a partir de la barra de programas en la parte superior de la pantalla, al elemento SistemaAdministraciónOrígenes de software.

En el diálogo que aparece, pasamos a la pestaña Software de terceros, cuyo aspecto será similar al de la figura Figura 2.1, “Pestaña de Software de Terceros”.

Figura 2.1. Pestaña de Software de Terceros

Pestaña de Software de Terceros

Pulsaremos en el botón Añadir una primera vez, y pegaremos la siguiente línea:

deb http://tunombre.deservidor.org/ubuntu gutsy main

Volvemos a pulsarlo, y ahora introducimos ésta, correspondiente a un repositorio de paquetes de código fuente (de ahí el deb-src):

deb-src http://tunombre.deservidor.org/ubuntu gutsy main

Cambiamos a la pestaña Autentificación, que será parecida a la de la figura Figura 2.2, “Pestaña de Autentificación”, y pulsamos Importar clave. Seleccionaremos el fichero claveDebian.asc antes descargado.

Figura 2.2. Pestaña de Autentificación

Pestaña de Autentificación

Guardamos los cambios realizados pulsando Cerrar, y finalmente pulsamos el botón Recargar de la barra de herramientas de la ventana principal. Cuando se cierre automáticamente el diálogo que aparece, ya podremos usar como siempre Synaptic, empleando el botón Buscar para hallar el paquete que deseamos, marcarlo con un doble clic e instalarlo mediante Aplicar. Además, a partir de ahora, el sistema apt se ocupará de monitorizar dicho repositorio y mantener actualizado el sistema.