Tareas #6261

Tareas #6252: Reamar servidor de repositorios de Linux

Investigar como configurar el nuevo repo para que las antiguas direcciones sigan funcionando.

Added by Javier Gonzalez about 3 years ago. Updated about 3 years ago.

Status:ResueltaStart date:07/04/2019
Priority:NormalDue date:
Assignee:Javier Gonzalez% Done:

100%

Category:-Estimated time:5.00 hours
Target version:-Spent time:-

Description

Las direcciones viejas son de la forma: http://repo.cure.edu.uy/distro/archivos

Las nuevas seran: http:// <distro>.repo.cure.edu.uy/<mirror, isos, etc>

Hay que investigar como configurar los nuevos virtualhost para que las direcciones viejas sigan funcionando cuando se realice el cambio de repo.

History

#1 Updated by Javier Gonzalez about 3 years ago

  • Status changed from Nueva to Resuelta
  • % Done changed from 0 to 100

Para que las direcciones antiguas continúen funcionando se decidió utilizar el modulo rewrite del web server apache: https://httpd.apache.org/docs/current/rewrite/intro.html

La idea es recibir las peticiones web a repo.cure.edu.uy y parsear la REQUEST_URI, según lo que esta contenga se redirige a la nueva dirección web.

Los cambios serian:

http://repo.cure.edu.uy/ubuntu/archivos a http://ubuntu.repo.cure.edu.uy/mirror

http://repo.cure.edu.uy/ubuntu/distribuciones a http://ubuntu.repo.cure.edu.uy/isos

http://repo.cure.edu.uy/debian a http://debian.repo.cure.edu.uy/mirror

http://repo.cure.edu.uy/debian-cd a http://debian.repo.cure.edu.uy/isos

Para que las re-direcciones funcionen incluimos en el virtualhost repo.cure.edu.uy:

#-----------------REDIRECCIONES------------------------------------------------
#Estas redirecciones estan para que los repos continuen funcionando aun en la
#direccion anterior.

#CAMBIA repo.cure.edu.uy/ubuntu/archivos --> ubuntu.repo.cure.edu.uy/mirror
RewriteEngine on
RewriteCond "%{REQUEST_URI}" "/ubuntu/archivos(.*)"
RewriteRule ^ http://ubuntu.repo.cure.edu.uy/mirror%1 [END,NE,R=permanent]

#CAMBIA repo.cure.edu.uy/ubuntu/distribuciones --> ubuntu.repo.cure.edu.uy/isos
RewriteCond "%{REQUEST_URI}" "/ubuntu/distribuciones(.*)"
RewriteRule ^ http://ubuntu.repo.cure.edu.uy/isos%1 [END,NE,R=permanent]

#CAMBIA repo.cure.edu.uy/debian-cd/ --> debian.repo.cure.edu.uy/isos
RewriteEngine on
RewriteCond "%{REQUEST_URI}" "/debian-cd(.*)"
RewriteRule ^ http://debian.repo.cure.edu.uy/isos%1 [END,NE,R=permanent]

#CAMBIA repo.cure.edu.uy/debian --> debian.repo.cure.edu.uy/mirror
RewriteCond "%{REQUEST_URI}" "/debian(.*)"
RewriteRule ^ http://debian.repo.cure.edu.uy/mirror%1 [END,NE,R=permanent]

#--------------------------------------------------------------------------------

Como funciona?

La sentencia RewriteCond se utiliza para chequear si la REQUEST_URI contiene la cadena de caracteres deseada, y a su vez utilizando (.*) indica que todo lo que le sigue a la cadena que buscamos se guarde en una variable, que luego utilizamos en la sentencia RewriteRule como %1, si hubiera mas RewriteCond la segunda seria %2, etc...

RewriteRule realiza el cambio de URL que le indiquemos y en este caso le concatena lo que quedo en %1.

#2 Updated by Javier Gonzalez about 3 years ago

Se realizaron pruebas utilizando las direcciones actuales (repo.cure.edu.uy/ubuntu/archivos) pero apuntando al nuevo servidor y el funcionan como siempre utilizando apt.

#3 Updated by Javier Gonzalez about 3 years ago

Se agregaron las redirecciones para: mxlinux y deepin.

Also available in: Atom PDF