Infraestructura del servidor la cátedra¶
Información de la infraestructura del servidor de la asignatura Proyecto de Software 2021.
Infraestructura¶
Versiones a utilizar¶
- Lenguaje: Python 3.8.10.
- Servidor Web: Apache 2.4.41.
- Servidor de Base de Datos: MariaDB 10.3.31.
Código interpretado¶
- Backend Flask: https://admin-grupoXX.proyecto2021.linti.unlp.edu.ar/
- Frontend Vue: https://grupoXX.proyecto2021.linti.unlp.edu.ar/
Logs de Apache¶
- Errores: https://grupoXX.proyecto2021.linti.unlp.edu.ar/logs/apache_error_log
- Accesos: https://grupoXX.proyecto2021.linti.unlp.edu.ar/logs/apache_access_log
Detalles de la infraestructura¶
-
En sus máquinas de desarrollo:
- Par de claves SSH.
- Repositorio Git Clonado.
- Venv con dependencias instaladas.
- Uso de ambiente de development (FLASK_ENV=development).
-
En Gitlab:
- Repositorio Central de Git.
- Hook que se dispara ante cada push al Servidor Web Apache.
-
En el Servidor Web Apache:
- Servidor de MariaDB local (la BD sólo se accede mediante localhost).
- Uso de ambiente de producción (FLASK_ENV=production).
- Virtualenv: Cada grupo tiene su ambiente virtual propio. Se instala lo que posea el requirements.txt de la raiz de su repositorio.
- Aplicación: cada virtualhost mediante mod_wsgi , activando en venv correspondiente ejecuta la aplicación que se encuentre en la raíz de su repositorio.
-
Sincronización ante un push:
- Se actualiza el código al último commit de la rama master.
- Se instala en el virtualenv lo que se encuentre en requirements.txt.
- Se hace un reload de la aplicación.
-
Carpetas con permiso de escritura en el servidor:
- Tenemos 2 carpetas a las cuales se le da permisos de escritura (deben estar creadas).
- /uploads
- /app/static/uploads.
- Tenemos 2 carpetas a las cuales se le da permisos de escritura (deben estar creadas).