Diferencia entre revisiones de «SIU-Arai/ejemploPasoAPaso»
(→Arai-Registy.) |
m (comentario version anterior) |
||
(No se muestran 24 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
− | == Ejemplo paso a paso = | + | [[Archivo:siu-arai_iso.png|derecha|link=SIU-Arai]] |
+ | |||
+ | = 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 | ||
− | | | + | |http://registry.local.siu |
|- | |- | ||
|Araí-Usuarios | |Araí-Usuarios | ||
− | |https:// | + | |https://usuarios.local.siu |
|- | |- | ||
|Araí-Huarpe | |Araí-Huarpe | ||
− | |https://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. | 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 | + | Para crear los certificados uso el tutorial que se encuentra en http://documentacion.siu.edu.ar/wiki/SIU-Arai/certificados. |
− | + | Ese artículo asume | |
+ | * 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). | ||
<syntaxhighlight lang="bash" enclose="div"> | <syntaxhighlight lang="bash" enclose="div"> | ||
− | + | git clone https://hub.siu.edu.ar/siu/instaladores.git dockerCerts | |
− | git clone https:// | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Línea 41: | Línea 46: | ||
certificados: | certificados: | ||
image: siutoba/docker-certs | image: siutoba/docker-certs | ||
− | container_name: docker-certs | + | container_name: docker-certs |
− | #env_file: docker.env | + | #env_file: docker.env |
− | environment: | + | environment: |
− | DOCKER_NAME: certs | + | DOCKER_NAME: certs |
− | CA_PWD: pass | + | CA_PWD: pass |
− | CA_INT_PWD: pass | + | CA_INT_PWD: pass |
− | LISTA_SERVER: huarpe.local.siu usuarios.local.siu | + | LISTA_SERVER: huarpe.local.siu usuarios.local.siu |
− | LISTA_CLIENTES: usuarios-cli huarpe-cli | + | LISTA_CLIENTES: usuarios-cli huarpe-cli |
− | volumes: | + | volumes: |
− | - ./data/certificados:/CAs/intermediate | + | - ./data/certificados:/CAs/intermediate |
− | - ./data/root:/CAs/rootCA | + | - ./data/root:/CAs/rootCA |
</syntaxhighlight> | </syntaxhighlight> | ||
Línea 77: | Línea 82: | ||
Listo, con las URL definidas y los certificados creados se puede proceder a instalar la plataforma. | Listo, con las URL definidas y los certificados creados se puede proceder a instalar la plataforma. | ||
− | == | + | == Instalación Arai-Registy == |
− | Creamos la carpeta / | + | Creamos la carpeta '''/usr/local/siu''' y no posicionamos ahí |
− | Clonamos el proyecto | + | Clonamos el proyecto |
<syntaxhighlight lang="bash" enclose="div"> | <syntaxhighlight lang="bash" enclose="div"> | ||
− | git clone - | + | 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. | ||
Dentro del directorio del proyecto encontramos el archivo "doc/INSTALACION MANUAL.md", la idea es seguir las instrucciones que encontramos en este archivo. | Dentro del directorio del proyecto encontramos el archivo "doc/INSTALACION MANUAL.md", la idea es seguir las instrucciones que encontramos en este archivo. | ||
Línea 114: | Línea 120: | ||
###### CONFIG DE LOGS ###### | ###### CONFIG DE LOGS ###### | ||
ARAI_REGISTRY_LOG_HANDLER="errorlog" | ARAI_REGISTRY_LOG_HANDLER="errorlog" | ||
− | ARAI_REGISTRY_LOG_LEVEL=" | + | ARAI_REGISTRY_LOG_LEVEL="WARNING" |
# config del instalador | # config del instalador | ||
Línea 122: | 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 131: | Línea 137: | ||
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> | ||
Línea 145: | Línea 151: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Con todo esto, para verificar que todo funcione reiniciamos Apache y | + | Con todo esto, para verificar que todo funcione reiniciamos Apache y ejecutamos |
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | curl --user user:pass http://registry.local.siu/arai-registry/rest/packages/1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Si la salida es: | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | { | ||
+ | "error": 404, | ||
+ | "mensaje": "404 Not Found", | ||
+ | "descripcion": "El paquete solicitado no existe" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | 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 | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | cd /usr/local/siu | ||
+ | git clone -b master https://hub.siu.edu.ar/siu-arai/arai-usuarios.git usuarios | ||
+ | cd usuarios | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Para instalar seguimos la documentación del archivo '''doc/INSTALACION_MANUAL.md''' | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | composer install --no-dev | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | cp templates/arai-usuarios.env.dist arai-usuarios.env | ||
+ | nano arai-usuarios.env | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''arai-usuarios.env.dist''' | ||
+ | <syntaxhighlight lang="apache" enclose="div"> | ||
+ | ###### 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" | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Una vez editado, verificamos que la configuración sea correcta | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/instalador proyecto:verificar -n | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Si no sale ninguna alerta, procedemos a instalar. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/instalador proyecto:instalar | ||
+ | </syntaxhighlight> | ||
+ | Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | sudo ./bin/instalador permisos:simple | ||
+ | </syntaxhighlight> | ||
+ | Cambiamos el modo mantenimiento | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento -n | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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''' | ||
+ | |||
+ | <syntaxhighlight lang="apache" enclose="div"> | ||
+ | <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> | ||
+ | </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> | ||
+ | |||
+ | 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 | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/arai-cli registry:add --maintainer-email jpiazza@siu.edu.ar --maintainer jpiazza http://registry.local.siu/arai-registry | ||
+ | </syntaxhighlight> | ||
+ | y para sincronizarlo | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/arai-cli registry:sync | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Arai-Huarpe == | ||
+ | |||
+ | Es similar a las instalaciones anteriores. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | cd /usr/local/siu | ||
+ | git clone -b master https://hub.siu.edu.ar/siu-arai/huarpe-core.git huarpe | ||
+ | cd huarpe | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Para instalar seguimos la documentación del archivo '''doc/INSTALACION_MANUAL.md''' | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | composer install --no-dev | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | cp templates/huarpe.env.dist huarpe.env | ||
+ | nano huarpe.env | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''huarpe.env''' | ||
+ | <syntaxhighlight lang="apache" enclose="div"> | ||
+ | ###### 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Una vez editado, verificamos que la configuración sea correcta | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/instalador proyecto:verificar | ||
+ | </syntaxhighlight> | ||
+ | Si no sale ninguna alerta, procedemos a instalar. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | sudo ./bin/instalador proyecto:instalar | ||
+ | </syntaxhighlight> | ||
+ | En Synfony es necesario dumpear los estilos y los JS con el siguiente comando. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/console assetic:dump --no-debug --env=prod | ||
+ | </syntaxhighlight> | ||
+ | Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | sudo ./bin/instalador permisos:simple | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | <syntaxhighlight lang="apache" enclose="div"> | ||
+ | <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> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Reiniciamos apache, antes de verificar la instalación, debemos sincronizar con Registry. | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/arai-cli registry:add --maintainer-email jpiazza@siu.edu.ar --maintainer jpiazza http://registry.local.siu/arai-registry | ||
+ | </syntaxhighlight> | ||
+ | Luego sincronizar | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./bin/arai-cli registry:sync | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Hay que limpiar la cache y actualizar los permisos | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
+ | ./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> | ||
+ | |||
+ | 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. |
Revisión actual del 18:17 13 abr 2018
Sumario
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
- 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).
Editamos el archivo docker-compose según nuestras necesidades.
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.
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 find data -name "*.pem" -exec cp {} /certs \;
Luego generamos los certificados para el 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
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.
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.
nano arai-registry.env
arai-registry.env
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
Si no sale ninguna alerta, procedemos a instalar.
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
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
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
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
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
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.
nano arai-usuarios.env
arai-usuarios.env.dist
#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
Si no sale ninguna alerta, procedemos a instalar.
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
Cambiamos el modo mantenimiento
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
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 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
y para sincronizarlo
Arai-Huarpe
Es similar a las instalaciones anteriores.
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
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.
nano huarpe.env
huarpe.env
#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
Si no sale ninguna alerta, procedemos a instalar.
En Synfony es necesario dumpear los estilos y los JS con el siguiente comando.
Una vez instalado, modificamos los permisos de los archivos de la instalación con el comando
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
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.
Luego sincronizar
Hay que limpiar la cache y actualizar los permisos
sudo ./bin/instalador permisos:simple
En Usuarios resincronizar para que se actualice con la nueva instalación
./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.