phpMyAdmin + FastCGI + Apache MPM Worker

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von GTB, 7. März 2012.

  1. GTB

    GTB Member

    Hi,

    ich setze gerade einen neuen Server auf und stehe vor dem Problem, dass der Server mit dem MPM Worker arbeiten muss.

    Dabei läuft PHP ja als FastCGI. Das ist genau das was ich will, aber da funktioniert PMA nicht so wie es soll.

    http://www.domain.tld/phpmyadmin

    da kommt dann nur der berühmt berüchtigte Download Dialog.

    Es gibt aber eine Lösung dafür:

    1. im Ordner /etc/apache2/conf.d den Link von PMA entfernen

    2. in ISPConfig in den Apache Direktiven muss das hier eingetragen werden:

    Code:
    Alias /phpmyadmin /usr/share/phpmyadmin
    
    <Directory /usr/share/phpmyadmin>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper /var/www/php-fcgi-scripts/[KUNDEN_ID]/.php-fcgi-starter .php
        Options +ExecCGI
        DirectoryIndex index.php
    </Directory>
    
    # Disallow web access to directories that don't need it
    <Directory /usr/share/phpmyadmin/libraries>
        Order Deny,Allow
        Deny from All
    </Directory>
    <Directory /usr/share/phpmyadmin/setup/lib>
        Order Deny,Allow
        Deny from All
    </Directory>
    
    Allerdings möchte ich das für die Domains automatisch hinterlegt haben.

    Jetzt auch meine Frage:

    wo füge ist die Vorlage in ISPConfig in der ich das einfügen kann, damit auch die [KUNDEN_ID] im Pfad zum Wrapper ersetzt wird ?


    Danke.
     
  2. Till

    Till Administrator

    Du musst die /usr/local/ispconfig/server/conf/vhost.conf.master datei ändern anstatt es in das apache Direktiven Feld einzufügen.
     
  3. GTB

    GTB Member

    Hi Till,

    danke für die Antwort.


    Kann ich auch ncoh auf die Variable zurückgreifen die ich unter Interface Config für phpMyAdmin angebe ?

    dann wäre das perfekt für mich.

    Danke.
     
  4. Till

    Till Administrator

    Die steht nicht zur Verfügung.
     
  5. GTB

    GTB Member

    Hi Till,

    wo wird diese Angabe verarbeitet und welche Config wird damit erstellt ?

    Vielleicht lässt sich ja auf diesem Weg was machen.

    Danke.
     
  6. Till

    Till Administrator

    Die onfiguration die Du gepostet hast gehört in die vhost.conf. master und kann auch nur dort umgesetzt werden. Ein Platzhalter [KUNDEN_ID] macht in der apache Config keinen Sinn denn ein Kunde ist ein virtuelles Konstrukt in der MySQL DB von ISPConfig für das es keine Entsprechung auf Linux Konfigurationsebene gib. Ein Kunde ist ldiglich die Adresslistensammlung sowie ein Speicherfeld für Limits die in ISPConfig überprüft werden.

    Schau Dir also mal die vhost.conf.master an, dort findest Du alle notwendigen und vor allem richtigen Variablen für die phpmyadmin Konfiguration insbesondere auch den korrekten Pfad zum fcgi Startr script der Webseite.
     
  7. GTB

    GTB Member

    das habe ich schon verstanden.

    Ich wollte nur noch wissen, wo die Eingabe für den Pfad zu PMA verarbeitet wird.

    Wird damit die /etc/phpmyadmin/apache.conf neu geschrieben ?

    oder wo wird der Alias für PMA dann gemacht ?

    Gruss
     
  8. Till

    Till Administrator

    Damit wird ein Link im Interface eingeblendet, mehr nicht. Die dazu korrespondierende Konfiguration wird nicht von ISPConfig erstellt soenderm vom phpmyadmin paket der Linux Distribution.

    Du kannst übrigens phpmyadmin ganz einfach per mod_php laufen lassen auch wenn die Webseiten über fastcgi laufen, dazu editierst Du die apache phpmyadmin.conf datei und fügst folgendes ein:

    Code:
    <Directory /usr/share/phpmyadmin>
      Options FollowSymLinks
      <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        php_value include_path .
        php_admin_value upload_tmp_dir /tmp
        php_admin_value open_basedir /usr/share/phpmyadmin:/etc/phpmyadmin
        php_flag register_globals off
      </IfModule>
    Denn wenn Du fastcgi für die Webseiten einsetzt dann sollte auch immer suexec an sein und suexec funktioniert aber nicht für Seiten die in /usr/share liegen, daher nimmt man dafür den Ansatz mit mod_php und nicht die Konfiguration die Du oben beschrieben hast.
     
  9. GTB

    GTB Member

    mod_php ist bei mir aber nicht installiert, da ich den MPM-Worker installiert habe, und der kann kein mod_php

    Deshalb auch mein Lösungsweg.

    Gruss
     
  10. Till

    Till Administrator

    Dann geht aber auch kein Suexec was das setup unsicherer macht da alle Scripte unter dem apache User laufen. Das kann man machen wenn der Server nicht mehr als eine Webseite hostet, bei mehreren Webseiten würde ich das aber nicht empfehlen. Wenn Dir apache zu langsam ist, dann nimm lieber gleich nginx.
     
  11. GTB

    GTB Member

    nginx kann aber keine htaccess Dateien verarbeiten, die aber für die Seiten die darauf laufen notwendig sind.

    Gruss
     
  12. Till

    Till Administrator

    Auf nginx läuft an sich jedes cms, denn dass was die .htaccess Dateien bewirken gibt es auch in nginx, die Regeln heißen nur anders und stehen im custom nginx Direktiven Feld.
     

Diese Seite empfehlen