KleinerDicker99: Passwortschutz htaccess - Fehlercode 500, wie lösbar?

Hallo,

zuerst Entschuldigung für die vielleicht dumme Frage, aber ich probiere es seit gestern abend, komme aber nicht zum richtigen Ergebnis.

Ich habe auf meiner Domain (gehostet bei All-Ink) eine Unterdomain eingerichtet (unterdomain.domain.de). Die Unterdomain ist mit einem Verzeichnis auf dem Webserver verknüpft. Lege ich dort eine index.html rein und gebe im Browser die Unterdomainadresse ein, öffnet sich die Seite wie gewünscht.

Jetzt habe ich in das Unterverzeichnis noch eine ".htaccess" Datei gelegt mit folgendem Inhalt:

AuthType Basic
AuthName "Protected Area"
AuthUserFile /admin/.htpasswd
Require valid-user

Im Verzeichnis "admin" liegt die entsprechende ".htpasswd" Datei. Beide Dateien wurden per Texteditor erstellt, per FTP hochgeladen und dann auf dem Webserver umbenannt. Passwort vorher entsprechend verschlüsselt.

Wenn ich jetzt die Unterdomain eingebe, komme ich noch zur Passwortabfrage. Aber immer wenn ich was eingebe (auch die richtige Kombination ;-), kommt dann ein "500 - interner Server Fehler". Ich habe bisher alles mögliche probiert, bekomm es aber nicht hin. Wenn die Passwortabfrage erfolgreich ist, müsste er doch die "index.html" in dem Verzeichnis ganz normal öffnen?

Woran kann es liegen, ich habe das Gefühl ich stelle mich zu dumm an, weiß aber auch nicht mehr woran es liegen könnte.

Fällt Euch was ein, kann ich den Passwortschutz für die Unterdomain bzw. das Verzeichnis auch noch anders lösen? Es soll letztendlich für die Familie sein, die unter der Unterdomain eine Website finden, mit Verlinkungen auf Fotoalben.

Danke und VG

Der Dicke

  1. Hello,

    Jetzt habe ich in das Unterverzeichnis noch eine ".htaccess" Datei gelegt mit folgendem Inhalt:

    AuthType Basic
    AuthName "Protected Area"
    AuthUserFile /admin/.htpasswd
    Require valid-user

    Im Verzeichnis "admin" liegt die entsprechende ".htpasswd" Datei.

    Bist Du sicher, dass da nicht das Verzeichnis

    /var/www/*deinedomain*/htdocs/admin/

    ist?

    Das AuthFile muss absolut zum Dateisxystem des Hosts angegeben werden und nicht zur DocRoot der Domain.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo Tom,

      mhhm weiß nicht, mit de FTP Programm sehe ich direkt im Root eben den erstellten Ordner "admin". Wenn ich in der .htaccess jetzt den Pfad: /var/www/meine-domain.de/htdocs/admin/.htpasswd eintrage kommt aber wieder die gleiche Fehlermeldung. Ich weiß auch nicht an welcher Stelle er denn aussteigt. Kann er überhaupt noch auf die Passwortdatei zugreifen und findet sie, oder bricht er schon vorher ab? Kann ich das irgendwie feststellen? Es gibt ein Verzeichnis Logs, aber alles gz Dateien.

      Danke und Grüße Der Dicke

      Hello,

      Jetzt habe ich in das Unterverzeichnis noch eine ".htaccess" Datei gelegt mit folgendem Inhalt:

      AuthType Basic

      AuthName "Protected Area"
      AuthUserFile /admin/.htpasswd
      Require valid-user

      Im Verzeichnis "admin" liegt die entsprechende ".htpasswd" Datei.

      Bist Du sicher, dass da nicht das Verzeichnis

      /var/www/*deinedomain*/htdocs/admin/

      ist?

      Das AuthFile muss absolut zum Dateisxystem des Hosts angegeben werden und nicht zur DocRoot der Domain.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      1. Hello,

        mhhm weiß nicht, mit de FTP Programm sehe ich direkt im Root eben den erstellten Ordner "admin". Wenn ich in der .htaccess jetzt den Pfad: /var/www/meine-domain.de/htdocs/admin/.htpasswd eintrage kommt aber wieder die gleiche Fehlermeldung. Ich weiß auch nicht an welcher Stelle er denn aussteigt. Kann er überhaupt noch auf die Passwortdatei zugreifen und findet sie, oder bricht er schon vorher ab? Kann ich das irgendwie feststellen? Es gibt ein Verzeichnis Logs, aber alles gz Dateien.

        Dann probier doch mal eine relative Angabe.

        Ich rate jetzt mal den Aufbau:

        Domain/Document_root/.htaccess
            Domain/admin/

        also

        ../admin/.htpasswords

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hallo Tom,

          ich weiß es ehrlich gesagt nicht, tut mir auch leid dass ich mich so dumm anstelle.

          Aslo wenn ich mich auf dem FTP Server einlogge, dann sehe ich Ordner wie z.B. cgi-bin oder usage. Auf der Ebene ist auch ein Unterordner "Bilder" erstellt. Die Subdomain verlinkt auf diesen Ordner, wie gesagt, liegt dort nur ne index.html funktioniert dies auch. In dem Ordner Bilder liegt dann eben auch die .htaccess. Diese verweist auf /admin/.htpasswd, mit dem verschlüsselten Passwort. Aber die Fehlermeldung kommt weiterhin. Eine andere Ordnerstruktur kann ich aber nicht finden, weißt Du an welcher Stelle er denn rausfliegt? Die .htaccess scheint er ja noch zu finden, sonst würde ja die Passwortabfrage nicht kommen.

          Sollte diese korrekt funktionieren, was macht er denn eigentlich dannach? Kann er überhaupt eine index.html von alleine öffnen?

          VG und Danke,

          Der Dicke

          Hello,

          mhhm weiß nicht, mit de FTP Programm sehe ich direkt im Root eben den erstellten Ordner "admin". Wenn ich in der .htaccess jetzt den Pfad: /var/www/meine-domain.de/htdocs/admin/.htpasswd eintrage kommt aber wieder die gleiche Fehlermeldung. Ich weiß auch nicht an welcher Stelle er denn aussteigt. Kann er überhaupt noch auf die Passwortdatei zugreifen und findet sie, oder bricht er schon vorher ab? Kann ich das irgendwie feststellen? Es gibt ein Verzeichnis Logs, aber alles gz Dateien.

          Dann probier doch mal eine relative Angabe.

          Ich rate jetzt mal den Aufbau:

          Domain/Document_root/.htaccess
              Domain/admin/

          also

          ../admin/.htpasswords

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          1. Hello,

            ich wiederhole nochmal:

            Dann probier doch mal eine relative Angabe.

            Ich rate jetzt mal den Aufbau:

            Domain/Document_root/.htaccess
                Domain/admin/

            also

            ../admin/.htpasswords

            Du musst Dir erstmal über den Aufbau der Ordnerstruktur klar werden

            Wenn Du aber "/admin/.htpasswords" schreibst in , dann wird ab der Filserver-Root gesucht. Das ist auf jeden Fall falsch, wenn es ein shared Host ist.

            Ich würde das Passwortfile auch nicht ".htpasswd" nennen, da "htpasswd" der Name des Programmes ist, mit dem man Passworte erstellen kann. Das führt dann allzu schnell zu Verwechselungen.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hello,

              und NUR ZUM AUSPROBIEREN kannst Du die .htpasswords-Datei auch mal ins selbe Verzeichnis legen, in dem auch die .htaccess liegt. Dann muss in der .htaccess natürlich nur der Dateiname drinstehen.

              AuthType Basic
              AuthName "Protected Area"
              AuthUserFile ./.htpasswords
              Require valid-user

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
              1. Hallo Tom,

                also ich habe jetzt noch mal alles probiert, auch alles noch mal neu hochgeladen (wegen dem ASCII Modus bei FTP Upload). Egal wo ich die Datei hinschiebe und wie ich sie nenne, es funktioniert nicht. Es kommt die PW Abfrage und dann immer der Fehler. Ich weiß aber eben immer noch nicht, ob er nicht auf die PW Datei zugreifen kann, oder ob was mit dem PW nicht stimmt. Aber selbst wenn ich noch mal test:test generieren lasse, funktioniert es nicht. Auch kommt die Fehlermeldung, wenn ich einfach mal ein falsches PW eingebe.

                Ich bin echt am verzweifeln, nervt mich schon dass ich es nicht hinbekomme, gibt es denn noch eine andere Möglichkeit? Wie gesagt im gleichen Ordner und in einem anderen "admin" habe ich es probiert.

                VG und Danke,

                Der Dicke

                P.S: Kann es an meinem Webserver liegen??

                Hello,

                und NUR ZUM AUSPROBIEREN kannst Du die .htpasswords-Datei auch mal ins selbe Verzeichnis legen, in dem auch die .htaccess liegt. Dann muss in der .htaccess natürlich nur der Dateiname drinstehen.

                AuthType Basic
                AuthName "Protected Area"
                AuthUserFile ./.htpasswords
                Require valid-user

                Liebe Grüße aus dem schönen Oberharz

                Tom vom Berg

                1. Hello,

                  P.S: Kann es an meinem Webserver liegen??

                  Hast Du das auch so, wie hier angegeben, ausprobiert?

                  und NUR ZUM AUSPROBIEREN kannst Du die .htpasswords-Datei auch mal ins selbe Verzeichnis legen, in dem auch die .htaccess liegt. Dann muss in der .htaccess natürlich nur der Dateiname drinstehen.

                  AuthType Basic
                  AuthName "Protected Area"
                  AuthUserFile ./.htpasswords
                  Require valid-user

                  Hast Du schon ausprobiert, nur eine .htaccess-Datei im Verzeichnis abzulegen, in der nur einfache Dinge drinstehen?

                  Zu Beginn des Versuchs lass sie mal ganz leer, was dann passiert
                  Als nächstes schreibst Du mal rein

                  .htaccess

                  options +indexes

                  und sorgst dafür, dass im Verzeichnis keine index.php oder index.html oder sowas herumliegt.
                  Nun müsstest Du beim Request auf das Verzeichnis die Liste der darin befindlichen Files bekommen.

                  Wenn das auch schon Fehler 500 verursacht, dann darfst Du keine .htaccess benutzen, bzw, diese Konfigurationen in einer .htaccess nicht verwenden. Das wird in der übergeordneten Konfiguration (also entweder VirtHost, ggf. nur für spezielle Verzeichnisse, oder in der Webserver-Hauptkonfiguration) eingestellt.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Hallo Tom,

                    so habe ich probiert. Wenn die .htaccess leer ist und noch eine index.html drin liegt öffnet er einfach diese. Nehme ich den Code mit options und lösche alle Dateien aus dem Verzeichnis, kommt immer ne Fehlermeldung "403 - You don't have permission to access /admin/ on this server.". Das ganze habe ich dann auch mal noch mit der Hauptdomain probiert, da passiert das Selbe. Dass heißt dann vielleicht doch, dass htaccess auf dem Server nicht erlaubt ist? Ich habe aber auch ehrlich gesagt keine Stelle gefunden, wo ich das im Konfigurationsmenu einstellen kann?!

                    Danke und VG

                    Der Dicke

                    Hello,

                    P.S: Kann es an meinem Webserver liegen??

                    Hast Du das auch so, wie hier angegeben, ausprobiert?

                    und NUR ZUM AUSPROBIEREN kannst Du die .htpasswords-Datei auch mal ins selbe Verzeichnis legen, in dem auch die .htaccess liegt. Dann muss in der .htaccess natürlich nur der Dateiname drinstehen.

                    AuthType Basic
                    AuthName "Protected Area"
                    AuthUserFile ./.htpasswords
                    Require valid-user

                    Hast Du schon ausprobiert, nur eine .htaccess-Datei im Verzeichnis abzulegen, in der nur einfache Dinge drinstehen?

                    Zu Beginn des Versuchs lass sie mal ganz leer, was dann passiert
                    Als nächstes schreibst Du mal rein

                    .htaccess

                    options +indexes

                    und sorgst dafür, dass im Verzeichnis keine index.php oder index.html oder sowas herumliegt.
                    Nun müsstest Du beim Request auf das Verzeichnis die Liste der darin befindlichen Files bekommen.

                    Wenn das auch schon Fehler 500 verursacht, dann darfst Du keine .htaccess benutzen, bzw, diese Konfigurationen in einer .htaccess nicht verwenden. Das wird in der übergeordneten Konfiguration (also entweder VirtHost, ggf. nur für spezielle Verzeichnisse, oder in der Webserver-Hauptkonfiguration) eingestellt.

                    Liebe Grüße aus dem schönen Oberharz

                    Tom vom Berg

                    1. Hello Andre,

                      so habe ich probiert. Wenn die .htaccess leer ist und noch eine index.html drin liegt öffnet er einfach diese. Nehme ich den Code mit options und lösche alle Dateien aus dem Verzeichnis, kommt immer ne Fehlermeldung "403 - You don't have permission to access /admin/ on this server.". Das ganze habe ich dann auch mal noch mit der Hauptdomain probiert, da passiert das Selbe. Dass heißt dann vielleicht doch, dass htaccess auf dem Server nicht erlaubt ist? Ich habe aber auch ehrlich gesagt keine Stelle gefunden, wo ich das im Konfigurationsmenu einstellen kann?!

                      Hast Du schon ausprobiert, nur eine .htaccess-Datei im Verzeichnis abzulegen, in der nur einfache Dinge drinstehen?

                      Zu Beginn des Versuchs lass sie mal ganz leer, was dann passiert
                      Als nächstes schreibst Du mal rein

                      .htaccess

                      options +indexes

                      und sorgst dafür, dass im Verzeichnis keine index.php oder index.html oder sowas herumliegt.
                      Nun müsstest Du beim Request auf das Verzeichnis die Liste der darin befindlichen Files bekommen.

                      Wenn das auch schon Fehler 500 verursacht, dann darfst Du keine .htaccess benutzen, bzw, diese Konfigurationen in einer .htaccess nicht verwenden. Das wird in der übergeordneten Konfiguration (also entweder VirtHost, ggf. nur für spezielle Verzeichnisse, oder in der Webserver-Hauptkonfiguration) eingestellt.

                      Wenn "Options" nicht erlaubt wären, müsste das auch wieder einen Fehler 500 geben, wenn Du sie trotzdem verwendest. Was für mein Verständnis jetzt nicht passt, ist Fehler 403 (File not found), wenn du "options +indexes" drinstehen hattest und nur das Verzeichnis aufgerufen hast. Dann hätte es mMn eine Liste der vorhandenen übrigen Files im Verzeichnis (also z.B. der Bilder) geben müssen, oder einen 500er.

                      Da ist noch irgendetwas merkwürdig konfiguriert.

                      Liebe Grüße aus dem schönen Oberharz

                      Tom vom Berg

                      --
                       ☻_
                      /▌
                      / \ Nur selber lernen macht schlau
                      http://bergpost.annerschbarrich.de
                    2. So ich habe es hinbekommen, es war dann doch das Dateiverzeichnis.

                      Ich musste folgendes nehmen: AuthUserFile /www/htdocs/FTPZugang/Ordnername/.htpasswd

                      Damit funktioniert es jetzt, soll einer wissen, wie die Serverstruktur aussieht ;-) Aber auf der Website des Serverhosters habe ich noch einen Hinweis dazu gefunden.

                      Vielen Dank für Deine Hilfe!!

                      VG und schönen Abend noch,

                      Der Dicke

                      Hallo Tom,

                      so habe ich probiert. Wenn die .htaccess leer ist und noch eine index.html drin liegt öffnet er einfach diese. Nehme ich den Code mit options und lösche alle Dateien aus dem Verzeichnis, kommt immer ne Fehlermeldung "403 - You don't have permission to access /admin/ on this server.". Das ganze habe ich dann auch mal noch mit der Hauptdomain probiert, da passiert das Selbe. Dass heißt dann vielleicht doch, dass htaccess auf dem Server nicht erlaubt ist? Ich habe aber auch ehrlich gesagt keine Stelle gefunden, wo ich das im Konfigurationsmenu einstellen kann?!

                      Danke und VG

                      Der Dicke

                      Hello,

                      P.S: Kann es an meinem Webserver liegen??

                      Hast Du das auch so, wie hier angegeben, ausprobiert?

                      und NUR ZUM AUSPROBIEREN kannst Du die .htpasswords-Datei auch mal ins selbe Verzeichnis legen, in dem auch die .htaccess liegt. Dann muss in der .htaccess natürlich nur der Dateiname drinstehen.

                      AuthType Basic
                      AuthName "Protected Area"
                      AuthUserFile ./.htpasswords
                      Require valid-user

                      Hast Du schon ausprobiert, nur eine .htaccess-Datei im Verzeichnis abzulegen, in der nur einfache Dinge drinstehen?

                      Zu Beginn des Versuchs lass sie mal ganz leer, was dann passiert
                      Als nächstes schreibst Du mal rein

                      .htaccess

                      options +indexes

                      und sorgst dafür, dass im Verzeichnis keine index.php oder index.html oder sowas herumliegt.
                      Nun müsstest Du beim Request auf das Verzeichnis die Liste der darin befindlichen Files bekommen.

                      Wenn das auch schon Fehler 500 verursacht, dann darfst Du keine .htaccess benutzen, bzw, diese Konfigurationen in einer .htaccess nicht verwenden. Das wird in der übergeordneten Konfiguration (also entweder VirtHost, ggf. nur für spezielle Verzeichnisse, oder in der Webserver-Hauptkonfiguration) eingestellt.

                      Liebe Grüße aus dem schönen Oberharz

                      Tom vom Berg

                      1. So ich habe es hinbekommen, es war dann doch das Dateiverzeichnis.

                        Ich musste folgendes nehmen: AuthUserFile /www/htdocs/FTPZugang/Ordnername/.htpasswd

                        Damit funktioniert es jetzt, soll einer wissen, wie die Serverstruktur aussieht ;-) Aber auf der Website des Serverhosters habe ich noch einen Hinweis dazu gefunden.

                        siehe https://forum.selfhtml.org/?t=209984&m=1429555 f.

                        Warum Du diese Nachricht konsequent ignoriert hast, weiß ich nicht.

                        Viele Grüße,
                        Stefan

                    3. Hallo,

                      Dass heißt dann vielleicht doch, dass htaccess auf dem Server nicht erlaubt ist? Ich habe aber auch ehrlich gesagt keine Stelle gefunden, wo ich das im Konfigurationsmenu einstellen kann?!

                      doch, in allen Webhosting-Paketen von all-inkl.com ist .htaccess möglich,
                      siehe deren Tarifübersicht. Und was Tom gepostet hat (options +indexes)
                      funktioniert auch, habe ich eben probiert. Du machst da etwas falsch. Hast
                      Du meine beiden Beiträge weiter oben im Thread gelesen und berücksichtigt?

                      Viele Grüße,
                      Stefan

        2. Hi,

          Dann probier doch mal eine relative Angabe.

          Unsinn. Relative Pfade für authuserfile werden relativ zum Server-Root (NICHT Document-Root oder .htaccess) betrachtet.

          Ans Server-Root (Installationsverzeichnis des Apache) kommt man bei den üblichen Massenhostern nicht ran.

          (5s Doku-Lesen (http://httpd.apache.org/docs/2.2/mod/mod_authn_file.html) erspart stundenlanges Gestocher im Nebel)

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
          1. Hello,

            Dann probier doch mal eine relative Angabe.

            Unsinn. Relative Pfade für authuserfile werden relativ zum Server-Root (NICHT Document-Root oder .htaccess) betrachtet.

            Das könntest Du auch etwas anders ausdrücken, auch wenn Du sachlich Recht hast...
            Sich in eine Diskussion einzuschalten und sofort "Unsinn." zu schreiben, halte ich für daneben.
            Das deutet zumindest erstmal auf mangelndes Sozialverhalten hin :-(

            @Andre:
            Die Document_Root kann man zumindest in PHP aus den vordefinierten Variablen entnehmen:

            http://de2.php.net/manual/en/language.variables.superglobals.php

            Hier schaust Du ins Array $_SERVER

            http://de2.php.net/manual/en/reserved.variables.server.php

            und liest den Schlüssel ['DOCUMENT_ROOT'] aus.

            Dann weißt Du zumindest erstmal, wo Dein "Reich" (öffentliche Seiten) beginnt.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
  2. Hallo,

    hast Du mal versucht, den Passwortschutz mit dem von all-inkl.com über die
    Konfigurationsoberfläche zur Verfügung gestellten Tool zu erstellen? Findest
    Du unter https://kas.all-inkl.com/, dadurch werden die Dateien innerhalb
    Deines Speicherplatzes erstellt und Du kannst Dir die ja dann auch per FTP
    runterladen und anschauen/ändern.

    Viele Grüße,
    Stefan

    1. hast Du mal versucht, den Passwortschutz mit dem von all-inkl.com über die
      Konfigurationsoberfläche zur Verfügung gestellten Tool zu erstellen? Findest
      Du unter https://kas.all-inkl.com/, dadurch werden die Dateien innerhalb
      Deines Speicherplatzes erstellt und Du kannst Dir die ja dann auch per FTP
      runterladen und anschauen/ändern.

      vielleicht als nicht ganz unwichtige Ergänzung ...

      /www/htdocs/v12345/ ist z.Bsp. ein Documentroot bei all-inkl.com. Nehmen wir
      an, dort gibt es eine .htaccess für die Hauptdomain. Wenn man jetzt eine Sub-
      domain anlegt und die nicht als Extraaccount laufen lässt, sondern einfach in
      ein Verzeichnis der Hauptdomain - /www/htdocs/v12345/subdomain/ - dann wird
      diese Subdomain durch die .htaccess der Hauptdomain beeinflusst. Dies dürfte
      in den meisten Fällen nicht gewünscht sein, deshalb ist es wohl besser, auch
      für die Hauptdomain erstmal ein Verzeichnis anzulegen und dieses zuzuweisen.

      Hauptdomain:
      /www/htdocs/v12345/hauptdomain/

      Subdomain:
      /www/htdocs/v12345/subdomain/

      Vielleicht löst sich damit auch das Problem hier?

      Viele Grüße,
      Stefan

  3. hi,

    AuthType Basic
    AuthName "Protected Area"
    AuthUserFile /admin/.htpasswd
    Require valid-user

    Das allein liefert keinen Status 500, auch wenn der Pfad zur Passwortdatei nicht stimmt.

    Wenn ich jetzt die Unterdomain eingebe, komme ich noch zur Passwortabfrage.

    Das bestätigt zunächst meine o.g. Aussage ;)

    Aber immer wenn ich was eingebe (auch die richtige Kombination ;-), kommt dann ein "500 - interner Server Fehler".

    Zeig mal die komplette .htaccess.

    Tipp zur Fehlersuche: Teste Deine Seite ohne .htaccess. So wie ich das hier sehe, liegt der Fehler woanders, möglicherweise auch an einer weiteren .htaccess mit einer fehlerhaften Konfiguration.

    Hotti