libapache2-mod-fcgid und phpmyadmin

Eine Möglichkeit, PHP Scripte nicht mit dem Webserveruser, sonderm mit dem Besitzer der Datei auszuführen, bietet das Modul FCGID für den Apache2 Server. Bei Debian lautet der Packetname libapache2-mod-fcgid.

Wie man ein solches System eingerichtet, kann man z.B. hier und hier nachlesen.

Ein Nachteil ist, dass Webanwendungen, wie phpmyadmin, die auch über apt oder aptitude bezogen werden, nur mit Mehraufwand laufen. Dies liegt daran, dass sie erwarten, dass der  Benutzer www-data die Webseiten ausliefert. Dies ist durch FCGID aber gerade nicht mehr der Fall.

Man hat jetzt 2 Möglichkeiten: Entweder man installiert phpmyadmin manuell, oder man passt die über apt oder aptitude bezogene Installation an.

Bei der zweiten Variante legt man einen weiteren Vhost in dem Ordner /etc/apache2/sites-available an:

und aktiviert diesen mit a2ensite „vhostname“ und /etc/init.d/apache2 reload.
Weshalb auch immer, der Include für das Blowfish Passwort wird nicht richtig ausgeführt. Man kommentiert in der /usr/share/phpmyadmin/config.inc.php den Include am besten aus und schreibt den einzigen PHP Befehl aus dieser Datei direkt in die config.inc.php.

Macht man dies nicht erhält man diesen Fehler bei der Login Page:

Ab sofort muss ein geheimes Passwort zur Verschlüsselung in der Konfigurationsdatei gesetzt werden (blowfish_secret).

Hat man alle Schritte Befolgt, sollte man unter dem eingestellten Vhost Zugriff auf phpmyadmin haben.

6 Gedanken zu “libapache2-mod-fcgid und phpmyadmin

  1. Ok danke hat funktioniert! Nun aber erneut ein weiterer Fehler! Ich habe quasi fcgi phpmyadmin läuft z.b. unter dem user pma unter basedir habe ich die dirs freigegeben wenn ich nun auf die seite gehe und mich einloge fun ktioniert alles wunderbar! jedoch wenn ich nun links oben auf exit drücke und mich erneut verushce einzulogen, bekomme ich vokgendes angezeigt
    #1045 – Access denied for user ‚root’@’localhost‘ (using password: YES)

  2. Sieht aus, als ob du auch meinen Usermanager benutzt.

    Er erlaubt PHP aus Sicherheitsgründen nur in dem htdocs Verzeichnis.
    Hebe das immutable Bit für die php.ini des Vhosts auf und editier sie. (chattr -i php.ini)
    Such die Stelle:
    open_basedir =
    Und ändere sie auf die PMA Verzeichnisse um.

    Wenn du das gemacht hast setze das erneut: chattr -V +i php.ini

    Die änderung gilt dann nur für diesen Vhost/User.
    Und noch ein kleiner Tip:
    AllowOverride auf AuthType
    und eine htacces und htpasswd anlegen.
    Wenn jemand unbefugtes die Subdomain findet kann er so nicht einmal Schwachstellen in phpmyadmin ausnutzen.

  3. Danke für den Tip auf diese Seite.

    Jedoch bekomme ich immer noch folgendes angezeigt:
    No input file specified.

    Ich weis einfach nicht wo ich anfangen soll und hoffe du hast noch 1-2 Tips für mich wie ich das Problem Lösen kann

    Was habe ich bis jetzt gemacht?

    Also ich habe quasi einen neuen User angelegt zur gruppe www-data gelegt und mir meine ordner erstellt! Die php.ini angelegt und fcgi-starter.

    Danach meine Host Datei nach dieser anleitung! Und dann passiert dieser fehler

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.