actualizado despliegue

parent fca24d3a
Showing with 4 additions and 99 deletions
# Servidor de Pictogram e instalación del cliente web
## Instalación del servidor y el cliente web
- El servidor funciona sobre Sails.js
- El cliente web es una aplicación que usa AngularJS
Las distintas configuraciones aplicadas a la instalación pueden leerse en los `roles`
de [ansible][9] creados para ello, pero **no es necesario ejecutarlas a mano**, las opciones
mostradas más adelante hacen todo el trabajo.
Las instrucciones de instalación de se encuentran en el fichero [INSTALL.md][1]
- [Instalación de NodeJS][4]
- [Instalación de MYSQL][5]
- [Importación de la base de datos][6]
- [Dependencias del cliente web][7]
- [Dependencias y ejecución del servidor][8]
### Opción A (producción): ejecución en la máquina local
1. Descargar upload.zip y symbolstx.zip desde el servidor de Yottacode:
```
scp ec2-user@dev.yottacode.com:~/upload.tgz .
scp ec2-user@dev.yottacode.com:~/symbolstx.tgz .
tar zxvf upload.tgz
tar zxvf symbolstx.tgz
ln -s symbolstx_96x82 symbolstx
rm upload.tgz
rm symbolstx.tgz
```
2. Cambiar la contraseña de root de mysql a root: `mysqladmin -u root password root`. Este paso
es necesario para la creación de la base de datos `pictodb` y el usuario `pictodbuser`.
3. Ejecutar [./install.sh][3].
4. Restaurar la contraseña de root de mysql: `mysqladmin -u root password [OLD_PASSWORD]`
5. Ejecutar [./bootstrap.sh][19] para lanzar el servidor.
6. Configurar los ficheros `/sails/src/config/local.js` y `/sails/src/assets/scripts/config.js`
generados si fuera necesario (estos ficheros no se encuentran en el repositorio, son generados
por ansible a partir de una plantilla).
7. Generar los [certificados ssl][21] si fuera necesario.
### Opción B (desarrollo): ejecución en una máquina virtual generada automáticamente
1. Descargar upload.zip y symbolstx.zip desde el servidor de Yottacode:
```
scp ec2-user@dev.yottacode.com:~/upload.tgz .
scp ec2-user@dev.yottacode.com:~/symbolstx.tgz .
tar zxvf upload.tgz
tar zxvf symbolstx.tgz
ln -s symbolstx_96x82 symbolstx
rm upload.tgz
rm symbolstx.tgz
```
2. Instalar [virtualbox][1] y [vagrant][2] (version >1.5 para este último).
3. Ejecutar `vagrant up` desde este directorio.
4. Configurar los ficheros `/sails/src/config/local.js` y `/sails/src/assets/scripts/config.js`
generados si fuera necesario (estos ficheros no se encuentran en el repositorio, son generados
por ansible a partir de una plantilla).
5. Generar los [certificados ssl][21] si fuera necesario.
> **Importante**: el script utilizado creará un entorno para el servidor desde cero, por lo que
> **pueden perderse los datos** almacenados por usuarios.
## Ejecución
Una vez lanzado sails con el servidor comienza con la compilación de la aplicación web mediante
tareas de Grunt, para esta configuración existe, por un lado, un fichero [Gruntfile.js][11] que
se encarga de cargar las tareas establecidas y ejecutar la especificada (`default` si no se
especifica nada). Por otro lado están las tareas establecidas dentro del directorio [tasks][12],
que a su vez se divide en [config][13] y [register][14]. La primera de ellas contiene parámetros
de configuración, la segunda la propia ejecución de las tareas.
**Este proceso se realiza automáticamente, sólo hay que lanzar el el servidor con uno de los
siguientes comandos**:
- `sails lift`: tarea [default][15]
- `sails lift --prod`: tarea [prod][16]
- `sails www`: tarea [build][17]
- `sails www --prod`: tarea [buildProd][18]
> La opción `--prod` indica que sails se ejecutará en modo producción
>
> El servidor se ejecutará en [localhost:1337/app](http://localhost:1337/app)
[1]: https://www.virtualbox.org/
[2]: https://www.vagrantup.com/
[3]: /softuno/pictogram/blob/develop/sails/install.sh
[4]: /softuno/pictogram/blob/develop/sails/roles/nodejs/README.md
[5]: /softuno/pictogram/blob/develop/sails/roles/mysql/README.md
[6]: /softuno/pictogram/blob/develop/sails/roles/database/README.md
[7]: /softuno/pictogram/blob/develop/sails/roles/webapp/README.md
[8]: /softuno/pictogram/blob/develop/sails/roles/server/README.md
[9]: https://www.ansible.com/
[10]: /softuno/pictogram/blob/develop/sails/src/README.md
[11]: /softuno/pictogram/blob/develop/sails/src/Gruntfile.js
[12]: /softuno/pictogram/tree/develop/sails/src/tasks
[13]: /softuno/pictogram/tree/develop/sails/src/tasks/config
[14]: /softuno/pictogram/tree/develop/sails/src/tasks/register
[15]: /softuno/pictogram/blob/develop/sails/src/tasks/register/default.js
[16]: /softuno/pictogram/blob/develop/sails/src/tasks/register/prod.js
[17]: /softuno/pictogram/blob/develop/sails/src/tasks/register/build.js
[18]: /softuno/pictogram/blob/develop/sails/src/tasks/register/buildProd.js
[19]: /softuno/pictogram/blob/develop/sails/bootstrap.sh
[20]: https://localhost:1337/app
[21]: /softuno/pictogram/tree/develop/sails/src/config/ssl
\ No newline at end of file
[1]: /softuno/pictogram/blob/develop/sails/install.md
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment