SPInstall

Versión 41 (Emilio Penna, Miércoles, 13 de Mayo de 2020 16:00:28 -0300) → Versión 42/48 (Emilio Penna, Martes, 18 de Febrero de 2025 14:43:25 -0300)


h1. Instalación Shibboleth SP

Actualizado: 2020-05-11

*Escenario:* En esta guia se describe la instalación de Shibboleth SP en un equipo con Debian 12. 8 y Apache 2.4. En los pasos siguientes se considera que la instalación se realiza en en el host <mihost-ejemplo.edu.uy>, se debe ajustar el nombre al que corresponda.

*Referencias:*


https://shibboleth.atlassian.net/wiki/spaces/SP3/overview *Otros sistemas:*

CentOS: ver
https://www.switch.ch/aai/guides/sp/installation/?os=centos7

https://help.switch.ch/aai/guides/sp/ https://spaces.at.internet2.edu/pages/viewpage.action?pageId=148570224

Ubuntu 18: ver

https://docs.tuakiri.ac.nz/service_providers/install_shibboleth_sp_on_debian_based_linux https://www.switch.ch/aai/guides/sp/installation/?os=ubuntu

*Requerimientos sobre Apache:* Referencias:

1. Para integrarse con el proveedor de identidad de la udelar, es obligatorio utilizar HTTPS. https://wiki.shibboleth.net/confluence/display/SP3/Home
En esta guia se asume que ya se encuentra habilitado mod_ssl en el servidor https://www.switch.ch/aai/guides/sp/
https://www.switch.ch/aai/guides/sp/installation/


2. https://wiki.shibboleth.net/confluence/display/SP3/Apache

La documentación oficial versión de Shibboleth indica que SP disponible en los repositorios de Debian puede ser un poco obsoleta.
El repositorio de SWITCH (red académica de Suiza) tiene una versión mas actualizada, y documentación bastante completa.
En Debian 10 está disponible
el MPM "prefork" SP versión 3, pero en versiones anteriores de apache (modulo de multiprocesamiento) genera problemas, por lo tanto Debian se recomienda usar otro, puede ser "worker" MPM o "event" MPM. En la instalación el paquete de ejemplo utilizamos event.

https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2067399657/SystemRequirements
SWITCH.

h3. 1. 1a. Instalación en Debian 12 10 usando paquete de Debian:

Partimos


instalar libapache2-mod-shib2

h3. 1b. Instalación en Debian 8 o 9, usando repositorio
de un sistema con apache y mod_ssl

SWITCH:

<pre>
sudo apt apt-get install libapache2-mod-shib curl
curl -k -O http://pkg.switch.ch/switchaai/SWITCHaai-swdistrib.asc
gpg --with-fingerprint SWITCHaai-swdistrib.asc
# verificar que el fingerprint de la clave del repositorio sea 294E 37D1 5415 6E00 FB96 D7AA 26C3 C469 15B7 6742
apt-key add SWITCHaai-swdistrib.asc
echo 'deb http://pkg.switch.ch/switchaai/debian jessie main' | tee /etc/apt/sources.list.d/SWITCHaai-swdistrib.list > /dev/null
apt-get update
apt-get install --install-recommends shibboleth
</pre>


#chequear status con: *Notas para debian 9 con sp v3: (20190412)*

De acuerdo al sitio de Switch, se debe habilitar el repositorio debian-backports, para eso se puede agregar en el sources.list:

<pre>

sudo systemctl status shibd.service deb http://deb.debian.org/debian stretch-backports main
</pre>

Generar claves:


luego:

<pre>
shib-keygen -n sp-signing -u _shibd -g _shibd -y 20 -h spe.seciu.edu.uy -e https://spe.seciu.edu.uy/shibboleth -o /etc/shibboleth/ sudo apt update
shib-keygen -n sp-encrypt -u _shibd -g _shibd -y 20 -h spe.seciu.edu.uy -e https://spe.seciu.edu.uy/shibboleth -o /etc/shibboleth/ sudo apt install -t stretch-backports init-system-helpers libxerces-c3.2
sudo apt install --install-recommends shibboleth
</pre>



h3. 2. Verificación Habilitar un Virtual Host con HTTPS

En forma obligatoria un SP debe ejecutar con HTTPS. Si no se tiene hablitado se puede crear un Virtual Host
de estado

la siguiente manera:

<pre>
$ sudo shibd -t a2enmod ssl
cd /etc/apache2/sites-available

overall configuration is loadable, check console or log for non-fatal problems cp default-ssl.conf shibsp1.conf
a2ensite shibsp1.conf
service apache2 reload
</pre>

Chequeo de Sugerencia: verificar que cargue una pagina con HTTPS en un navegador.

También se puede ejecutar:
<pre>
apache2ctl configtest
</pre>
La salida deberia ser: Syntax OK

h3. 3. Verificación
de estado (opcional):

El SP tiene una página de estado.

Para verificar el estado se puede ejecutar:

<pre>
curl -k https://127.0.0.1/Shibboleth.sso/Status
</pre>

Por defecto solo permite el acceso a la pagina de estado desde localhost. Para habilitar el acceso desde otro equipo, se puede agregar la IP desde la que se quiere acceder. Para esto, editar /etc/shibboleth/shibboleth2.xml, y agregar la ip en el elemento Handler. Ejemplo:

<pre>
<code class="xml">
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1 164.73.129.160"/> 164.73.129.60"/>
</code>
</pre>

Ante cualquier cambio en la configuración de Shibboleth se debe reiniciar el proceso con los siguientes comandos: comando:

<pre>
service shibd stop
service shibd start
</pre>

Luego accediendo a la dirección https://<mihost-ejemplo.edu.uy>/Shibboleth.sso/Status se puede ver una página xml con información del SP.
También puede ser con wget en localhost: wget https://localhost:443//Shibboleth.sso/Status --no-check-certificate

Otros chequeos:

Acceder a
https://<mihost-ejemplo.edu.uy>/Shibboleth.sso/Session

Deberia verse una pagina que dice "A valid session was not found"

Este mensaje indica que el módulo Shibboleth ha sido cargado correctamente por el webserver.

Luego se debe continuar con la configuración: [[SPConfig|Configuración Shibboleth SP]]

Comando util para chequear que la configuración de apache es válida (ejecutar luego de cambiar configuraciones de apache)

<pre>
apache2ctl configtest
</pre>
La salida deberia ser: Syntax OK