Diferencia entre revisiones de «SIU-Arai/ejemploPasoAPaso»

De SIU
Saltar a: navegación, buscar
m (comentario version anterior)
 
(No se muestran 18 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 +
[[Archivo:siu-arai_iso.png|derecha|link=SIU-Arai]]
 +
 
= Ejemplo paso a paso =
 
= Ejemplo paso a paso =
 +
<blockquote>Nota: esta guía esta realizada con la versión anterior a la 2.0.0 de la plataforma SIU-Araí. </blockquote>
  
 
Para este caso voy a usar una instalación de Debian Jessie
 
Para este caso voy a usar una instalación de Debian Jessie
Línea 8: Línea 11:
  
 
{| class="wikitable zebra"
 
{| class="wikitable zebra"
!colspan="2"|URLs
+
! colspan="2" |URLs
 
|-
 
|-
 
|Araí-Registry
 
|Araí-Registry
|https://usuarios.local.siu
+
|http://registry.local.siu
 
|-
 
|-
 
|Araí-Usuarios
 
|Araí-Usuarios
|https://huarpe.local.siu
+
|https://usuarios.local.siu
 
|-
 
|-
 
|Araí-Huarpe
 
|Araí-Huarpe
|https://huarpe
+
|https://huarpe.local.siu
 
|}
 
|}
  
Línea 24: Línea 27:
 
Para crear los certificados uso el tutorial que se encuentra en http://documentacion.siu.edu.ar/wiki/SIU-Arai/certificados.  
 
Para crear los certificados uso el tutorial que se encuentra en http://documentacion.siu.edu.ar/wiki/SIU-Arai/certificados.  
 
Ese artículo asume  
 
Ese artículo asume  
* Docker instalado (https://docs.docker.com/engine/installation/linux/docker-ce/debian/#install-using-the-repository).  
+
* Docker instalado (https://docs.docker.com/engine/installation/linux/docker-ce/debian/#install-using-the-repository).  
* Docker Compose instalado (https://github.com/docker/compose/releases).  
+
* Docker Compose instalado (https://github.com/docker/compose/releases).  
 
 
  
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
Línea 44: Línea 46:
 
certificados:
 
certificados:
 
   image: siutoba/docker-certs
 
   image: siutoba/docker-certs
   container_name: docker-certs<br/>
+
   container_name: docker-certs
   #env_file: docker.env<br/>
+
   #env_file: docker.env
   environment:<br/>
+
   environment:
     DOCKER_NAME: certs<br/>
+
     DOCKER_NAME: certs
     CA_PWD: pass<br/>
+
     CA_PWD: pass
     CA_INT_PWD: pass<br/>
+
     CA_INT_PWD: pass
     LISTA_SERVER: huarpe.local.siu usuarios.local.siu<br/>
+
     LISTA_SERVER: huarpe.local.siu usuarios.local.siu
     LISTA_CLIENTES: usuarios-cli huarpe-cli<br/>
+
     LISTA_CLIENTES: usuarios-cli huarpe-cli
   volumes:<br/>
+
   volumes:
     - ./data/certificados:/CAs/intermediate<br/>
+
     - ./data/certificados:/CAs/intermediate
     - ./data/root:/CAs/rootCA<br/>
+
     - ./data/root:/CAs/rootCA
  
 
</syntaxhighlight>
 
</syntaxhighlight>
Línea 84: Línea 86:
 
Clonamos el proyecto  
 
Clonamos el proyecto  
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
git clone https://hub.siu.edu.ar/siu-arai/arai-registry.git registry
+
git clone -b master https://hub.siu.edu.ar/siu-arai/arai-registry.git registry
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Utilizamos GitFlow, la última versión estable del proyecto es apuntada por el branch master y por cada versión que se saca se crea un tag.
 
Utilizamos GitFlow, la última versión estable del proyecto es apuntada por el branch master y por cada versión que se saca se crea un tag.
Línea 118: Línea 120:
 
###### CONFIG DE LOGS ######
 
###### CONFIG DE LOGS ######
 
ARAI_REGISTRY_LOG_HANDLER="errorlog"
 
ARAI_REGISTRY_LOG_HANDLER="errorlog"
ARAI_REGISTRY_LOG_LEVEL="DEBUG"
+
ARAI_REGISTRY_LOG_LEVEL="WARNING"
  
 
# config del instalador
 
# config del instalador
Línea 126: Línea 128:
 
Una vez editado, verificamos que la configuración sea correcta
 
Una vez editado, verificamos que la configuración sea correcta
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador proyecto:verificar
+
sudo ./bin/instalador proyecto:verificar
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 151: Línea 153:
 
Con todo esto, para verificar que todo funcione reiniciamos Apache y ejecutamos
 
Con todo esto, para verificar que todo funcione reiniciamos Apache y ejecutamos
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
curl --user registry:registry http://registry.local.siu/arai-registry/rest/packages/1
+
curl --user user:pass http://registry.local.siu/arai-registry/rest/packages/1
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Si la salida es:
 
Si la salida es:
<syntaxhighlight lang="json" enclose="div">
+
<syntaxhighlight lang="bash" enclose="div">
 
{
 
{
 
     "error": 404,
 
     "error": 404,
Línea 166: Línea 168:
 
Con registry instalado procedemos a instalar Usuarios
 
Con registry instalado procedemos a instalar Usuarios
  
===Arai-Usuarios===
+
==Arai-Usuarios==
  
 
Nos posicionamos en /usr/local/siu y clonamos el proyecto
 
Nos posicionamos en /usr/local/siu y clonamos el proyecto
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
cd /usr/local/siu
 
cd /usr/local/siu
git clone --branch v1.2.0 https://hub.siu.edu.ar/siu-arai/arai-usuarios.git usuarios
+
git clone -b master https://hub.siu.edu.ar/siu-arai/arai-usuarios.git usuarios
 
cd usuarios
 
cd usuarios
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Para instalar segumos la documentación del archivo '''doc/INSTALACION_MANUAL.md'''
+
Para instalar seguimos la documentación del archivo '''doc/INSTALACION_MANUAL.md'''
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
composer install --no-dev
 
composer install --no-dev
Línea 199: Línea 201:
 
###### CONFIG DE TOBA ######
 
###### CONFIG DE TOBA ######
 
TOBA_URL_BASE="https://usuarios.local.siu"
 
TOBA_URL_BASE="https://usuarios.local.siu"
TOBA_URL_PORT="443"
+
#TOBA_URL_PORT="443"
 
TOBA_USUARIO="admin"
 
TOBA_USUARIO="admin"
 
TOBA_PASSWORD="admin1234"
 
TOBA_PASSWORD="admin1234"
Línea 219: Línea 221:
 
PROYECTO_DB_PASSWORD="postgres"
 
PROYECTO_DB_PASSWORD="postgres"
 
PROYECTO_DB_SCHEMA="usuarios"
 
PROYECTO_DB_SCHEMA="usuarios"
 +
PROYECTO_DB_ENCODING="LATIN1"
  
 
###### CONFIG DE BASE DE DATOS DE TOBA. #####
 
###### CONFIG DE BASE DE DATOS DE TOBA. #####
Línea 289: Línea 292:
 
Una vez editado, verificamos que la configuración sea correcta
 
Una vez editado, verificamos que la configuración sea correcta
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador proyecto:verificar
+
./bin/instalador proyecto:verificar -n
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 299: Línea 302:
 
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
 
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador permisos:simple
+
sudo ./bin/instalador permisos:simple
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Cambiamos el modo mantenimiento
 
Cambiamos el modo mantenimiento
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento
+
./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento -n
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 315: Línea 318:
 
     Redirect permanent / https://usuarios.local.siu/
 
     Redirect permanent / https://usuarios.local.siu/
 
</VirtualHost>
 
</VirtualHost>
 
 
  
 
<VirtualHost *:443>
 
<VirtualHost *:443>
Línea 325: Línea 326:
 
SSLCertificateFile /certs/usuarios.local.siu.cert.pem
 
SSLCertificateFile /certs/usuarios.local.siu.cert.pem
 
SSLCertificateKeyFile /certs/usuarios.local.siu.key.pem
 
SSLCertificateKeyFile /certs/usuarios.local.siu.key.pem
 +
 +
SSLCACertificateFile /certs/ca-chain.cert.pem
 +
 +
SSLVerifyClient optional_no_ca
 +
SSLVerifyDepth 2
 +
SSLProtocol all -SSLv2 -SSLv3
 +
SSLOptions +StdEnvVars +ExportCertData
 +
BrowserMatch "MSIE [2-6]" \
 +
        nokeepalive ssl-unclean-shutdown \
 +
        downgrade-1.0 force-response-1.0
 +
        # MSIE 7 and newer should be able to use keepalive
 +
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 +
  
 
Include /usr/local/siu/usuarios/instalacion/toba.conf
 
Include /usr/local/siu/usuarios/instalacion/toba.conf
Línea 331: Línea 345:
  
 
</VirtualHost>
 
</VirtualHost>
 +
</syntaxhighlight>
 +
 +
Luego hay que hacer que nuestra CA autofirmada sea válida en el SO y así permitir que Apache verifique los certificados de clientes:
 +
<syntaxhighlight lang="apache" enclose="div">
 +
sudo cp /certs/ca.cert.pem /usr/share/ca-certificates/ca_propia.crt
 +
sudo vim /etc/ca-certificates.conf
 +
# agregar ca_propia.crt al final del archivo
 +
update-ca-certificates --fresh
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 345: Línea 367:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Arai-Huarpe===
+
== Arai-Huarpe ==
  
 
Es similar a las instalaciones anteriores.
 
Es similar a las instalaciones anteriores.
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
cd /usr/local/siu
 
cd /usr/local/siu
git clone --branch v1.1.0 https://hub.siu.edu.ar/siu-arai/huarpe-core.git huarpe
+
git clone -b master https://hub.siu.edu.ar/siu-arai/huarpe-core.git huarpe
 
cd huarpe
 
cd huarpe
 
</syntaxhighlight>
 
</syntaxhighlight>
Línea 384: Línea 406:
 
#HUARPE_PROXY=127.0.0.1
 
#HUARPE_PROXY=127.0.0.1
 
HUARPE_LOG_HANDLER="error_log"
 
HUARPE_LOG_HANDLER="error_log"
HUARPE_LOG_LEVEL="DEBUG"
+
HUARPE_LOG_LEVEL="WARNING"
 +
 
 +
###### CONFIG BRANDING ######
 +
#HUARPE_PATH_LOGO="/path/al/logo.png"
 +
HUARPE_NOMBRE_INSTITUCION="Institución"
  
 
###### CONFIG DE SIU-ARAI: REGISTRY ######
 
###### CONFIG DE SIU-ARAI: REGISTRY ######
Línea 398: Línea 424:
 
Si no sale ninguna alerta, procedemos a instalar.
 
Si no sale ninguna alerta, procedemos a instalar.
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador proyecto:instalar
+
sudo ./bin/instalador proyecto:instalar
 
</syntaxhighlight>
 
</syntaxhighlight>
 
En Synfony es necesario dumpear los estilos y los JS con el siguiente comando.
 
En Synfony es necesario dumpear los estilos y los JS con el siguiente comando.
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/console assetic:dump --no-debug
+
./bin/console assetic:dump --no-debug --env=prod
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
 
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
./bin/instalador permisos:simple
+
sudo ./bin/instalador permisos:simple
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Configuramos apache.
+
=== Configuración apache ===
Lo mismo que con registry u usuarios, como tengo toda la plataforma instalada en un mismo servidor, debo usar el '''ServerName huarpe.local.siu'''.
+
Lo mismo que con Registry o Usuarios, como tengo toda la plataforma instalada en un mismo servidor, debo usar el '''ServerName huarpe.local.siu'''.
 
En lugar de hacer un vinculo con alias.conf como dice la documentación, usé un include dentro del tag VirtualHost. Así me quedo el archivo /etc/apache/sites-enabled/huarpe.conf
 
En lugar de hacer un vinculo con alias.conf como dice la documentación, usé un include dentro del tag VirtualHost. Así me quedo el archivo /etc/apache/sites-enabled/huarpe.conf
  
Línea 430: Línea 456:
 
</VirtualHost>
 
</VirtualHost>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
Reiniciamos apache, antes de verificar la instalación, debemos sincronizar con Registry.
 
Reiniciamos apache, antes de verificar la instalación, debemos sincronizar con Registry.
Línea 440: Línea 465:
 
./bin/arai-cli registry:sync
 
./bin/arai-cli registry:sync
 
</syntaxhighlight>
 
</syntaxhighlight>
Si el archivo no tiene permisos de ejecución
+
 
 +
Hay que limpiar la cache y actualizar los permisos
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
chmod +x ./vendor/bin/arai-cli
+
./bin/console cache:clear --env=prod
 +
sudo ./bin/instalador permisos:simple
 +
</syntaxhighlight>
 +
 
 +
En Usuarios resincronizar para que se actualice con la nueva instalación
 +
<syntaxhighlight lang="bash" enclose="div">
 +
cd /usr/local/siu/usuarios
 +
./bin/arai-cli registry:sync
 
</syntaxhighlight>
 
</syntaxhighlight>
y repetir los dos pasos anteriores.
 
  
 
Para verificar que la instalación se realizo con éxito de debe ingresar en https://huarpe.local.siu/
 
Para verificar que la instalación se realizo con éxito de debe ingresar en https://huarpe.local.siu/
  
 
Si todo salio bien, tenemos instalada la plataforma ARAI lista para ser usada en nuestro servidor.
 
Si todo salio bien, tenemos instalada la plataforma ARAI lista para ser usada en nuestro servidor.

Revisión actual del 18:17 13 abr 2018

Siu-arai iso.png

Ejemplo paso a paso

Nota: esta guía esta realizada con la versión anterior a la 2.0.0 de la plataforma SIU-Araí.

Para este caso voy a usar una instalación de Debian Jessie

El objetivo es tener una instalación funcionando de la paltaforma SIU-Arai que luego sirva para integrar otros sistemas toba.

Lo primero que defino es en que URL va a vivir cada sistemas, en mi caso lo tengo funcionando dentro de una intranet y los DNS que quedaron así

URLs
Araí-Registry http://registry.local.siu
Araí-Usuarios https://usuarios.local.siu
Araí-Huarpe https://huarpe.local.siu

Creación de certificados

Hay que tener en cuenta que voy a usar conexión segura, por lo que tanto voy a necesitar certificados. Para crear los certificados uso el tutorial que se encuentra en http://documentacion.siu.edu.ar/wiki/SIU-Arai/certificados. Ese artículo asume

git clone https://hub.siu.edu.ar/siu/instaladores.git dockerCerts

Editamos el archivo docker-compose según nuestras necesidades.

cd dockerCerts/certs
nano docker-compose.yml

En mi caso quedo así:

 
certificados:
  image: siutoba/docker-certs
  container_name: docker-certs
  #env_file: docker.env
  environment:
    DOCKER_NAME: certs
    CA_PWD: pass
    CA_INT_PWD: pass
    LISTA_SERVER: huarpe.local.siu usuarios.local.siu
    LISTA_CLIENTES: usuarios-cli huarpe-cli
  volumes:
    - ./data/certificados:/CAs/intermediate
    - ./data/root:/CAs/rootCA

Guardamos y generamos el container.

docker-compose up

Una vez generado el container copiamos los certificados creados en la carpeta que nos sea mas cómodo, en mi caso /certs Sin cambiar de directorio hacemos:

sudo mkdir /certs
sudo find data -name "*.pem" -exec cp {} /certs \;

Luego generamos los certificados para el IDP:

mkdir /certs/idp
cd /certs/idp
openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificado_idp.crt -keyout certificado_idp.pem


Listo, con las URL definidas y los certificados creados se puede proceder a instalar la plataforma.

Instalación Arai-Registy

Creamos la carpeta /usr/local/siu y no posicionamos ahí Clonamos el proyecto

git clone -b master https://hub.siu.edu.ar/siu-arai/arai-registry.git registry

Utilizamos GitFlow, la última versión estable del proyecto es apuntada por el branch master y por cada versión que se saca se crea un tag.

Dentro del directorio del proyecto encontramos el archivo "doc/INSTALACION MANUAL.md", la idea es seguir las instrucciones que encontramos en este archivo.

cd registry
composer install --no-dev

Configuramos las variables de entorno que va a usar el instalador, los valores que puse son válidos para mi instalación, deberán modificarlos según las necesidades de cada universidad.

cp templates/arai-registry.env.dist arai-registry.env
nano arai-registry.env

arai-registry.env

# config de la aplicacion
ARAI_REGISTRY_ALIAS="/arai-registry"
ARAI_REGISTRY_USER="user"
ARAI_REGISTRY_PASS="pass"

# config de la base de datos
ARAI_REGISTRY_DB_HOST="172.27.31.114"
ARAI_REGISTRY_DB_PORT="7432"
ARAI_REGISTRY_DB_DBNAME="siu_registry"
ARAI_REGISTRY_DB_USERNAME="postgres"
ARAI_REGISTRY_DB_PASSWORD="postgres"
ARAI_REGISTRY_DB_SCHEMA="registry"
ARAI_REGISTRY_DB_ENCODING="UTF8"

###### CONFIG DE LOGS ######
ARAI_REGISTRY_LOG_HANDLER="errorlog"
ARAI_REGISTRY_LOG_LEVEL="WARNING"

# config del instalador
INSTALADOR_TIMEOUT="360"

Una vez editado, verificamos que la configuración sea correcta

sudo ./bin/instalador proyecto:verificar

Si no sale ninguna alerta, procedemos a instalar.

./bin/instalador proyecto:instalar

Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando

sudo ./bin/instalador permisos:simple

Luego configuramos apache. En mi caso, como tengo toda la plataforma instalada en un mismo servidor, debo usar el ServerName "registry.local.siu" En lugar de hacer un vinculo con alias.conf como dice la documentación, use un include dentro del tag VirtualHost. Así me quedo el archivo /etc/apache/sites-enabled/registry.conf

<VirtualHost *:80>
ServerName registry.local.siu
Include /usr/local/siu/registry/config/alias.conf
</VirtualHost>

Con todo esto, para verificar que todo funcione reiniciamos Apache y ejecutamos

curl --user user:pass http://registry.local.siu/arai-registry/rest/packages/1

Si la salida es:

{
    "error": 404,
    "mensaje": "404 Not Found",
    "descripcion": "El paquete solicitado no existe"
}

es que la instalación funcionó correctamente.

Con registry instalado procedemos a instalar Usuarios

Arai-Usuarios

Nos posicionamos en /usr/local/siu y clonamos el proyecto

cd /usr/local/siu
git clone -b master https://hub.siu.edu.ar/siu-arai/arai-usuarios.git usuarios
cd usuarios

Para instalar seguimos la documentación del archivo doc/INSTALACION_MANUAL.md

composer install --no-dev

Configuramos las variables de entorno que va a usar el instalador, los valores que puse son válidos para mi instalación, deberán modificarlos según las necesidades de cada universidad. Para la configuración de LDAP uso un servidor que ya está funcionando y configurado. El detalle de como configurar el servidor LDAP no pertenece a esta documentación. La variable TOBA_USUARIO debe contener el mismo usuarios administrado del LDAP.

cp templates/arai-usuarios.env.dist arai-usuarios.env
nano arai-usuarios.env

arai-usuarios.env.dist

###### CONFIG DEL INSTALADR ######
#INSTALADOR_TIMEOUT="360"
ENTORNO_PRODUCCION="1"

###### VARIABLES GLOBALES DEL ARCHIVO ######
ARAI_USUARIOS_DIR=/usr/local/siu/usuarios

###### CONFIG DE TOBA ######
TOBA_URL_BASE="https://usuarios.local.siu"
#TOBA_URL_PORT="443"
TOBA_USUARIO="admin"
TOBA_PASSWORD="admin1234"
TOBA_INSTALACION_DIR="${ARAI_USUARIOS_DIR}/instalacion"
TOBA_PROYECTO_DIR="${ARAI_USUARIOS_DIR}/gestion"
TOBA_INSTALAR_USUARIOS=false
TOBA_INSTALAR_EDITOR=false
TOBA_INSTALAR_REFERENCIA=false
TOBA_ALIAS_PROYECTO="/gestion"
TOBA_ALIAS_NUCLEO="/toba_gestion"
#TOBA_ID_DESARROLLADOR=0
#TOBA_SESSION_NAME="ARAI_SESSID"

###### CONFIG DE BASE DE DATOS DE NEGOCIO ######
PROYECTO_DB_HOST="172.27.31.114"
PROYECTO_DB_PORT="7432"
PROYECTO_DB_DBNAME="siu_usuarios"
PROYECTO_DB_USERNAME="postgres"
PROYECTO_DB_PASSWORD="postgres"
PROYECTO_DB_SCHEMA="usuarios"
PROYECTO_DB_ENCODING="LATIN1"

###### CONFIG DE BASE DE DATOS DE TOBA. #####
######## DEFINIR SI SE QUIERE UTILIZAR UNA BASE DISTINTA A LA DE NEGOCIO
#TOBA_DB_HOST="localhost"
#TOBA_DB_PORT="5432"
#TOBA_DB_DBNAME="instalador"
#TOBA_DB_USERNAME="postgres"
#TOBA_DB_PASSWORD="postgres"
#TOBA_DB_SCHEMA="public"

##### CONFIG IDM #####
ARAI_USUARIOS_URL_IDP=https://usuarios.local.siu/idp
## Deberá setearse si el sistema corre detrás de un proxy reverso
#ARAI_USUARIOS_PROXY_URL_IDP=http://url.arai-usuarios:80/idp
ARAI_USUARIOS_URL_PORTAL=https://huarpe.local.siu/portal
ARAI_USUARIOS_URL_PERFIL=https://huarpe.local.siu/perfil
ARAI_USUARIOS_URL_INSTITUCION=http://siu.edu.ar

ARAI_USUARIOS_SIGLA_INSTITUCION=SIGLA
ARAI_USUARIOS_EMAIL_SOPORTE=mail.soporte@institucion.edu.ar

##### CONFIG SEGURIDAD ####
SEGURIDAD_ALGORITMO_PASS=crypt
SEGURIDAD_LARGO_PASS=8
SEGURIDAD_INFO_PASS='El password debe tener al menos 8 caracteres, entre letras mayúsculas, minúsculas, números y símbolos, no pudiendo repetir caracteres adyacentes'
SEGURIDAD_DURACION_DIAS_PASS=120
SEGURIDAD_RECAPTCHA_SITIO=6Fd_pQwTAAAAAOEqJz6KJmkjsrXcdXrAjWQYggZf
SEGURIDAD_RECAPTCHA_CLAVE=6Fd_pQwTAAAAAOEqJz6KJmkjsrXcdXrAjWQYggZf
SEGURIDAD_INTENTOS_RECAPTCHA=3

##### CONFIG IDP #####
ARAI_USUARIOS_IDP_KEY_FILE=/certs/idp/certificado_idp.pem
ARAI_USUARIOS_IDP_CERT_FILE=/certs/idp/certificado_idp.crt
#ARAI_USUARIOS_IDP_LOG_LEVEL='WARNING'
#ARAI_USUARIOS_IDP_LOG_HANDLER='errorlog'

##### CONFIG MAIL RECOVERY ####
MAIL_RECOVERY_SUBJECT='Recuperar contraseña SIU-Arai'
MAIL_RECOVERY_FROM='noreply@institucion.edu.ar'
MAIL_RECOVERY_REPLYTO='noreply@institucion.edu.ar'
MAIL_RECOVERY_FROMNAME='Institución'

##### CONFIG LDAP #####
ARAI_USUARIOS_LDAP_HOST=172.27.31.114
ARAI_USUARIOS_LDAP_PORT=7389
ARAI_USUARIOS_LDAP_TLS=0
ARAI_USUARIOS_LDAP_METHOD=user
ARAI_USUARIOS_LDAP_BINDUSER="cn=admin,dc=siu,dc=cin,dc=edu"
ARAI_USUARIOS_LDAP_BINDPASS=admin
ARAI_USUARIOS_LDAP_SEARCHBASE="dc=siu,dc=cin,dc=edu"

##### CONFIG ARAI-REGISTRY #####
ARAI_REGISTRY_URL=http://registry.local.siu/arai-registry
ARAI_REGISTRY_USER=user
ARAI_REGISTRY_PASS=pass

###### CONFIG ENVIO MAILS (SMTP) ######
SMTP_ENTRADA="arai-usuarios"
SMTP_HELO="mail.unx.edu.ar"
SMTP_HOST="smtp.googlemail.com"
SMTP_PORT=587
SMTP_FROM ="yo@midominio.com"
SMTP_SEGURIDAD ="ssl|tls"
SMTP_AUTH ="1"
SMTP_USUARIO ="usuario"
SMTP_CLAVE ="pass"

Una vez editado, verificamos que la configuración sea correcta

./bin/instalador proyecto:verificar -n


Si no sale ninguna alerta, procedemos a instalar.

./bin/instalador proyecto:instalar

Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando

sudo ./bin/instalador permisos:simple

Cambiamos el modo mantenimiento

./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento -n

Luego configuramos Apache. Lo mismo que con registry, como tengo toda la plataforma instalada en un mismo servidor, debo usar el ServerName "usuarios.local.siu" En lugar de hacer un vinculo con alias.conf como dice la documentación, use un include dentro del tag VirtualHost. Así me quedo el archivo /etc/apache/sites-enabled/usuarios.conf

<VirtualHost *:80>
    ServerName usuarios.local.siu
    Redirect permanent / https://usuarios.local.siu/
</VirtualHost>

<VirtualHost *:443>

ServerName usuarios.local.siu

SSLEngine on
SSLCertificateFile /certs/usuarios.local.siu.cert.pem
SSLCertificateKeyFile /certs/usuarios.local.siu.key.pem

SSLCACertificateFile /certs/ca-chain.cert.pem

SSLVerifyClient optional_no_ca
SSLVerifyDepth 2
SSLProtocol all -SSLv2 -SSLv3
SSLOptions +StdEnvVars +ExportCertData
BrowserMatch "MSIE [2-6]" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown


Include /usr/local/siu/usuarios/instalacion/toba.conf

Include /usr/local/siu/usuarios/instalacion/idp.conf

</VirtualHost>

Luego hay que hacer que nuestra CA autofirmada sea válida en el SO y así permitir que Apache verifique los certificados de clientes:

sudo cp /certs/ca.cert.pem /usr/share/ca-certificates/ca_propia.crt
sudo vim /etc/ca-certificates.conf
# agregar ca_propia.crt al final del archivo
update-ca-certificates --fresh

Reiniciamos Apache y todo debería funcionar, para verificar entramos en la URL definida para usuarios, en mi caso https://usuarios.local.siu/gestion

Con todo esto funcionando el siguiente paso es agregar Usuarios a Registry y sincronizarlos. Según esta instalación para agregar Usuarios al entorno hacemos

./bin/arai-cli registry:add --maintainer-email  jpiazza@siu.edu.ar --maintainer jpiazza http://registry.local.siu/arai-registry

y para sincronizarlo

./bin/arai-cli registry:sync

Arai-Huarpe

Es similar a las instalaciones anteriores.

cd /usr/local/siu
git clone -b master https://hub.siu.edu.ar/siu-arai/huarpe-core.git huarpe
cd huarpe

Para instalar seguimos la documentación del archivo doc/INSTALACION_MANUAL.md

composer install --no-dev

Configuramos las variables de entorno que va a usar el instalador, los valores que puse son válidos para mi instalación, deberán modificarlos según las necesidades de cada universidad.

cp templates/huarpe.env.dist huarpe.env
nano huarpe.env

huarpe.env

###### CONFIG DEL INSTALADR ######
#INSTALADOR_TIMEOUT="360"
ENTORNO_PRODUCCION=1

###### CONFIG DE SIU-HUARPE ######
HUARPE_PATH=/usr/local/siu/huarpe
HUARPE_URL=https://huarpe.local.siu
HUARPE_URL_PORT=443
HUARPE_SESSION_NAME=huarpe
HUARPE_SESSION_HANDLER="native_file"
#HUARPE_MEMCACHED_HOST=127.0.0.1
#HUARPE_MEMCACHED_PORT=11211
HUARPE_CERT_FILE=/certs/huarpe-cli.cert.pem
HUARPE_KEY_FILE=/certs/huarpe-cli.key.pem
#HUARPE_TOKEN=unt0k3n-al3at0r1o-s39ur0?
#HUARPE_PROXY=127.0.0.1
HUARPE_LOG_HANDLER="error_log"
HUARPE_LOG_LEVEL="WARNING"

###### CONFIG BRANDING ######
#HUARPE_PATH_LOGO="/path/al/logo.png"
HUARPE_NOMBRE_INSTITUCION="Institución"

###### CONFIG DE SIU-ARAI: REGISTRY ######
ARAI_REGISTRY_URL=http://registry.local.siu/arai-registry
ARAI_REGISTRY_USER=user
ARAI_REGISTRY_PASS=pass

Una vez editado, verificamos que la configuración sea correcta

./bin/instalador proyecto:verificar

Si no sale ninguna alerta, procedemos a instalar.

sudo ./bin/instalador proyecto:instalar

En Synfony es necesario dumpear los estilos y los JS con el siguiente comando.

./bin/console assetic:dump --no-debug --env=prod

Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando

sudo ./bin/instalador permisos:simple

Configuración apache

Lo mismo que con Registry o Usuarios, como tengo toda la plataforma instalada en un mismo servidor, debo usar el ServerName huarpe.local.siu. En lugar de hacer un vinculo con alias.conf como dice la documentación, usé un include dentro del tag VirtualHost. Así me quedo el archivo /etc/apache/sites-enabled/huarpe.conf

<VirtualHost *:80>
        ServerName huarpe.local.siu
        Redirect permanent / https://huarpe.local.siu:443/
</VirtualHost>

<VirtualHost *:443>

ServerName huarpe.local.siu
SSLEngine on
SSLCertificateFile /certs/huarpe.local.siu.cert.pem
SSLCertificateKeyFile /certs/huarpe.local.siu.key.pem

Include /usr/local/siu/huarpe/app/config/alias.conf

</VirtualHost>

Reiniciamos apache, antes de verificar la instalación, debemos sincronizar con Registry.

./bin/arai-cli registry:add --maintainer-email  jpiazza@siu.edu.ar --maintainer jpiazza http://registry.local.siu/arai-registry

Luego sincronizar

./bin/arai-cli registry:sync

Hay que limpiar la cache y actualizar los permisos

./bin/console cache:clear --env=prod
sudo ./bin/instalador permisos:simple

En Usuarios resincronizar para que se actualice con la nueva instalación

cd /usr/local/siu/usuarios
./bin/arai-cli registry:sync

Para verificar que la instalación se realizo con éxito de debe ingresar en https://huarpe.local.siu/

Si todo salio bien, tenemos instalada la plataforma ARAI lista para ser usada en nuestro servidor.