| Descripción | Comando |
---|
1 | Instalar el repositorio universal y los paquetes para certbot y asegurarse de que otros paquetes estén instalados y actualizados desde la guía oficial. |
sudo apt install software-properties-common -y |
Salta esta instrucción si tienes un Sistema Debian, NO SALTAR OTRAS INSTRUCCIONES EN ESTE PASO sudo add-apt-repository universe -y |
Asegurarse de copiar el comando entero, especialmente para comandos largos. sudo apt-get install build-essential software-properties-common apt-transport-https lsb-release dirmngr pwgen git jq ufw curl aria2 -y |
|
2 | Actualice el caché del paquete. | |
3 | Instale curl y agregue el repositorio nodejs y actualice el paquete caché.
NOTA: Omita este paso para Ubuntu
| Debian 9 solamente sudo apt-get install curl -y
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get update |
|
4 | Instale npm, actualizándolo a la última versión. |
sudo apt-get install npm -y && sudo npm install -g n && sudo n latest |
|
5 | Detener el rastreador de nodos (node tracker). NOTA: Si por alguna razón tiene más de un rastreador ejecutándose en pm2, puede tener que cambiar "0" al número que corresponde con su rastreador y detenerlos también. Puede obtener una lista de los números ejecutando: pm2 list | |
6 | Cambia el directorio a donde el rastreador de nodos (node tracker) fue clonado, esta dirección sería ~/nodetracker para la guía oficial. Para versiones menos recientes y para otras guías sería ~/zencash/secnodetracker for older documentation or other guides |
Ejecuta el siguiente comando si el comando de arriba falla debido a que el directorio no existe. mv ~/zencash/secnodetracker ~/nodetracker && cd ~/nodetracker |
|
7 | Actualiza git con la nueva URL del repositorio y recupera el último código fuente |
git checkout -- package.json
git remote set-url origin https://github.com/ZencashOfficial/nodetracker.git
git fetch origin
git checkout master
git pull |
NOTA: Si git devuelve un error con respecto a cualquier archivo, ejecute el siguiente comando (reemplazando 'filename con el archivo que le causo error, desplegado en el mensaje de error) y repita los comandos anteriores.
|
8 | Instale el último conjunto de módulos de nodos necesarios para el rastreador. |
|
| Solamente ejecuta los pasos 9 y 10 si estos aún no se han ejecutado. Si ya actualizaste al rastreador de nodos (node tracker) 0.3.1, estos pasos ya están completados. |
9 | Ubique las direcciones IPv4 y / o IPv6 públicas de su nodo y añádalas al archivo zen.conf como direcciones IP externas conectadas a través del puerto 9033 (predeterminado) SOLO LOS SUPER NODOS SON NECESITAN REALIZAR CADA COMANDO EN ESTE PASO LOS NODOS SEGUROS REQUIEREN AL MENOS UNA DIRECCIÓN EXTERNA Y PUERTO AÑADIDAS EN ZEN.CONF NOTA: los nodos seguros solo requieren un tipo de IP, los Super Nodos requieren ambos tipos. NOTA: Reemplace <IPv4> con el IPv4 público de su nodo, elimine <corchetes> NOTA: Reemplace <IPv6> con el IPv6 público de su nodo en notación comprimida sin ceros a la izquierda, elimine <corchetes> Utilice el siguiente enlace para asegurarse de que su dirección IPv6 esté en notación comprimida: https://www.ultratools.com/tools/ipv6Compress | Cree variables ambientales para IPv4. Añada el IPv4 externo a zen.conf echo "externalip=$IPV4" >> ~/.zen/zen.conf |
Cree variables ambientales para IPv6. Añada el IPv6 externo a zen.conf echo "externalip=$IPV6" >> ~/.zen/zen.conf |
Añada el puerto a zen.conf - NODO SEGURO Y SUPER NODO echo "port=9033" >> ~/.zen/zen.conf |
|
10 | Ejecute nuevamente la configuración del nodo para actualizar la lista de servidores de seguimiento e inicialice el nuevo rastreador (tracker), presione enter a través de cada uno de los valores para retener el conjunto actual - Ingrese 'secure' para la solicitud en la categoría 'node category'.
|
|
11 | Pare zend con monit, luego pare monit. Se muestra que ambos comandos se detienen a través de systemctl y sysinit (solo se necesita uno, pero ambos están aquí para completar) |
sudo monit stop zend && sleep 8
sudo systemctl stop monit
sudo service monit stop |
|
12 | Cree un archivo de unidad systemd para zend, copie y pegue todo el bloque de texto. |
echo \
"[Unit]
Description=Zen daemon
[Service]
User=$USER
Type=forking
ExecStart=/usr/bin/zend -daemon -pid=$HOME/.zen/zend.pid
PIDFile=$HOME/.zen/zend.pid
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target" | sudo tee /lib/systemd/system/zend.service |
|
13 | Pruebe el archivo de la unidad zend. |
sudo systemctl start zend && sleep 30 |
|
14 | Cree un archivo de unidad systemd para el Rastreador de Nodo (Node Tracker), copie y pegue todo el bloque de texto |
echo \
"[Unit]
Description=Zen node daemon installed on ~/nodetracker/
[Service]
User=$USER
Type=simple
WorkingDirectory=$HOME/nodetracker/
ExecStart=$(which node) $HOME/nodetracker/app.js
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target" | sudo tee /lib/systemd/system/zentracker.service |
|
15 | Pruebe el archivo de la unidad de seguimiento (tracker). |
sudo systemctl start zentracker |
|
16 | Siga el resultado del registro del rastreador (tracker) para verificar que todo se vea bien, si todo parece correcto, salga con CTRL + C. |
sudo journalctl -fu zentracker |
zenops@node01~$ sudo journalctl -fu zentracker -- Logs begin at Tue 2018-05-22 12:54:41 EDT. -- May 24 21:34:28 node01 node[42000]: 2018-05-25 01:34:28 GMT -- Connected to server ts1.na. Initializing... May 24 21:34:28 node01 node[42000]: Secure Node t_address (not for stake)=znXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX May 24 21:34:28 node01 node[42000]: Balance for challenge transactions is 0.0247 May 24 21:34:28 node01 node[42000]: Using the following address for challenges May 24 21:34:28 node01 node[42000]: zcXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX May 24 21:34:29 node01 node[42000]: 2018-05-25 01:34:29 GMT -- Authenticated May 24 21:34:29 node01 node[42000]: 2018-05-25 01:34:29 GMT -- Updated server list May 24 21:34:29 node01 node[42000]: 2018-05-25 01:34:29 GMT -- Stats: send initial stats. May 24 21:34:29 node01 node[42000]: 2018-05-25 01:34:29 GMT -- Stats received by ts1.na May 24 21:34:29 node01 node[42000]: 2018-05-25 01:34:29 GMT -- Cert check: valid=true. Hostname node01.zentest.win matches CN node01.zentest.win |
|
17 | Revisa el estado de ambos, de zend y el rastreador (tracker), estos dos deben de desplegar "active (running)". Si la revisión de estado no te regresa al comando de línea, salga de la revisión de estado presionando CTRL + C. |
sudo systemctl status zend zentracker |
zenops@node01:~$ sudo systemctl status -n 0 zend zentracker ● zend.service - Zen daemon Loaded: loaded (/lib/systemd/system/zend.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-24 22:31:30 EDT; 34s ago Process: 21612 ExecStart=/usr/bin/zend -daemon -pid=/home/zenops/.zen/zend.pid (code=exited, status=0/SUCCESS) Main PID: 21615 (zend) Tasks: 16 Memory: 810.0M CPU: 18.963s CGroup: /system.slice/zend.service └─21615 /usr/bin/zend -daemon -pid=/home/zenops/.zen/zend.pid May 24 22:31:30 node01 systemd[1]: Starting Zen daemon... May 24 22:31:30 node01 zend[21612]: Zen server starting May 24 22:31:30 node01 systemd[1]: zend.service: PID file /home/zenops/.zen/zend.pid not readable (yet?) after start: No such file or directory May 24 22:31:30 node01 systemd[1]: Started Zen daemon. ● zentracker.service - Zen node daemon installed on ~/nodetracker/ Loaded: loaded (/lib/systemd/system/zentracker.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-24 21:34:27 EDT; 1h 1min ago Main PID: 19648 (node) Tasks: 10 Memory: 38.9M CPU: 4.110s CGroup: /system.slice/zentracker.service └─19648 /usr/local/bin/node /home/zenops/nodetracker/app.js |
|
18 | Si ambos funcionan correctamente, habilítelos en el arranque. |
sudo systemctl enable zend zentracker |
|
19 | Use systemctl para habilitar el firewall. NOTA: Muchas guías carecían de habilitar esto bajo systemctl. Si el firewall no está instalado, ver: Parte 5 - Asegurando el Host |
sudo ufw -f enable
sudo systemctl start ufw
sudo systemctl enable ufw
sudo systemctl status ufw |
zenops@node01:~$ sudo systemctl status ufw [sudo] password for zenops: ● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2018-05-26 16:03:39 EDT; 23min ago Process: 603 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS) Main PID: 603 (code=exited, status=0/SUCCESS) Tasks: 0 Memory: 0B CPU: 0 CGroup: /system.slice/ufw.service May 26 16:03:39 node01 systemd[1]: Started Uncomplicated firewall. |
|
20 | Eliminar pm2 del inicio. |
sudo rm /etc/systemd/system/pm2*
sudo rm /etc/systemd/system/multi-user.target.wants/pm2* |
|
21 | Aborta el proceso y elimina PM2 (si todo lo anterior se ejecutó sin error) Puede ver un mensaje sobre la actualización de npm, puede ignorar esto |
pm2 kill
sudo npm remove pm2 -g
sudo rm -r ~/.pm2 |
zenops@node01:~$ pm2 kill [PM2] Stopping PM2... [PM2] Applying action deleteProcessId on app [all](ids: 0) [PM2] [securenodetracker](0) ✓ [PM2] All processes have been stopped and deleted [PM2] PM2 stopped |
zenops@node01:~$ sudo npm remove pm2 -g removed 135 packages in 2.873s |
|
22 | Elimine monit que arranque del inicio (es posible que no necesite ambos comandos, ambos están presentes para acomodar el script systemd o init) Ejecute ambos comandos si no está seguro de qué manera se configuró Monit
NOTA: Se espera que vea un error si ejecuta el comando que no corresponde a como se configuró Monit. Puede descartar de forma segura los errores del único comando de los dos presentados aquí. |
sudo systemctl disable monit
sudo update-rc.d monit remove |
|
23 | Remueve y purga monit del sistema y elimina los repositorios antiguos (si todo lo anterior se ejecutó sin error)
|
sudo apt-get remove monit -y
sudo apt-get purge monit -y
sudo apt-get -y autoremove
rm -rf ~/zen_node.sh |
|
24 | acme.sh - Migración al certbot |
|