.htaccess Problem

sourze

New Member
Hallo,

ich hab mir nun mal .htaccess gemacht, auf das gesamte www verzeichnis!

Aber nun kann ich nicht mehr phphmyadmin aufrufen, kommt ständig

Code:
Forbidden

You don't have permission to access /phpmyadmin/ on this server.


Meine Konfig von .htaccess sieht so aus:

Code:
<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
 
Das ist der Inhalt deiner .htaccess-Datei? Wenn ja, bist du damit auf dem Holzweg. Was genau möchtest du mit der htaccess denn machen?
 
Das ist der inhalt von "/etc/apache2/sites-available/default"

Dann hab ich noch eine etc/apache2/httpd.conf:
Code:
DocumentRoot /var/www/

<Directory />
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>



<Directory /var/www>
   Options +FollowSymLinks -MultiViews -Indexes
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>


<FilesMatch "^." >
 deny from all
</FilesMatch>


Und in der .htacces selbst ist folgendes drin:
Code:
AuthName "Secret"
AuthType Basic
require valid-user
AuthUserFile /var/www/.htpasswd



Es funktioniert ja auch alles, wenn ich die Hauptadresse aufrufe, werde ich nach Passwort gefragt und auch jede Unterordner!

Nur komm ich eben nicht ins phpmyadmin, kann es sein, dass es daran liegt, dass es nicht auf /www liegt, sondern in /usr/share?
 
Last edited by a moderator:
Jop, also wenn ich in der Adressezeile www.meineseite.de/phpmyadmin aufrufe, dann kommt normal das Login-Menü zu pMA.
Also bevor ich das mit dem .htaccess gemacht hab!

Wenn ich jetzt in die Error-Logs von Apache schaue, steht dann immer
Code:
client denied by server configuration: /usr/share/phpmyadmin/


Aber alles anderes funktioniert, also angenommen ich ruf die index.php im www Verzeichnis auf, dann frägt der nach Passwort, und dann geht alles :D
 
Ja geht!

Die Sache ist die:

Meine httpd.conf war komplett leer.
Dann hab ich eben das, was ich oben gepostet habe reingeschrieben und bei available-sites/default auch.

Seitdem funktioniert zwar die Passwortabfrage, aber pma nicht mehr
 
Meine httpd.conf war komplett leer.
Dann hab ich eben das, was ich oben gepostet habe reingeschrieben und bei available-sites/default auch.

Wenn weder in deiner httpd.conf noch in der available-sites/default irgendwas von deinem /var/www-Verzeichnis drin stand, frag ich mich, wie die Website vorher funktioniert hat. Sorry, aber ich kann dir irgendwie nicht so ganz folgen..
 
Verschiebe mal die .htacces nach ausserhalb deines www ordners.
Setze die Rechte für den Webserver auf lesen , und ändern nur Root.
Finde ich besser als wie du es gemacht hast. Musst natürlich den vollen pfad angeben ;-)

So nun zu deinem Problem:D
Hast du mal in den Logs nach geschaut? Apache ist ziemlich gut im Loggen , da sollte was zu finden sein.

Mir ist grade folgendes aufgefallen:

Code:
Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        [COLOR="Red"]Allow from 127.0.0.0/255.0.0.0 ::1/128[/COLOR]
    </Directory>

Teste mal obs funktioniert wenn du daraus ein allow all machst.
Weiss zwar nicht welches OS du einsetzt , könnte aber sein das phpmyadmin bei dir in /usr/share liegt.
 
Last edited by a moderator:
@Karl34

Wieso sollt ich die .htaccess außerhalb des www Ordners verschieben? Meinst du nicht die .htpasswd?

Und was meinst du mit den Leserechte?

@Mr.Check

In der sites-available/default, standen die Werte drin, jedoch war die httpd.conf leer.

Ich hab das Problem aber gelöst!

Code:
<Directory />
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>

Da hat Options +FollowSymlinks gefehlt und die .htacces in /usr/share/phpmyadmin hat gefehlt. Nun geht alles wie es sein soll xD

Hatte das aber schon mal so gemacht, nur den Apache Dienst nicht neugestartet, somit hatte er die Änderung nicht übernommen.

Ich glaube das reicht erstmal um den PMA abzusichern? Htacces und noch zusätzlich ein Login fürs PMA :D
 
Last edited by a moderator:
Du schreibst
Code:
AuthUserFile /var/www/.htpasswd
Also ist doch die .htpasswd unter /var/www oder ?

Kann sein das ich die .htaccess mit der .htpasswd verwechselt habe.
 
Ja, die ist auch da, aber in Apache ist doch eh schon eingestellt, dass man solche Dateien nicht saugen kann.

Und die hab ich jetzt nur mal drin gelassen, weil ich das erstmal zum Laufen bringen wollte :D

Aber danke für den Hinweis!
 
Ich hab das Problem aber gelöst!

Code:
<Directory />
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>
Ach, das ist eine Lösung?
Du gibst das Root-Verzeichnis frei? Glaubst du, dass du die globale Sicherheitseinstellung von Apache wirklich nicht willst?
OK, du bist root, du willst und darfst das.
 
Ohhhhhhhh sehr elegant gelöst :eek:
Ist nicht das Root Verzeichniss /root wäre das root verzeichniss ;)
Aber mal direckt "/" zu nehmen ist dann vieleicht was übertrieben.
Da sollte auch ein ,
Code:
/usr/share/phpmyadmin-pfad
ausreichen.
Verstehe nicht was du mit datei nicht saugen kann? Mir gehts mehr ums auslesen! Deswegen auch die Datei Rechte der .htpasswd überprüfen. Sind die Rechte auf 777 wäre das der zweite Punkt welcher nicht sehr klug war.
 
Ich rede vom Rootverzeichnis des Systems, nicht vom Nutzer root!
Oder wie heißt bitte das Wurzel(Root)-Verzeichnis? Karotte? carrot? Potatoe? ;)
 
Ich rede vom Rootverzeichnis des Systems, nicht vom Nutzer root!
Oder wie heißt bitte das Wurzel(Root)-Verzeichnis? Karotte? carrot? Potatoe? ;)

Ja würde ich auch sagen / ist das root-Verzeichnis, /root ist das Home-Verzeichnis des Benutzers root. Oder gibt es tatsächlich andere Interpretationen dazu? :D
 
Ich hätte ja nun wirklich mal nachgesehen wohin der Alias /phpmyadmin wirklich zeigt und für das Directory die Konfiguration für AllowOverride gesetzt.
Aber wie gesagt, der TE ist ja root und darf alles, auch das System "sicher machen" wie er will.

Ich wünsche noch weiter Erfolg beim Experimentieren und Lernen.
 
Ich hätte ja nun wirklich mal nachgesehen wohin der Alias /phpmyadmin wirklich zeigt und für das Directory die Konfiguration für AllowOverride gesetzt.


Meinst du etwa:

Code:
<Directory /das/verzeichnis/phpmyadmin/>
		Options FollowSymLinks
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>


Könnte klappen :D
 
Back
Top