phpMyAdmin on tcp but should be socket Debian 12 Nginx

Discussion in 'Installation/Configuration' started by Tim Reeves, Mar 26, 2024.

  1. Tim Reeves

    Tim Reeves New Member

    My first post here, and first and foremost: My many thanks to Till for years of fruitful dedication to Linux and ISPConfig!

    I'm a programmer and server manager, have previously been using Plesk (easier for my clients), but now Plesk licenses have become so expensive that I wanted ISPConfig for my own new private server. There's been a learning curve, sure, but now I have a "trivial" problem with an obvious solution that I can't find.
    ISPConfig 3.2.11p2

    In nginx_apps.vhost.master there are these two lines:
    {use_tcp}fastcgi_pass 127.0.0.1:9000;
    {use_socket}fastcgi_pass unix:{fpm_socket};

    The tcp variable is empty and the socket variable comments the socket line out. Result: Bad Gateway when I try to access phpMyAdmin (manually shifting the commenting out works). So I looked on the net where I can regenerate the apps.vhost correctly - and found only to use the updater! Well:
    System > Server Services > XMPP on, Save ; XMPP off, Save.

    Inelegant, but it does the job - of regenaration, but the result is the same.
    Is this a bug? Apache is not installed, only Nginx and PHP-FPM, working fine in other contexts. Or how can I configure ISPConfig that it sets those variables for the template instantiation correctly?

    For now I'll just use a custom-conf, which is a bit ridiculous; but I may need it soon anyway for RoundCube.
    Cheers,
    Tim
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Using TCP for php-fpm is fine for Nginx, php-fpm is available on socket and TCP by default. So, TCP is not related to Apache at all.

    How did you install that system? I install Debian 12 ISPConfig systems using the auto-installer with Nginx quite often, and they always work out of the box here. Most likely you manually disabled php-fpm to listen on port 9000 and you should undo this as ISPConfig requires php-fpm to be available on its socket and port.

    You can find instructions on how to set up your system with ISPConfig here:

    https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
     
    ahrasis likes this.
  3. Tim Reeves

    Tim Reeves New Member

    Till, you are amazing!
    PHP-FPM start port: 9010 - and I don't remember changing it, but maybe I did, for whatever reason. I've changed it to 9000.
    However, there is an issue: The GUI offers me to select the port, but the apps..vhost has it fixed at 9000
    So now I've regenerated apps.vhost with fastcgi_pass 127.0.0.1:9000; And manually restarted PHP-FPM.
    But still Bad Gateway :(
    Another question: Is there an elegant way to have apps.vhost regenerated?
    And another (sorry): In this thread it talks about a DB of ISPConfig - but phpMyAdmin does not show it. Is it a user privilege question?
    Thanks!
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    You mix up things here, the start port is the first port used by newly created php-fpm pools of websites. ISConfig is set up as a secure hosting panel, so each website ahs its own Linux user and php runs under this user. This is not the port used by the apps vhost, and do not set it to 9000 as php-fpm must fail then. Change it back to its original number.

    You seem to have messed around with the settings quite a bit. Unless you migrated your live sites over already, consider to reinstall it from scratch using auto-installer to get a clean and fully working system. If you can't do that, then you must debug and check the www pool config of the default php version and enable port 9000 again for the www-data php-fpm pool.

    The port of the www-data account of php-fpm on Debian, which runs phpmyadmin and RoundCube, is always 9000. This is not configurable and there is no such settingin the ISPConfig GUI.

    It is configured once at install time and during an update. On a properly installed system, there is no need to regenerate it.

    Login as MySQL root user, then you see it.
     

Share This Page