INSTALL.md 5.27 KB
Newer Older
Esteban Choque's avatar
Esteban Choque committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Guía de instalación

## Requisitos
- NodeJs 10.x LTE
- Wordpress 5.x
- PHP 7.x

## Instalación para desarrollo

### Instalando PHP, Mysql y Apache/Nginx

Se puede instalar [XXAMP](https://www.apachefriends.org/es/index.html), [LAMP](https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-debian9)*(Recomendado)*, [LEMP](https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-debian-9) o instalar de acuerdo a su distribución.

### Instalando Wordpres

Ver la famosa instalación de Wordpress en 5 minutos [aquí](https://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Installation) realizar esta instalación en una carpeta llamada `wordpress` o `wp` o el nombre que quiera.

Una vez instalado debe ir al administrador de wordpres e **importar** el [Archivo de importación](portal-entidad.xml) en `Herramientas -> Importar` Instalar el plugin `WordPress` de la lista y continuar con la importación una vez instalado.

> **Nota.-** Es posible que no se importe correctamente los `Medios`(Archivos de imágenes) así que hay que ir al administrador de Wordpress ir a Páginas/Posts y eliminar los `Featured Image`(Imagen destacada) y agregar una nueva.

### Instalando el Proyecto

Una vez clonado el repositorio instalarlo con el comando:

```
npm install
```

> **Nota.-** Eliminar el archivo package-lock.json en caso de presentar fallas en la instalación.

### Configurando el proyecto

Toda la configuración del sistema lo encontramos en el archivo `nuxt.config.js` donde colocaremos en `env.wpApi` la ruta donde tengamos instalado nuestro Wordpress.

### Iniciando el proyecto

Iniciar el proyecto con el comando:

```
npm run dev
```

_____________

## Instalación en producción con Nginx (Debian 9)

### Instalando PHP, Mysql y Nginx

Instalar [LEMP](https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-debian-9) o de acuerdo a su distribución.

### Configurando Nginx

Se debe configurar Nginx de acuerdo a la siguiente configuración en el archivo que haya creado en el paso anterior.

```
map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm;

    server_name     _;    # setup your domain here

    gzip            on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_min_length 1000;

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:3000; # set the adress of the Node.js instance here
    }

    location /wp {
        # try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }

    location = /wp/favicon.ico { log_not_found off; access_log off; }
    location = /wp/robots.txt { log_not_found off; access_log off; allow all; }
}
```

Verificar la configuración con `nginx -t` y recargar la configuración con `systemctl reload nginx`.

> **Nota-** Es recomendable eliminar las configuraciones por defecto de nginx como `/etc/nginx/sites-enabled/default`

### Instalando Wordpress

Instalar de acuerdo a este [tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-debian-9) **realizar esta instalación en la carpeta `/var/www/html/wp`** es importante que lo haga en este directorio.

Una vez instalado debe ir al administrador de wordpres e **importar** el [Archivo de importación](portal-entidad.xml) en `Herramientas -> Importar` Instalar el plugin `WordPress` de la lista y continuar con la importación una vez instalado.

> **Nota.-** Es posible que no se importe correctamente los `Medios`(Archivos de imágenes) así que hay que ir al administrador de Wordpress ir a Páginas/Posts y eliminar los `Featured Image`(Imagen destacada) y agregar una nueva.

### Instalando el Proyecto

Una vez clonado el repositorio instalarlo con el comando:

```
npm install
```

> **Nota.-** Eliminar el archivo `package-lock.json` en caso de presentar fallas en la instalación.

### Configurando el proyecto

Toda la configuración del sistema lo encontramos en el archivo `nuxt.config.js` donde colocaremos en `env.wpApi` la ruta donde tengamos instalado nuestro Wordpress.

### Compilando el proyecto

Usamos el siguiente comando para minificar los archivos para producción.

```
npm run build
```

### Iniciando el proyecto

Instalar PM2 para mantener la applicación persistente con el comando:

```
npm install -g pm2
```

Iniciar el proyecto con el comando:

```
pm2 start --name portal npm -- start
```

Guardar el inicio del proyecto para que siempre esté activo con el comando:

```
pm2 startup
pm2 save
```