Instructivo para poner en producción Guarani 3W en las facultades
Respetar el siguiente orden para poner en producción:
1. Descarga del sitio
Hacer un svn checkout en el servidor web desde la dirección http://svncdc.unsa.edu.ar/svn/siu_guarani/unsa/3w/versiones/2.x.x.x
2. Permisos en el sitio
IMPORTANTE: Todo el sitio debe tener como dueño al usuario www-data con sus correspondientes permisos.
Darle permisos a las siguientes carpetas para que el usuario Apache puede escribir:
- instalacion/log
- instalacion/cache
- instalacion/temp
- instalacion/operaciones_inactivas
- src/siu/www/js/escalas/
3. Editar archivos de configuración
Armar los archivos de configuración a partir de los templates. Dentro de la carpeta instalación:
Compararlos con los archivos de configuración de la versión anterior instalada, e ir editando los de la nueva versión
/home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion$ cp alias_template.conf alias.conf /home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion$ cp config_template.php config.php /home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion$ cp login_template.php login.php /home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion$ cp servicios_web_config_template.php servicios_web_config.php
4. Editar los archivos para backup de logs y envio de emails
- Editar los siguientes archivos, con referencia al nuevo directorio donde esta la aplicación
/home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/bin/backup.sh /home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/bin/enviar_mails.sh /home/<USUARIO>/proyectos/guarani2/3w/versiones/2.9.x.0/bin/importar_fotos.sh
- Editar la tarea de www-data, crontab -e, con referencia al nuevo directorio en las tareas.
#Backup de logs de g3w 0 3 * * * /var/www/guarani3w/2.9.x.0/bin/./backup.sh #Envio de mails 0 12 * * * /var/www/guarani3w/2.9.x.0/bin/enviar_mails.sh 0 23 * * * /var/www/guarani3w/2.9.x.0/bin/enviar_mails.sh #Sincronizar/Importar fotos 0 1 * * * /var/www/guarani3w/2.9.x.0/bin/importar_fotos.sh
5. Configurar el servidor web
Incluir el archivo instalacion/alias.conf en la configuración del servidor web:
ln -s /usr/local/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion/alias.conf /etc/apache2/sites-enabled/g3w2_29x.conf (cambiar el nombre del archivo, antes hacer unlink del archivo de la versión anterior)
Si es necesario quitar el link de la versión anterior ejecutar:
unlink /etc/apache2/sites-enabled/g3w2_anterior.conf
Reiniciar apache
6. Generar Escalas
Loguearse con el usuario wwww-data. En el directorio raíz del proyecto, entrar a /bin y ejecutar:
./guarani generar_escalas_js [bloque_acceso del config.php]
Con este comando se crea el archivo cond_res.js en \src\siu\www\js\escalas\carpeta con nombre de la unidad academica
7. Compilar recursos
- Compilar recursos javascript y css
guarani compilar_recursos
Este comando reune todos los recursos js y css del proyecto, los minimiza y los ubica en la carpeta /usr/local/proyectos/guarani2/3w/versiones/2.8.3/src/siu/www/_comp. Con este comando se CREA la carpeta _comp. Si se desea servir los recursos desde otro lugar hay que pasarle la ruta como el segundo parametro al comando. Después hay que modificar config.php para indicar la url de los recursos.
- Chequear que apache pueda escribir en las carpetas
/usr/local/proyectos/guarani2/3w/versiones/2.9.x.0/instalacion/temp : En este directorio se guarda la cache de los templates twig del sistema.Al compilar recursos la carpeta esta vacia, se generan los templates con el acceso y uso del sistema. /usr/local/proyectos/guarani2/3w/versiones/2.9.x.0/src/siu/www/_comp
- Cambiar permisos a la carpeta que contiene las escalas de notas. Esta carpeta se crea luego de compilar recursos
El archivo 'cond_res.js de la carpeta \src\siu\www\js\escalas\carpeta con nombre de la unidad academica (creada en el punto anterior) se copia a src\siu\www\_comp\siu\js\escalas\carpeta con nombre de la unidad academica junto con los recursos ya compilados.
La carpeta se encuentra en:
path proyecto/src/siu/www/_comp/siu/js/escalas/carpeta con nombre de la unidad academica
A fin de evitar consultas a la base y mejorar la performance, con el comando generar_escalas_js se bajan las escalas de notas a un archivo js y se usa en la validación del ingreso de notas en las actas desde el 3w (docente). este archivo debe compilarse para poder usarse en modo producción (así como todos los js). Por este motivo se debe respetar ese orden:
1) generar_escalas_js
2) compilar_recursos
- Activar el modo producción en config.php.
produccion: true
8. Importar fotos
- Editar en config.php la entrada 'imagen_alumno_dir' => '/var/www/guarani3w/trunk/2.9.x.0/src/siu/www/_comp/_img_alumnos', se debe indicar el path de la aplicación
- Editar en config.php la entrada 'imagen_alumno_url' => 'http://170.210.203.67/ecodes93/_comp/_img_alumnos', se debe indicar la ip del servidor web y el alias que se usa en producción, consultar alias.conf.
- Correr el siguiente comando en pathG3w/bin ./guarani importar_fotos [bloque_acceso], finalizado el proceso verificar si se creo la carpeta _img_alumnos en src/siu/www/_comp, darle permiso de escritura y lectua a www-data.
9. Migrar claves al nuevo esquema de encriptación Si no se migró las claves en versiones anterior (2.8.2 o 2.8.3) se debe hacer.
Una vez finalizada la configuración se deben migrar las claves al nuevo esquema de encriptación:
Ejecutar:
/var/www/unsa/3w/trunk/2.9.x.0/bin$ ./guarani migrar_claves des01
Donde des01 es el ID del bloque de acceso para migrar las claves
IMPORTANTE: Para poder migrar las claves sin que se corte el proceso, se debe aumentar el tamaño de memoria de la máquina virtual que aloja el sitio.
10. Revisar los siguientes tickets que modifican algunos archivos originales del SIU
Ticket #2982 Implementacion BDT - Validacion de egresado
11. Otros
En algunos casos antes de ejecutar algún comando del Guaraní es necesario ejecutar:
export INFORMIXDIR=/opt/informix