INSTALL.md 5.49 KB
Newer Older
1
___
2
# INSTALACIÓN
3
4
___

5
## Prerrequisitos
6
7
8

**Instalando GIT**

9
10
11
12
Git (pronunciado “guit” ) es un software de control de versiones
diseñado por Linus Torvalds, pensando en la eficiencia y la
confiabilidad del mantenimiento de versiones de aplicaciones cuando
éstas tienen un gran número de archivos de código fuente.
13
14

Para la instalación realizar:
15

16
```
17
18
19
20
21
$ sudo apt-get install git
```

**Instalando nodejs y npm**

22
23
24
25
26
27
Node.js es un entorno de desarrollo basado en JavaScript que permite la
ejecución de servicios y eventos del lado del servidor. Existen
múltiples librerías que podríamos incorporar a Node,js, esto lo haremos
a través de su administrador **NPM**.

**Instalar Curl**
28

29
Durante el proceso de instalación necesitaremos este binario.
30

31
```
32
33
34
$ sudo apt-get install curl
```

35
**Añadiendo los repositorios de NodeSource**
36

37
38
Para añadir los repositorios de node.js version 4.x debemos de ejecutar:

39
```
40
41
42
$ sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
```

43
44
45
**Instalando Node.js**

Ahora realizaremos la instalación de node v4.4.0
46

47
```
48
49
50
$ sudo apt-get install -y nodejs
```

51
52
53
54
55
56
57
58
**Instalando NPM**

npm(node package manager) es el gestor de paquetes de Node.js, nos
permitira descargar librerias y enlazarlas.

Antes debemos de hacer la instalación de paquetes necesarios para un
copilado correcto.

59
```
60
61
$ sudo apt-get install build-essential
```
62

63
Debemos de seguir de la siguiente manera:
64

65
```
66
67
68
69
70
$ git clone http://github.com/isaacs/npm.git
$ cd npm
$ sudo make install
```

71
72
Para verificar si esta instalado correctamente:

73
```
74
75
76
$ npm info
```

77
**Instalando Gruntjs**
78

79
80
Un manejador de tareas, permite minimización, compilación, pruebas
unitarias, y mucho más.
81

82
```
83
$ sudo npm install -g grunt-cli
84
85
```

86
**Instalando SASS**
87
88

```
89
$ sudo gem install sass
90
91
```

92
93
**Clonar repositorio**

94
```
95
96
97
98
99
100
101
$ sudo su - usuario_proyecto
$ cd ~
$ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonal.git
$ cd ModuloPersonal
```

Para instalar las dependencias del servidor
102

103
```
104
105
106
107
108
$ npm install
```

Para iniciar el servidor de desarrollo en el puerto 9000

109
```
110
111
112
113
114
115
116
117
118
119
$ grunt serve
```

**Instalando BOWER**

Bower te permite administrar los componentes que contienen HTML, CSS,
JavaScript, fuentes e incluso archivos de imagen. Bower no concatenar o
minify código o hacer cualquier otra cosa - sólo instala las versiones
correctas de los paquetes que necesita y sus dependencias.

120
```
121
122
123
124
125
126
127
$ npm install -g bower
```

**Instalando Ruby**

Un lenguaje de programación dinámico y de código abierto.

128
```
129
130
131
132
133
$ sudo apt-get install ruby-full
```

**Clonar repositorio**

134
```
135
136
$ sudo su - usuarioPersonal
$ cd ~
137
138
$ git clone https://gitlab.geo.gob.bo/SistemaGestionAdministrativa/ModuloPersonalCliente.git
$ cd ModuloPersonalCliente
139
140
```

141
142
Para instalar las dependencias del servidor

143
```
144
145
146
147
$ npm install
```

Para ara instalar las dependecias del cliente
148

149
```
150
151
152
153
$ bower install
```

Para iniciar el servidor de desarrollo en el puerto 9000
154

155
```
156
157
158
$ grunt serve
```

159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
## Configuración de variables

**Url del backend**

Se debe configurar la url del backend al cual se esta conectando. El archivo que se debe modificar es */server/config/enviroment/shared.js*, en el cual se debe cambiar el contenido actual por la url del backend que sera consumido:

```
serverAddress: 'http://192.168.1.171:9000',
```

### Configuración adicional

En el caso que el dominio sea de la forma:

```
http://dominio/carpeta
```

Se debe configurar en la aplicación, una variable en la cual se especifica la terminación de la url, en el caso del ejemplo se debe agregar */carpeta/* ya que la aplicación solo consideraria el dominio como *http://dominio/*. Esta configuración se la realiza en el archivo: */server/config/local.env.js*, en el caso de no existir el archivo, se puede usar como base el archivo local.env.sample.js, haciendo un renombramiento del mismo al nombre anteriormente dado, la variable que se debe configurar es:

```
BASE_URL: '/carpeta/',
```

## Puesta en producción

### Generación del compilado

Para compilar el proyecto se debe ejecutar el siguiente comando:

```
$ grunt build
```

Este comando genera la estructura de carpetas */dist/client/* dentro de la cual se encuentra el proyecto compilado

**La compilación debe realizarse despues de modificar los archivos de configuración, para que los cambios en estos tengan efectos**
196

197
### Servidor
198

199
El servidor que se utilizara para publicar el sitio es *nginx*
200

201
202
203
#### Instalar Nginx

```
204
205
206
$ sudo apt-get install nginx
```

207
208
209
Ahora abre el archivo de configuración del bloque servidor por defecto
para la edición:

210
```
211
212
213
$ sudo nano /etc/nginx/sites-available/default
```

214
215
Insertar la siguiente configuración. Asegúrese de sustituir su propio
nombre de dominio para el server (o la dirección IP si usted no tiene un
216
217
218
dominio configurado) en el campo *server_name*.
Tambien debe configurar el path, este debe apuntar a la carpeta */dist/client/* del compilado
en el campo *root*
219

220
```
221
server {
222
223
224
225
226
227
228
229
230
231
232
    listen       80;
    server_name  test.adsib.gob.bo/carpeta;
    root /home/frontend/client;

    location /carpeta {  #reemplazar la terminacion del dominio si tiene la forma http://dominio/carpeta
        rewrite ^/carpeta(.*) $1 break;
        expires -1;
        add_header Pragma "no-cache";
        add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
        try_files $uri$args $uri$args/ $uri $uri/ /index.html =404;
    }
233
234
235


}
236

237
238
```

239
240
241
Una vez que haya terminado de añadir los bloques de localización para
sus aplicaciones, guardar y salir. En el servidor, reiniciar Nginx:

242
```
243
244
$ sudo /et c/init.d/nginx restart
```