Webserver - .htaccess funktioniert nicht

Valvana

Lt. Junior Grade
Registriert
Juni 2018
Beiträge
378
Ich hab einen apache2 Webserver auf meinem RaspberryPi. Auf dem Webserver hab ich eine Passwortgeschützte webseite.
Jetzt habe ich PiHole auf dem Pi Installiert, weshalb ich alles vom Webserver verscheiben musste. Ich hab in der .htaccess den PFad geändert. in der apache2.conf hab ich auch den Pfad geändert.
Leider kann ich die Webseiter immernoch aufrufen ohne meinen Benutzernamen und Passwort eingeben.

Hat jemand Lösungsvorschläge ?

Vielen dank für die Hilfe :D
 
Naja vermutlich ist irgendwo in der Config ein Fehler. Aber um das zu beurteilen musst du sie schon posten.
Vhost config, htaccess und htpasswd sollten für den Anfang reichen (Password und Username besser vorher anpassen).
 
Wo finde ich denn die Vhost config ?
Ich hab die apache2.conf (als txt) und die .htaccess (auch als txt) als Anhang hinzugefügt.
In der .htpasswd ist nur ein Benutzer und das Password. Die hab ich nicht geändert und vor der Installation von Pi Hole funktionierte das noch. Braucht man noch mehr Dateien ?
 

Anhänge

  • apache2.txt
    7,2 KB · Aufrufe: 310
  • .htaccess.txt
    120 Bytes · Aufrufe: 295
Die Configs der virtuellen Hosts liegen unter /etc/apache2/sites-enabled/...conf

Dort muss ein Eintrag vorhanden sein, der Sinngemäß so ausschaut:

Code:
    <Directory /var/www/html>
        AllowOverride All
        Require all granted
    </Directory>

Erst das AllowOverride All ermöglicht es mittels .htaccess Dateien im jeweiligen Verzeichnis die Apache-Config für dieses spezifische Verzeichnis anzupassen.
 
Also bei mir steht in der 000-default.conf unter dem Pfad folgendes:

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Muss ich da jetzt

<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>

hinzufügen und wo ?
 
Ok, ich hab den Quellcode zwischen
<VirtualHost *:80>
und
</VirtualHost>
eingefügt,
aber es funktioniert leider immer noch nicht
 
ayngush schrieb:
Hast du den Apache Service danach auch neu gestartet
Muß man das?

Erklärung: man muß den httpd neu starten, wenn man etwas an der Apache-Konfiguration geändert hat. Man muß ihn nicht neu starten, wenn man etwas in der .htaccess geändert hat.
 
Da der Themenersteller etwas an einer Apache Konfiguration verändert hat, sollte er zumindest den Apache Server neu laden, sodass der Apache Server diese Änderung wahrnimmt.

Bash:
/etc/init.d/apache reload

Man kann zwar auch einen kompletten Neustart initiieren, ist aber nicht unbedingt notwendig.

@MxKeks Hast du den Apache Server selber aufgesetzt, oder benutzt du ein vorgefertigtes Image von Deinem Hoster, auf welchem Confixx, PLESK, oder eine ähnliche Webserver-Distribution drauf ist?

Falls eine solche Distribution drauf ist und eingesetzt wird, dann sollte man nicht direkt am Apache Server arbeiten, sondern die Konfigurationen von der Distribution benutzen.

Bei den Distributionen befinden sich die Konfigurationen meist unter

Bash:
/var/www/vhosts/(Deine eingerichtete Domain)/conf
 
@HigH_HawK
Ich benutze den Webserver nur im LAN also hab ich keinen Hoster. Deswegen benutze ich ein normales Apache Image, welches ich per apt-get befehl installiert habe.

@ayngush
Ich hab den Server bzw. den ganzen Raspberry Pi danach neu gestartet.

Soll ich den pi neu aufsetzen?
Zuerst Raspbian , dann Pi Hole und dann schau ich mir den Webserver vom PiHole an ?
 
Zuletzt bearbeitet:
@MxKeks Misst, das war ein klassischer Fall von; wer lesen kann. Hatte in Deinem ursprünglichen Post verpasst, dass du es auf einem Raspberry Pi hast, dann hätte ich mir die Aussage bezüglich der Webserver-Distribution, sparen können.

Gibt es wirklich nur die von Dir benannte 000-default.conf?
 
HigH_HawK schrieb:
@MxKeks

Gibt es wirklich nur die von Dir benannte 000-default.conf?

In dem Ordner etc/apache2/sites-available/ gibt es 2 Datein:
000-default.conf
default-ssl.conf
Ich habs auf Nachfrage in die 000-default.conf geschrieben. Hätte das in die default-ssl.conf geschrieben werden sollen ?

im Verzeichnis apache siehts so aus:
etc/apache2/
apache2.conf
apache2.conf.save
envvars
magic
ports.conf
conf-available/
conf-enabled/
mods-available/
mods-enabled/
sites-available/
sites-enabled/
 
Ich hab soeben den PI neu aufgesetzt und mir ist ein grober Fehler aufgefallen.
Es handelt sich nicht um einen Apache Webserver.
Dieser ist zwar noch installiert allerdings schnappt der lighttpd vom Pi-hole alle funktionen weg.

Falls sich jemand mit lighttpd und zugangskontrollen auskennt, freue ich mich weiterhin auf eure Hilfe.

Ich hab hierfür ein neues Thema erstellt:
https://www.computerbase.de/forum/threads/passwort-abfrage-bei-lighttpd.1809273/
 
Zurück
Oben