Guies i tutorials

Centenars de tutorials i guies pas a pas curosament escrits per el nostre equipo de suport.

Problemas de conexión entre SWPanel y mi servidor Cloud

El paquete de software swhosting-rpc es la API que gestiona la comunicación y la sincronización entre las operaciones realizadas entre SWPanel y tu servidor Cloud. Cuando realices una acción en SWPanel, éste enviará una llamada de procedimiento remoto (RPC) a tu Cloud, solicitando al programa swhosting-rpc que ejecute la tarea.

Resolución de incidencias

Estado del servicio swhosting-rpc

Si hay algún problema de comunicación, revisaremos el estado del servicio con el siguiente comando:

 systemctl status swhostingrpcd.service
 

Dando este resultado:

root@cl2024052908001:~# systemctl status swhostingrpcd.service
● swhostingrpcd.service - SWHosting-rpc service
     Loaded: loaded (/etc/systemd/system/swhostingrpcd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-08-13 12:00:09 CEST; 1 day 1h ago
   Main PID: 1555013 (swhostingrpc_se)
      Tasks: 7 (limit: 3485)
     Memory: 229.6M
     CGroup: /system.slice/swhostingrpcd.service
             ├─1555013 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2014807 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2015014 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2015182 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2015319 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2015386 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             └─2015652 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl

Aug 13 12:00:09 cl2024052908001 systemd[1]: Started swhostingrpcd.service - SWHosting-rpc service.

💡 Debes revisar que en la salida del comando aparezca el servicio como active (running).

En caso de que se encuentre inactivo, intenta reiniciarlo.

systemctl restart swhostingrpcd.service

Por ejemplo:

root@cl2024052908001:~# systemctl restart swhostingrpcd.service
root@cl2024052908001:~# systemctl status swhostingrpcd.service
● swhostingrpcd.service - SWHosting-rpc service
     Loaded: loaded (/etc/systemd/system/swhostingrpcd.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-08-15 11:26:35 CEST; 2s ago
   Main PID: 2127006 (swhostingrpc_se)
      Tasks: 3 (limit: 3485)
     Memory: 91.2M
     CGroup: /system.slice/swhostingrpcd.service
             ├─2127006 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             ├─2127043 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
             └─2127045 /usr/bin/perl -w /usr/local/SWHostingRPC/script/swhostingrpc_server.pl
Aug 15 11:26:35 cl2024052908001 systemd[1]: Started swhostingrpcd.service - SWHosting-rpc service.

Acceso a los servicios

Ejecutando el fichero test.pl, que encontrarás en /usr/local/SWHostingRPC/sbin/

/usr/local/SWHostingRPC/sbin/test.pl

El resultado, nos dirá si hay algún problema con acceso a los servicios.

root@cl2024052908001:~# /usr/local/SWHostingRPC/sbin/test.pl
$VAR1 = {
          'info' => {
                      'libs' => {
                                  'AWStats' => {
                                                 'active' => '1',
                                                 'type' => 'AWStats',
                                                 'version' => '0.00.03',
                                                 'status' => 'OK'
                                               },
                                  'MySql' => {
                                               'active' => '1',
                                               'version' => '0.00.11',
                                               'type' => 'MySql',
                                               'status' => 'OK'
                                             },
                                  'Sys' => {
                                             'status' => 'OK',
                                             'active' => '1',
                                             'version' => '0.00.50',
                                             'type' => 'Debian11'
                                           },
                                  'List' => {
                                              'type' => 'Sympa',
                                              'version' => '0.00.03',
                                              'active' => '1',
                                              'status' => 'OK'
                                            },
                                  'Mail' => {
                                              'active' => '1',
                                              'type' => 'Amavis',
                                              'version' => '0.00.4',
                                              'status' => 'OK'
                                            },
                                  'User' => {
                                              'type' => 'Linux',
                                              'version' => '0.00.04',
                                              'active' => '1',
                                              'status' => 'OK'
                                            },
                                  'Dns' => {
                                             'status' => 'OK',
                                             'version' => '0.03.2',
                                             'type' => 'Bind',
                                             'active' => '1'
                                           },
                                  'Ftp' => {
                                             'version' => '0.00.08',
                                             'type' => 'Proftp',
                                             'active' => '1',
                                             'status' => 'OK'
                                           },
                                  'Web' => {
                                             'active' => '1',
                                             'type' => 'Proxy',
                                             'version' => '0.00.08',
                                             'status' => 'OK',
                                             'plugins' => [
                                                            'ssl',
                                                            'jail'
                                                          ]
                                           }
                                },
                      'core' => {
                                  'dpkg_name' => 'swhosting-rpc',
                                  'version' => '0.00.19',
                                  'dpkg_version' => '0.6.3-1',
                                  'dpkg_status' => 'ii',
                                  'status' => '1'
                                }
                    },
          'success' => '1',
          'message' => 'Commando completado correctamente'
        };

En un estado óptimo, nos devolverá un status 'OK', o bien un status '1'. En caso contrario, será necesario activar los logs de swhosting-rpc en modo 'ALL':


Revisión de puertos

La APi swhosting-rpc utiliza el puerto 3203. Otra de las verificaciones, es corroborar si tenemos dicho puerto abierto. Por ejemplo, con el comando

ss -tuln | grep 3203

root@cl2024052908001:~# ss -tuln | grep 3203
tcp   LISTEN 0      4096   81.25.120.102:3203       0.0.0.0:*
tcp   LISTEN 0      4096       127.0.0.1:3203       0.0.0.0:*

También puedes corroborar que tu servidor está escuchando por el puerto 3203 con el comando

netstat -putona | grep 3203

root@cl2024052908001:~# netstat -putona | grep 3203
tcp        0      0 127.0.0.1:3203          0.0.0.0:*               LISTEN      475489/perl          off (0.00/0/0)
tcp        0      0 81.25.120.102:3203      0.0.0.0:*               LISTEN      475489/perl          off (0.00/0/0)

Con telnet también puedes verificar si puede escuchar ese puerto.

root@Debian:~$ telnet 81.25.120.102 3203
Trying 81.25.120.102...
Connected to 31.24.156.110.
Escape character is '^]'.

Con el comando nmap, podemos verificar también si el puerto se encuentra abierto. Por ejemplo:

nmap 81.25.120.102 -p 3203

root@Debian:~$ nmap 81.25.120.102 -p 3203
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-23 08:21 CEST
Nmap scan report for 81.25.120.102
Host is up (0.016s latency).

PORT     STATE SERVICE
3203/tcp open  netwatcher-mon

Nmap done: 1 IP address (1 host up) scanned in 0.72 seconds