Unable to get the GUI installer - The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later

Hi Guys,

I am installing LNMS on Ubuntu 20.04 Azure virtual machine.
I have followed the official docs and everything checks out.

However, I can’t run the GUI installer, I only get:

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

./validate.php shows all good:

In Azure, ports 80, 22, ICMP, SNMP are all allowed.
I can ping the machine, SSH to it, and reach the Webpage which shows the error mentioned above.

I tried both FQDN/install and FQDN/install.php both same result.
Rebooted the machine a couple of times, but no change.

Any advise here please ?

Thanks

Sounds like apache is saying that. Check apache logs and php logs

Hi Jellyfrog,

Please see below what apache error log shows:

 [proxy:error] [pid 7260:tid 140096791570176] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm-librenms.sock (*) failed
 [Fri Feb 04 15:00:06.595881 2022] [proxy_fcgi:error] [pid 7260:tid 140096791570176] [client 80.251.1.196:27715] AH01079: failed to make connection to backend: httpd-UDS

According the documentation:

Configure PHP-FPM

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
vi /etc/php/7.4/fpm/pool.d/librenms.conf

Change [www] to [librenms]:

[librenms]

Change user and group to “librenms”:

user = librenms
group = librenms

Change listen to a unique name:

listen = /run/php-fpm-librenms.sock

and :

vi /etc/apache2/sites-available/librenms.conf

Add the following config, edit ServerName as required:

<VirtualHost *:80>
  DocumentRoot /opt/librenms/html/
  ServerName  librenms.example.com

  AllowEncodedSlashes NoDecode
  <Directory "/opt/librenms/html/">
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  </Directory>

  # Enable http authorization headers
  <IfModule setenvif_module>
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
  </IfModule>

  <FilesMatch ".+\.php$">
    SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
  </FilesMatch>
</VirtualHost>

And that’s what I followed.

Also, comparing to another running LNMS that I have, I was able to locate install.php script,
However, I can’t find it in this new server.

Best regards

1 Like

This is your problem. Did you reload php fpm after changing the config? Does the file exist?

Hi @Jellyfrog

The file did not exist by default. I kind of figured out this might be the problem so I have created it manually, as in:

touch /run/php-fpm-librenms.sock

Now i’m getting a connection refused error:

[Mon Feb 07 08:41:35.529716 2022] [proxy:error] [pid 114599:tid 140601740596992] (111)Connection refused: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm-librenms.sock (*) failed
[Mon Feb 07 08:41:35.529774 2022] [proxy_fcgi:error] [pid 114599:tid 140601740596992] [client 80.xx.xx.xx:20241] AH01079: failed to make connection to backend: httpd-UDS

I have changed the owner to www-data and set permission 777 to that file (hoping it might help)

-rwxrwxrwx  1 www-data www-data    0 Feb  4 15:28 php-fpm-librenms.sock

But it didn’t really help either.

On Azure’s side, I explicitly allowed connection from my IP address to this machine in the firewall to all ports/all protocols, just in case it’s a firewall rejection. But still the same issue.

what do you think ?
Frankly, this is my first time fiddling with Azure VMs. I usually install LNMS VM’s in our in-house VMware cluster where I didn’t have such issue before.

One more thing, is it normal that there is no ./install script/folder ? becuz I can’t find it this new machine. The locate command returns nothing. Unlike my older LNMS machines

thanks

Hi @Jellyfrog

I figured out the issue. It was inside the /etc/php/7.4/fpm/pool.d/librenms.conf

Where:

listen.owner = www-data
listen.group = www-data

Were left to default. Changed them to:

listen.owner = librenms
listen.group = librenms

Seems to have got it going.

Perhaps this should be added to the install docs, since it only mentions:

Change user and group to “librenms”:

user = librenms
group = librenms

but not the listen.owner and listen.group.

Best Regards

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.