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

5
6
Prerrequisitos
--------------
7

8
9
La siguiente instalación y configuración realizado en Sistema Operativo
Debian Jessie
10
11
12

**Creacion de Usuario en Sistema Operativo**

13
14
``` {.sourceCode .sh}
$ sudo adduser usuario_proyecto
15
16
17
18
```

**Agregar Usuario al grupo sudo del Sistema Operativo**

19
20
``` {.sourceCode .sh}
$ sudo adduser usuario_proyecto sudo
21
22
23
24
```

**Instalando GIT**

25
26
27
28
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.
29
30

Para la instalación realizar:
31
32

``` {.sourceCode .sh}
33
34
35
36
37
$ sudo apt-get install git
```

**Instalando nodejs y npm**

38
39
40
41
42
43
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**
44

45
Durante el proceso de instalación necesitaremos este binario.
46

47
``` {.sourceCode .sh}
48
49
50
$ sudo apt-get install curl
```

51
**Añadiendo los repositorios de NodeSource**
52

53
54
55
Para añadir los repositorios de node.js version 4.x debemos de ejecutar:

``` {.sourceCode .sh}
56
57
58
$ sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
```

59
60
61
**Instalando Node.js**

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

63
``` {.sourceCode .sh}
64
65
66
$ sudo apt-get install -y nodejs
```

67
68
69
70
71
72
73
74
75
76
77
**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.

``` {.sourceCode .sh}
$ sudo apt-get install build-essential
```
78

79
Debemos de seguir de la siguiente manera:
80

81
``` {.sourceCode .sh}
82
83
84
85
86
$ git clone http://github.com/isaacs/npm.git
$ cd npm
$ sudo make install
```

87
88
89
Para verificar si esta instalado correctamente:

``` {.sourceCode .sh}
90
91
92
$ npm info
```

93
**Instalando Gruntjs**
94

95
96
Un manejador de tareas, permite minimización, compilación, pruebas
unitarias, y mucho más.
97

98
99
``` {.sourceCode .sh}
$ sudo npm install -g grunt-cli
100
```
101
102
Backend-End
===========
103

104
**Instalando SASS**
105

106
107
``` {.sourceCode .sh}
$ sudo gem install sass
108
109
110
111
```

**Instalando PostgreSQL**

112
113
PostgreSQL es un potente sistema de base de datos objeto-relacional de
código abierto.
114

115
116
117
-   Instalación

``` {.sourceCode .sh}
118
119
120
$ sudo apt-get install postgresql postgresql-client postgresql-contrib
```

121
122
123
124
125
126
-   Configuración

Para poder realizar operaciones relacionadas con

``` {.sourceCode .sql}
PostgreSQL: >
127
128
129
130
$ sudo su - postgres
```

Creando usuario para el sistema:
131
132

``` {.sourceCode .sql}
133
134
135
136
postgres=# CREATE USER usuarioPersonal PASSWORD 'password';
```

Cambiando privilegios de usuario:
137
138

``` {.sourceCode .sql}
139
140
141
142
postgres=# ALTER ROLE usuarioPersonal WITH SUPERUSER;
```

Creando la Base de Datos para el sistema
143
144

``` {.sourceCode .sql}
145
146
147
postgres=# CREATE DATABASE moduloPersonalDb WITH OWNER usuarioPersonal;
```

148
149
150
151
152
153
154
155
156
157
**Clonar repositorio**

``` {.sourceCode .sh}
$ sudo su - usuario_proyecto
$ cd ~
$ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonal.git
$ cd ModuloPersonal
```

Para instalar las dependencias del servidor
158

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
``` {.sourceCode .sh}
$ npm install
```

Para iniciar el servidor de desarrollo en el puerto 9000

``` {.sourceCode .sh}
$ grunt serve
```

Front-End
=========

**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.

``` {.sourceCode .sh}
$ npm install -g bower
```

**Instalando Ruby**

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

``` {.sourceCode .sh}
$ sudo apt-get install ruby-full
```

**Clonar repositorio**

``` {.sourceCode .sh}
194
195
$ sudo su - usuarioPersonal
$ cd ~
196
$ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonalCliente.git
197
198
199
$ cd ModuloPersonal
```

200
201
202
Para instalar las dependencias del servidor

``` {.sourceCode .sh}
203
204
205
206
$ npm install
```

Para ara instalar las dependecias del cliente
207
208

``` {.sourceCode .sh}
209
210
211
212
$ bower install
```

Para iniciar el servidor de desarrollo en el puerto 9000
213
214

``` {.sourceCode .sh}
215
216
217
$ grunt serve
```

218
219
Servidor NGinx
==============
220

221
222
223
Servidor nginx (pronunciado en inglés “engine X”) es un servidor
web/proxy inverso ligero de alto rendimiento, optimizado para
aplicaciones Node.js.
224
225

A continuación, instalar Nginx
226
227

``` {.sourceCode .sh}
228
229
230
$ sudo apt-get install nginx
```

231
232
233
234
Ahora abre el archivo de configuración del bloque servidor por defecto
para la edición:

``` {.sourceCode .sh}
235
236
237
$ sudo nano /etc/nginx/sites-available/default
```

238
239
240
241
242
243
244
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
dominio configurado), y la aplicación dirección IP-Privada del servidor
para el APP\_PRIVATE\_IP\_ADDRESS . Además, cambiar el puerto ( 9000 )
si la aplicación está configurado para escuchar en un puerto diferente:

``` {.sourceCode .sh}
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
server {
    listen 80;

    server_name sitio-de-prueba.gob.bo;

    location / {
        proxy_pass http://APP_PRIVATE_IP_ADDRESS:9000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
```

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

``` {.sourceCode .sh}
265
266
267
$ sudo /et c/init.d/nginx restart
```

268
269
270
271
272
273
Esto configura la web del servidor para responder a las solicitudes en
su raíz. Suponiendo que nuestro servidor está disponible en example.com,
el acceso a <http://sitio-de-prueba.gob.bo/> a través de un navegador
web que enviar la solicitud a la dirección IP privada del servidor de
aplicaciones en el puerto 9000 , que se recibió y respondió a la Node.js
solicitud.