Instalar el Front-end desde los Fuentes
Esta documentación asume que ya ha instalado el Backend antes de esto, sino tendrá que generar un Certificado SSL y Clave en:
- /var/lib/interlock/sslcerts/fullchain.pem
- /var/lib/interlock/sslcerts/privkey.pem
Léase También: Crear un Certificado de SSL
Instalación de Requerimientos
Primero deberemos instalar las dependencias requeridas.
workpath="/var/lib/interlock"
frontendPath="/var/lib/interlock/interlock_frontend"
apt-get update -y
# Instalar curl y obtener el script requerido.
apt-get install git curl -y
curl -sL https://deb.nodesource.com/setup_16.x -o "$workpath/nodesource_setup.sh"
# Añadir el repositorio de nodesource
bash "$workpath/nodesource_setup.sh"
# Añadir la clave pública de yarnpkg y su repositorio
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/yarn.gpg
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# Instalar NodeJS y Yarn
apt-get update -y
apt-get install nodejs yarn -y
# Instale NGINX si lo compilará para producción
apt-get install nginx -y
# Cree el directorio de instalación y de certificados
mkdir -p "$workpath/sslcerts"
Una vez instalados los requerimientos, pullee la última versión del repositorio.
git clone https://github.com/dblanque/interlock_frontend $frontendPath
Instalación de Módulos de Node
cd $frontendPath
yarn install
Una vez estos módulos y dependencias hayan sido instalados deberá cambiar su URL de Back-end en src/providers/interlock_backend/local_settings.js.
Compilar o Servir el Front-end
Finalmente querrá compilar (para producción) o encender el servidor de desarrollo.
Podrá hacerlo con los siguientes comandos:
# Compilar en un paquete
yarn build
# Encender el servidor de desarrollo
yarn serve
Configuración del Sitio NGINX
Si ha compilado el build de producción y desea usarlo se recomienda NGINX.
Para esto deberá crear una configuración de sitio en /etc/nginx/sites-available (u otro directorio) y/o enlazarlo a /etc/nginx/sites-enabled.
echo \
"server {
listen 80;
server_name default_server;
return 301 https://\$host\$request_uri;
}
server {
listen 443 ssl http2;
server_name default_server;
ssl_certificate $workpath/sslcerts/fullchain.pem;
ssl_certificate_key $workpath/sslcerts/privkey.pem;
location / {
root $frontendPath/dist;
index index.html index.htm index.nginx-debian.html;
try_files \$uri /index.html;
# kill cache
add_header Last-Modified \$date_gmt;
# add_header Cache-Control 'no-store, no-cache';
add_header Cache-Control 'max-age=900';
if_modified_since off;
expires off;
etag off;
}
}" > "$workpath/interlock.conf"
# Copiar el archivo
ln -s "$workpath/interlock.conf" "/etc/nginx/sites-enabled/interlock"
# Probar la configuración de NGINX
nginx -t
# Reiniciar y habilitar NGINX
systemctl enable nginx && systemctl restart nginx