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:
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.
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.
Instalamos el servidor Apache mediante:
sudo aptitude install apache2
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>Activaremos dicha página web y desactivaremos la página por defecto:
cd /etc/apache2/sites-enabled sudo a2dissite default sudo a2ensite repoDebian
Reiniciamos el servidor mediante:
sudo /etc/init.d/apache2 restart
¡Listo! Habría que probar a cargar en un navegador la dirección http://127.0.0.1/ y ver que todo coincide.
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://
que exportamos antes, con nuestra clave pública.
direccion.delservidor.org/claveDebian.asc
Accederemos, a partir de la barra de programas en la parte superior de la pantalla, al elemento → → .
En el diálogo que aparece, pasamos a la pestaña , cuyo aspecto será similar al de la figura Figura 2.1, “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 mainVolvemos 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
,
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.
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.