Jump to content
Froxlor Forum
  • 0

Froxlor löscht alle PHP FPM Pool Configs


Eventomaxx

Question

Hey,

ich habe die Tage einen neuen Server mit Froxlor aufgesetzt.
Froxlor und alle Kundenprojekte laufen über PHP FPM. Soweit funktioniert alles wunderbar, nur wollte ich dann auch noch phpMyAdmin hinzufügen.
Hier hatte ich gelesen, dass man entweder einen Kunden dafür anlegen soll oder seine eigene Config erstellen muss.
Extra einen Kunden dafür anzulegen, kam mir etwas dirty vor, weswegen ich mich für das Letztere entschieden habe.
Nach ein bisschen rumprobieren hab ich es auch zum Laufen gebracht, allerdings ist mir dann aufgefallen,
dass die Config-Datei unter /etc/php/7.3/fpm/pool.d/phpmyadmin.mydomain.de.conf von Froxlors Master Cronjob gelöscht wird.
Meine Frage ist es nun, ob es irgendeine Möglichkeit gibt, meine Config vor der Löschung zu bewahren?
Zum Beispiel, dass man die Datei außerhalb vom pool.d/ Ordner definieren kann oder ähnliches.

 

Nachtrag:

Ich weiß nicht genau, ob die normale Ausführung des Cronjobs den Ordner komplett löscht, wenn man ihn aber per Hand mit der --force flag ausführt, wird alles gelöscht.

 

Edit:

Und falls es jemand interessiert, wie ich Apache2 und PHP FPM konfiguriert habe, sind hier die beiden Configs.
Sachen wie mydomain.de müssen natürlich ausgetauscht werden.

/etc/apache2/sites-available/15-phpmyadmin.conf

<VirtualHost x.x.x.x> # IP des Servers eintragen
    DocumentRoot /usr/share/phpmyadmin # Pfad zur phpmyadmin-Installation
    ServerName phpmyadmin.mydomain.de # Die Domain unter der es aufgerufen werden soll

    FastCgiExternalServer /var/www/php-fpm-phpmyadmin/pma.external -socket /var/lib/apache2/fastcgi/1-phpmyadmin-mydomain.de-php-fpm.socket 

    Alias /php-fcgi-phpmyadmin /var/www/php-fpm-phpmyadmin/pma.external

    <Directory /usr/share/phpmyadmin>
        <FilesMatch \.(php)$>
            AddHandler php-fcgi-phpmyadmin .php
            SetHandler php-fcgi-phpmyadmin
            Action php-fcgi-phpmyadmin /php-fcgi-phpmyadmin
            Options +ExecCGI
        </FilesMatch>
        Require all granted
        AllowOverride All
    </Directory>

    # Disallow web access to directories that don't need it
    <Directory /usr/share/phpmyadmin/templates>
        Require all denied
    </Directory>

    <Directory /usr/share/phpmyadmin/libraries>
        Require all denied
    </Directory>

    <Directory /usr/share/phpmyadmin/setup/lib>
        Require all denied
    </Directory>
</VirtualHost>

 

/etc/php/7.3/fpm/pool.d/phpmyadmin.mydomain.de.conf

[phpmyadmin]
user = phpmyadmin
group = phpmyadmin

listen = /var/lib/apache2/fastcgi/1-phpmyadmin-mydomain.de-php-fpm.socket
listen.owner = phpmyadmin
listen.group = phpmyadmin
listen.mode = 0666

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php_value[include_path] = "."
php_admin_value[upload_tmp_dir] = "/var/lib/phpmyadmin/tmp"
php_admin_value[open_basedir] = "/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/"
php_admin_value[mbstring] = ".func_overload 0"

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Einen neuen Kunden extra für phpmyadmin zu erstellen brauchst du schon mal nicht, aber was du erstellen musst, wenn du andere confs für php-fpm benutzen willst, ist halt ne eigene conf, das dauert keine 5min und ist im Panel ruck zuck gemacht. Und zwar unter PHP-Konfigurationen > Neue Konfiguration erstellen so mache ich dies auch bei vers. CMS die ich am laufen habe. Du musst dann nur nach dem erstellen der conf im Panel, einem oder dem einen Kunden die rechte für die php-conf geben. Kunden > Kunden bearbeiten > PHP-Konfiguration und fast ganz unten, dann die conf mit einem hacken aktivieren und schwups kannst du bei jeder domain wo der kunde besitzt die conf aktivieren.

  • Like 1
Link to comment
Share on other sites

  • 0

Erst einmal danke für die Antwort.
Ich glaube aber, dass du mich etwas falsch verstanden hast.
Dass man das Ganze auch irgendwie innerhalb von Froxlor zum Laufen bekommt, ist mir bewusst.
Ich möchte phpMyAdmin aber gerne getrennt von Froxlor laufen lassen, weil die beiden Sachen meiner Meinung nichts miteinander zu tun haben.
Die Konfiguration, um die es mir geht, ist dafür zuständig, dass der Socket, der später vom Webserver angesprochen wird, erstellt wird.
Der Socket ist dann der Teil, an den der PHP Code gesendet wird, diesen ausführt und dann das Ergebnis zurück an den Webserver gibt.
Froxlor erstellt für jede Domain eine solche Datei - zu finden sind die im Ordner "/etc/php/7.x/fpm/pool.d/".
Mein Problem ist es jetzt aber, dass Froxlor beim Generieren dieser Konfigurationen das komplette Verzeichnis leert,
also auch die Konfigurationen löscht, die gar nicht von Froxlor erstellt wurden.

Link to comment
Share on other sites

  • 0
20 minutes ago, d00p said:

Dann erstelle doch einfach pool.d-custom, erstelle dort eigene pool-configs und inkludiere pool.d-custom ebenfalls in der php-fpm.conf

Hat geklappt, danke!
Dass war das wonach ich gesucht habe.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...