EtherCalc es una hoja de cálculo basada en la web que le permite crear hojas de cálculo a través de un navegador web. Permite editar las hojas de cálculo y que varios usuarios trabajen en el mismo archivo. Es muy similar a Google Sheets y viene con muchas fórmulas y funciones matemáticas.
Éstas son sus principales características:
- Es gratuita y de código abierto.
- Exporta tus archivos a formato CSV o XLSX.
- Utiliza URL generadas de forma aleatoria.
- Es compatible con los sistemas operativos Linux, FreeBSD, Mac OS X y Windows.
En este tutorial te mostramos cómo instalar EtherCalc con Nginx como proxy inverso en Debian 10.
Requisitos
- Debian 10 instalado en tu servidor.
- Un nombre de dominio válido que apunte a la IP de tu servidor.
- Una contraseña root establecida en el servidor.
Instala las dependencias requeridas
Antes de instalar EtherCalc, necesitarás instalar algunas dependencias en tu servidor. Puedes hacerlo con el siguiente comando:
# apt-get install nginx redis curl gnupg2 git wget -y
Una vez que todos los paquetes estén instalados, inicia el servicio de Redis y Nginx con el siguiente comando:
# systemctl start redis-server
# systemctl start nginx
Instala Node.js
A continuación, necesitarás instalar Node.js y NPM en tu sistema. Por defecto, la última versión de Node.js no está incluida en el repositorio de Debian 10. Por ello, necesitarás instalar el repositorio origen de Node en tu sistema. Hazlo con el siguiente comando:
# curl -sL https://deb.nodesource.com/setup_14.x | bash -
Una vez que el repositorio esté añadido, instala Node.js con el siguiente comando:
# apt-get install nodejs -y
Después de instalar Node.js, verifica la versión de Node.js y NPM con el siguiente comando:
# node --version
Éste es el resultado que deberías obtener:
v14.17.0
En relación a la versión NPM, el resultado debería ser el siguiente:
# npm -v
6.14.13
Instala EtherCalc
A continuación, puedes instalar EtherCalc utilizando el comando NPM como se muestra más abajo:
# npm install -g ethercalc
Una vez esté instalado, haz correr EtherCalc con el siguiente comando:
# ethercalc
Deberías ver el siguiente resultado:
Please connect to: http://debian10:8000/
Starting backend using webworker-threads
Falling back to vm.CreateContext backend
Express server listening on port 8000 in development mode
Para continuar, presiona "CTRL+C" para detener EtherCalc.
Crea un archivo de servicio Systemd para EtherCalc
En primer lugar, crea un usuario para correr EtherCalc con el siguiente comando:
# adduser ethercalc
Para continuar, añade el usuario EtherClac a www-data group con el siguiente comando:
# usermod -a -G ethercalc www-data
A continuación, crea el archivo de servicio systemd para gestionar el servicio de EtherCalc:
# nano /etc/systemd/system/ethercalc.service
Después, añade las siguientes líneas:
[Unit]
Description=Run Ethercalc, the collaborative spreadsheet editor.
After=syslog.target network.target
[Service]
Type=simple
User=ethercalc
ExecStart=/usr/bin/ethercalc --port 8080 --cors --expire 31104000
#RuntimeMaxSec=86400
#Restart=always
[Install]
WantedBy=multi-user.target
Guarda y cierra el archivo y después recarga el demonio systemd para aplicar los cambios con el siguiente comando:
# systemctl daemon-reload
A continuación, inicia y habilita el servicio EtherCalc utilizando el comando que se muestra más abajo:
# systemctl start ethercalc
# systemctl enable ethercalc
Para el siguiente paso, verifica el estado del servicio de EtherCalc con el siguiente comando:
# systemctl status ethercalc
Más abajo está el resultado que deberías obtener:
● ethercalc.service - Run Ethercalc, the collaborative spreadsheet editor.
Loaded: loaded (/etc/systemd/system/ethercalc.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2021-06-03 15:55:58 UTC; 6s ago
Main PID: 3647 (node)
Tasks: 11 (limit: 2359)
Memory: 57.6M
CGroup: /system.slice/ethercalc.service
└─3647 node /usr/bin/ethercalc --port 8080 --cors --expire 31104000
Jun 03 15:55:58 debian10 systemd[1]: Started Run Ethercalc, the collaborative spreadsheet editor..
Jun 03 15:55:58 debian10 ethercalc[3647]: Please connect to: http://debian10:8080/
Jun 03 15:55:59 debian10 ethercalc[3647]: Starting backend using webworker-threads
Jun 03 15:55:59 debian10 ethercalc[3647]: Falling back to vm.CreateContext backend
Jun 03 15:55:59 debian10 ethercalc[3647]: Cross-Origin Resource Sharing (CORS) enabled.
Jun 03 15:55:59 debian10 ethercalc[3647]: Express server listening on port 8080 in development mode
Jun 03 15:55:59 debian10 ethercalc[3647]: Zappa 0.5.0 "You can't do that on stage anymore" orchestrating the show
Jun 03 15:55:59 debian10 ethercalc[3647]: Connected to Redis Server: localhost:6379
A este punto, EtherCalc se ha iniciado y está escuchando en el puerto 8080. Puedes verificarlo con el siguiente comando:
# ss -antpl | grep 8080
Éste es el resultado que deberías obtener:
LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("node",pid=3647,fd=18))
Configura Nginx como Proxy Inverso para EtherCalc
A continuación, crea un archivo de configuración host virtual Nginx para servir a EtherCalc en el puerto 80:
# nano /etc/nginx/conf.d/ethercalc.conf
Y después añade las siguientes líneas:
upstream ethercalc {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name ether.example.com;
location / {
proxy_pass http://ethercalc/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Guarda el archivo y después reinicia el servicio Nginx para aplicar los cambios con el siguiente comando:
# systemctl restart nginx
Accede a EtherCalc
Ahora, accede a EtherCalc con la URL http://ether.example.com. Deberías ver EtherCalc como en la siguiente imagen:
A continuación clica en la pestaña "Create Spreadsheet". Deberías ver la siguiente imagen:
Ahora ya puedes crear de forma fácil una nueva hoja de cálculo o editar la existente desde el navegador web.
Conclusión
Con este tutorial has aprendido cómo instalar EtherCalc en Debian 10. También te hemos mostrado cómo configurar Nginx como un proxy inverso para acceder a EtherCalc a través del puerto 80. ¡Esperamos que sea de utilidad para ti!
Si tienes alguna pregunta, no dudes en enviar un correo electrónico a soporte@clouding.io. Estaremos encantados de responderte.