Finalmente tuve un par de minutos para ver el acceso externo a user-password.
En primer lugar debes crear el directorio para lojar la plantilla personalizada, luego copiar la original y modificarla según el diff que pego abajo. Luego expandir las plantillas y reinicias httpd-e-smith.
Solo existe un inconveniente. Dado que user-password utiliza una hoja de estilos css alojada bajo server-common, es algo complicado encontrar una solucion para poder emplearla, ya que ese directorio bajo ningún concepto debe estar abierto al exterior por motivos de seguridad. Es solo una cuetion estética, nada mas.
Como alternativa podría pensarse en modificar directamente ciertos archivos o templates .tmpl, pero romperíamos la compatibilidad al momento de las actualizaciones. Por este motivo no considero realizar ningún cambio que rompa la compatibilidad. Sin embargo es una buena excusa para añadir una solicitud de nueva característica al equipo de desarrolladores por medio de un nuevo bug NFR (New Feature Request). Los dejo a ustedes para que practiquen además con bugzilla e interactúen con los desarrolladores.
1- Crear el directorio de la plantilla personalizada
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts
2- Nos desplazamos dentro del nuevo directorio y copiamos la plantilla original que deseamos modificar. En nuestro caso se llama 27ManagerProxyPass
cd /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts
copy /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/27ManagerProxyPass .
observar el punto final luego del espacio. Ello significa que copiamos la plantilla apuntada al directorio en el que nos hallamos ahora.
3- Modificamos la plantilla según el diff que pego abajo
4- Expandimos y reiniciamos apache
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart
Es importante observar que en futuras actualizaciones puede cambiar la plantilla original, lo cual hay que estar atento en caso de que existan incompatibilidades por cambios en el archivo/plantilla de configuración.
Es recomendable llevar un documento con los cambios efectuados al servidor para saber al momento de una actualización si algun paquete rpm nos producirá algun inconveniente.
Para ell es importante conocer a qué paquete rpm pertenece determinado archivo. En nuestro caso correremos rpm -qf para que nos indique a cuál rpm pertenece el archivo 27ManagerProxyPass. Esto debe hacerse con la ruta completa al archivo.
rpm -qf /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/27ManagerProxyPass
En mi caso me dio como resultado:
e-smith-manager-2.0.0-1.el4.sme
Entonces anotaré que he realizado una plantilla personalizada en
"/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/27ManagerProxyPass" y que pertenece al paquete rpm
"e-smith-manager-2.0.0-1.el4.sme" y además indicando por qué o cual es la función de esta modificación que he realizado.
Al momento de efectuar una actualización del servidor, verificaré si se esta actualizando el paquete
"e-smith-manager" y en tal caso deberé verificar si no hay ninguna incompatibilidad con mi plantilla personalizada, en cuyo caso haremos los arreglos necesarios para corregirla.
8c8,10
< foreach $place ('server-manager','server-common','user-password')
---
>
>
> foreach $place ('server-manager','server-common')
28a31,46
>
> if (($port eq "80") && ($haveSSL eq 'yes') && ($plainTextAccess ne 'yes'))
> {
> $OUT .= " RewriteRule ^/user-password(/.*|$) https://%{HTTP_HOST}/user-password$1 [L,R] ";
> } else {
> $OUT .= " ProxyPass /user-password http://127.0.0.1:${'httpd-admin'}{TCPPort}/user-password ";
> $OUT .= " ProxyPassReverse /user-password http://127.0.0.1:${'httpd-admin'}{TCPPort}/user-password ";
> }
>
> $OUT .= " <Location /user-password> ";
> $OUT .= " order deny,allow ";
> $OUT .= " deny from all ";
> $OUT .= " allow from all ";
> $OUT .= " </Location> ";
>
>