phpmyadmin funktioniert nicht

stebu

New Member
Beim mir funktioniert der Aufruf http://../phpmyadmin nicht. Im Einzelnen:

Auf debian etch habe ich mit
Code:
apt-get install phpmyadmin
installiert. Auch MySQL ist bereits installiert, allerdings habe ich als root kein Zugriff um das root-Passwort zu ändern (vgl. entsprechende Anfrage). Nach dem Installieren gibt es ein Verzeichnis /usr/share/phpmyadmin und einen Softlink /var/www/phpmyadmin auf dieses Verzeichnis. Diesen Softlink habe ich den Ordner einer meiner virtuellen Hosts (var/www/wwwcogitosumnet/)kopiert.
Der Aufruf von http://www.cogitosum.private/phpmyadmin produziert den folgenden Fehler:
Code:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


--------------------------------------------------------------------------------

Apache/2.2.3 (Debian) PHP/4.4.4-9 Server at www.cogitosum.private Port 80
Im Apache2 Logfile finde ich folgenden Eintrag:
Code:
192.168.163.2 - - [12/Apr/2007:00:58:36 +0200] "GET /phpmyadmin HTTP/1.1" 500 636
 
nein, leider nicht. Ich vermute, dass ich in meinem virtuellen Verzeichnis nicht Softlinks weiterleiten kann. Meine Konfiguration:

Code:
NameVirtualHost 192.168.163.50
<VirtualHost 192.168.163.50>
ServerName www.cogitosum.private
ServerAlias cogitosum.private 
DocumentRoot /var/www/wwwcogitosumnet

<Directory "/var/www/wwwcogitosumnet">
allow from all
Options +Indexes [COLOR="Red"]FollowSymLinks[/COLOR] MultiViews
</Directory>

CustomLog /var/log/apache2/wwwcogitosumnet.log common

DirectoryIndex index.php index.html index.htm 

</VirtualHost>

Erlaubt nicht gerade FollowSymLinks das?
 
Habe ich oben geschrieben: error_log.
Wenn im Vhost nicht explizit angegeben, findest Du es unter /var/log/apache2/error_log.

huschi.
 
error.log

Code:
[Thu Apr 12 06:38:30 2007] [alert] [client 192.168.163.2] /var/www/wwwcogitosumnet/phpmyadmin/.htaccess: Option FollowSymLinks not allowed here

Es scheint also, dass diese Option irgendwie unterbunden wird. Die angegebene .htaccess-Datei:

Code:
DirectoryIndex index.php
Options +FollowSymLinks -Indexes

<IfModule mod_mime.c>
    <IfModule mod_php4.c>
        AddType application/x-httpd-php .php

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_value include_path .
    </IfModule>
    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_value include_path .
    </IfModule>
    <IfModule !mod_php4.c>
    <IfModule !mod_php5.c>
    <IfModule !mod_fastcgi.c>
    <IfModule !mod_fcgid.c>
    <IfModule mod_actions.c>
    <IfModule mod_cgi.c>
        AddType application/x-httpd-php .php

        Action application/x-httpd-php /cgi-bin/php
    </IfModule>
    <IfModule mod_cgid.c>
        AddType application/x-httpd-php .php

        Action application/x-httpd-php /cgi-bin/php
    </IfModule>
    </IfModule>
    </IfModule>
    </IfModule>
    </IfModule>
    </IfModule>
</IfModule>

# Deny config.inc.php file
<Files config.inc.php>
    Order deny,allow
    Deny from all
</Files>
	
# Authorize for setup
<Files setup.php>
    # For Apache 1.3 and 2.0
    <IfModule mod_auth.c>
	AuthType Basic
	AuthName "phpMyAdmin Setup"
	AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    # For Apache 2.2
    <IfModule mod_authn_file.c>
	AuthType Basic
	AuthName "phpMyAdmin Setup"
	AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Files>
 
Option FollowSymLinks not allowed here
Ist nicht wirklich schwer zu verstehen.
Entweder Du löschst die entsprechende Einstellung oder Du sorgst dafür das es gesetzt werden dar:
AllowOverride Options
(Bereits in der Apache-Conf)

huschi.
 
Habe das selbe Problem: (Debian Etch)

in der /etc/phpmyadmin/htaccess steht standardmäßig folgende Zeile:
Code:
Options +FollowSymLinks -Indexes

=> Führt auf Internal Server Error...

Nun kann ich natürlich diese Zeile entfernen - dann funktioniert PMA. Allerdings stellt das dann ein Sicherheitsrisiko dar. Zumindest kann jeder sich durch die Verzeichnisse browsen. Will da erst gar nicht weiter denken... so bleibts auf jeden Fall nicht.

Wie kann ich es nun erreichen, dass der Apache diese Options der htaccess erlaubt/annimmt. Hab gerade schon ne Weile rumprobiert - ist sicher nur ne Kleinigkeit, ich allerdings zu blöd dafür...

Freue mich auf eure Hilfe :-)


edit: Hat sich erledigt. Nach eingehendem Studium der ApacheDokumentation konnte ich mittels <Directory> die Direktiven erfolgreich eintragen. :-P
 
Last edited by a moderator:
Was genau?

edit: Hat sich erledigt. Nach eingehendem Studium der ApacheDokumentation konnte ich mittels <Directory> die Direktiven erfolgreich eintragen. :-P
Was hast du genau gemacht? Welche Direktiven in welche Datei?
Vielen Dank für die Hilfe!
 
Hi,

nach mehr als 6 Monaten... gute Reaktion ;)
Wie 'phor' bereits geschrieben hat:
Code:
Nach eingehendem Studium der ApacheDokumentation...

-W
 
-

nach mehr als 6 Monaten... gute Reaktion

Hab's halt zur Seite gelegt, weil ich das Problem einfach nicht lösen konnte und die gewünschte Administration von Webmin aus machen konnte. Nun habe ich aber wieder das Bedürfnis, phpmyadmin zu verwenden.

Habe auch versucht, die Dokumentation zu lesen (Kersken, Apache2, Galileo Computung), habe aber nicht genügend übersicht gewonnen. Wäre deshalb froh, wenn ich eine Konfiguration sähe, die funktioniert.
:o
 
Füge doch einfach in deinem vHost Eintrag, der dein phpmyadmin Verzeichnis enthält - wahrscheinlich der für /var/www den Eintrag

Code:
Options +FollowSymLinks -Indexes

hinzu. Dann brauchst du die .htaccess von phpmyadmin auch gar nicht verändern.
 
In der Datei /etc/apache2/sites-available/www.cogitosum.net habe ich folgenden Eintrag:
Code:
#NameVirtualHost 88.198.26.132:80
<VirtualHost 88.198.26.132:80>
ServerName www.cogitosum.net
ServerAlias  cogitosum.net cogitosum.info www.cogitosum.info www.fluxus.info
DocumentRoot /var/www/wwwcogitosumnet

<Directory "/var/www/wwwcogitosumnet">
allow from all
Options -Indexes +FollowSymLinks
AllowOverride None
</Directory>

CustomLog /var/log/apache2/wwwcogitosumnet.log common

DirectoryIndex index.php index.html index.htm 

</VirtualHost>
Trotzdem erhalte ich die Fehlermeldung:
Code:
Forbidden
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7 Server at www.cogitosum.net Port 80

Die error.log Datei zeigt an:
Code:
[Sun Jan 06 10:29:06 2008] [notice] caught SIGTERM, shutting down
[Sun Jan 06 10:29:07 2008] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7 configured -- resuming normal operations
[Sun Jan 06 10:29:22 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.php denied
[Sun Jan 06 10:29:22 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.html denied
[Sun Jan 06 10:29:22 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.htm denied
[Sun Jan 06 10:29:24 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.php denied
[Sun Jan 06 10:29:24 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.html denied
[Sun Jan 06 10:29:24 2008] [error] [client 84.226.49.38] (13)Permission denied: access to /phpmyadmin/index.htm denied
und in der Datei /var/log/apache2/wwwcogitosumnet.log finde ich:
Code:
84.226.49.38 - - [06/Jan/2008:10:24:07 +0100] "GET /phpmyadmin/ HTTP/1.1" 403 313
84.226.49.38 - - [06/Jan/2008:10:28:10 +0100] "GET /phpmyadmin/ HTTP/1.1" 403 313
84.226.49.38 - - [06/Jan/2008:10:29:22 +0100] "GET /phpmyadmin/ HTTP/1.1" 403 313
84.226.49.38 - - [06/Jan/2008:10:29:24 +0100] "GET /phpmyadmin/ HTTP/1.1" 403 313
 
Dein Auszug bezieht sich ja auch auf ein Unterverzeichnis von /var/www und nicht auf /var/www selbst, in dem ja phpmyadmin liegt!

Du bräuchtest sowas in der Art:
Code:
<Directory "/var/www/(phpmyadmin/)">
Options -Indexes +FollowSymLinks
</Directory>
 
Verzeichnisstruktur

Meine Verzeichnisstruktur nach der Installation in Debian:

Virtueller Host: /var/www/wwwcogitosumnet
darin ist ein Softlink enthalten: /var/www/wwwcogitosumnet/phpmyadmin
Dieser zeigt auf das Verzeichnis /usr/share/phpmyadmin/

Müsste ich demnach in der Konfiguration des virtuellen Hosts Cogito Sum auf noch das Verzeichnis /usr/share/phpmyadmin in einer Directory Anweisung aufnehmen?
Ist es überhaupt sinnvoll/üblich, phpmyadmin in /usr/share abzulegen (Debian etch). Ich glaube, ich habe diesen Pfad nicht gewählt, sondern er wurde standardmässig so eingerichtet.
 
Bei mir wird die phpmyadmin Oberfläche unter Debian in /var/www/phpmyadmin installiert.

Du könntest auch ein OpenBasedir für dein pma Verzeichnis anlegen.
 
Bei mir wird die phpmyadmin Oberfläche unter Debian in /var/www/phpmyadmin installiert.
Debian etch?

Du könntest auch ein OpenBasedir für dein pma Verzeichnis anlegen.
Heute 13:53
Habe kurz nachgeschlagen: Das ist ein Verzeichnis innerhalb dessen php Skripte ausführen darf? Ich habe bereits Moodle installiert (in einem anderen Unterverzeichnis von /var/www/) und werde noch Typo3 installieren. Beiden bauen auf PHP auf. Mit einem OpenBasedir würde ich da wohl Probleme bekommen. Oder nicht?
 
Problem gelöst

Nun habe ich das Problem folgendermassen lösen können:
  • phpmyadmin deinstallieren
  • phpmyadmin neu installieren
  • Das Verzeichnis /usr/share/phpmyadmin nach /var/www/ kopieren
  • Im Verzeichnis der einen Webseite einen Solftlink auf /var/www/phpmyadmin anlegen

Nun funktioniert auch der Zugriff, obwohl ich an der Apache2 Konfiguration keine Änderung mehr vorgenommen habe. Warum weiss ich nicht? Falls mir jemand das erklären kann, habe ich ein offenes Ohr.

Vielen Dank für die Hilfe!!
 
Back
Top