Apache liefert kein https aus (ehem. Apache 403 Forbidden)

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Apache liefert kein https aus (ehem. Apache 403 Forbidden)

Beitrag von AnonymusChaotic » 07.01.2016 00:28:51

Behandlung des 2. Problems siehe Eintrag "2. Problem HTTPS (das ist ein link direkt nach unten)" unten

Hallo,
ich habe mir heute meinen Server Debian 8.2 neu aufgesetzt. Nach dem Mailserver (Postfix dovecot mysql phpmyadmin verwendet)
Danach war der Apache dran.

Die alten Virtualhost-Dateien in den entsprechenden Ordner eingefügt (ich leite http gleich auf https weiter), ssl-Pfade mit dem entsprechenden aktuellen letsencrypt-Dateien versehen, mit a2ensite alle enabled.
Weiterleitung auf https funktioniert
Browser wirft nichts aus, https-Verbindung liefert kein sslZertifikat.

Alles wieder disabled, bis auf 000-default.conf geht immer noch nicht.
/var/www/* auf 777 gesetzt. besitzer von root auf www-data auf root auf www-data
Jetzt lautet die Meldung 403 Forbidden.
HTML-Statuscodes wikipedia:
403 Forbidden
Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist, oder eine als HTTPS konfigurierte URL nur mit HTTP aufgerufen wurde.
Dazwischen ging es mal kurz, daraufhin habe ich die dateiberechtigungen auf die, die überall empfohlen werden geändert:
The permissions on this folder are:

Code: Alles auswählen

chmod 755 /var/www/
and the files inside the folder are:

Code: Alles auswählen

chmod 644 /var/www/file
daraufhin ging es wieder nicht, egal ob besessen durch root oder durch www-data
Ich setze wieder die Daten von html und der darin befindlichen index.html auf 777, liefert immer noch 403 aus.

Interessantes Detail: Das über apt-get install installierte phpmyadmin funktioniert (habe es hinter ein alias gesetzt und mit Apache Passwortschutz doppelt gesichert)




000-default.conf:

Code: Alles auswählen

<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 http://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
        LogLevel debug
        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

Log mit loglevel debug in vhosfile (siehe oben) und apacheconfig:

Code: Alles auswählen

444.444.444.44 - - [07/Jan/2016:00:24:58 +0100] "GET /index.html HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36"
444.444.444.44 - - [07/Jan/2016:00:25:01 +0100] "GET /index.html HTTP/1.1" 403 514 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36"
Wo muss ich nach dem Fehler graben?
Zuletzt geändert von AnonymusChaotic am 07.01.2016 18:59:29, insgesamt 3-mal geändert.

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Apache 403 Forbidden

Beitrag von 4A4B » 07.01.2016 06:05:27

Die error.log sollte da noch auskunftsfreudiger sein

Wenn der Zugang in einer globalen Konfigurationsdatei eingeschränkt ist, muss man ihn für den DocumentRoot des VirtualHosts wieder explizit erlauben; für den Apache 2.4:

Code: Alles auswählen

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

uname
Beiträge: 12539
Registriert: 03.06.2008 09:33:02

Re: Apache 403 Forbidden

Beitrag von uname » 07.01.2016 09:04:10

Ich mache das immer so:

Code: Alles auswählen

chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
Ja man kann z.B. mit "find" und "xargs" noch zwischen Dateien und Ordnern unterscheiden. Erscheint mir aber nicht wirklich wichtig zu sein.

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache 403 Forbidden

Beitrag von AnonymusChaotic » 07.01.2016 14:47:42

Stimmt, seit ich auf debug umgestellt habe steht im errorlog sogar was drin :D

Code: Alles auswählen

[Thu Jan 07 14:37:10.072816 2016] [core:error] [pid 1123] (13)Permission denied: [client 193.000.000.00:40401] AH00035: access to /index.html denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path
[Thu Jan 07 14:37:10.200562 2016] [core:error] [pid 1123] (13)Permission denied: [client 193.000.000.00:40401] AH00035: access to /favicon.ico denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path, referer: http://mydomain.at/index.html
[Thu Jan 07 14:37:14.049377 2016] [core:error] [pid 1135] (13)Permission denied: [client 193.000.000.00:40412] AH00035: access to / denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path
[Thu Jan 07 14:37:14.186278 2016] [core:error] [pid 1135] (13)Permission denied: [client 193.000.000.00:40412] AH00035: access to /favicon.ico denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path, referer: http://212.000.000.00/
[Thu Jan 07 14:37:28.531374 2016] [core:error] [pid 1121] (13)Permission denied: [client 193.000.000.00:40422] AH00035: access to / denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path
[Thu Jan 07 14:37:28.664882 2016] [core:error] [pid 1121] (13)Permission denied: [client 193.000.000.00:40422] AH00035: access to /favicon.ico denied (filesystem path '/var/www/html') because search permissions are missing on a component of the path, referer: http://mydomain.at/
4A4B hat geschrieben:Wenn der Zugang in einer globalen Konfigurationsdatei eingeschränkt ist, muss man ihn für den DocumentRoot des VirtualHosts wieder explizit erlauben; für den Apache 2.4:

Code: Alles auswählen

    <Directory /var/www/html>
        Require all granted
    </Directory>
Habs probiert, hat 1. nichts verändert, 2. ist die Apache Konfigurationsdatei noch original, bis uaf die Umstellung des Loglevels.
Auch durch setzen dieser Berechtigungen hat sich nix geändert

Code: Alles auswählen

chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
Zur Ansicht die Dateiberechtigungen:

Code: Alles auswählen

root@mydomain:/var# ls -ld www
drw-r--r-- 6 www-data www-data 4096 Jän  6 22:03 www
root@mydomain:/var# ls -ld www/html
drwxr-xr-x 2 www-data www-data 4096 Jän  6 15:58 www/html
root@mydomain:/var# ls -ld www/html/index.html
-rwxr-xr-x 1 www-data www-data 11104 Jän  6 15:58 www/html/index.html

uname
Beiträge: 12539
Registriert: 03.06.2008 09:33:02

Re: Apache 403 Forbidden

Beitrag von uname » 07.01.2016 15:46:01

Code: Alles auswählen

drw-r--r-- 6 www-data www-data 4096 Jän  6 22:03 www
Vielleicht fehlen nur die Ausführrechte von /var/www

Code: Alles auswählen

chmod 755 /var/www
Offtopic:
Jän
???!!!???

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache 403 Forbidden

Beitrag von AnonymusChaotic » 07.01.2016 16:13:27

Danke!

Hat geklappt,
aber warum muss /var/www ausgeführt werden? ich habe da ja sowieso keine php dokumente aktuell drin...

Ich bin Österreicher, da heißt der Januar Jänner. Daher die Abkürzung Jän. (irgendwie dpkg --reconfigure perl oder so ging das, das hab ich im Rahmen der Problembehebung einer Perl Fehlermeldung eingestellt. de_AT.UTF-8 hieß da die Variable, wenn ich mich recht erinnere,)

https://de.wikipedia.org/wiki/Januar hat geschrieben: Jänner[Bearbeiten | Quelltext bearbeiten]

Der Monat Januar im Stundenbuch Très Riches Heures
Die Form jennare > Jänner wurde schon in mittelhochdeutscher Zeit aus der spätlateinischen Variante Ienuarius übernommen, auf welche etwa auch spanisch Enero oder italienisch Gennaio und französisch Janvier zurückgehen, während Januar eine gelehrte Entlehnung aus dem 18. Jahrhundert aus klassisch lateinisch (mensis) Ianuarius ist.[1] Das Wort Januar verdrängte in der Folge Jänner zuerst im Norden des deutschen Sprachraums und hat sich schließlich fast überall durchgesetzt. Selbst im Süden, in Bayern und in der Schweiz, wird Jänner schriftsprachlich nur noch selten gebraucht.[2][3][4]
In anderen Teilen des oberdeutschen Sprachraums, so in Österreich und Südtirol, ist hingegen der Jänner[5] nach wie vor die allgemein umgangssprachlich und in der Schriftsprache verwendete übliche Bezeichnung für den ersten Monat des Jahres – anders als beim zweiten Monat Feber, dessen Gebrauch seltener wird. So mancher Lektor ersetzt den „Jänner“ durch den „Januar“, wohl weil er den überregionalen deutschen Sprachraum bzw. Buchmarkt sieht.[6] Vielleicht als Gegenbewegung dazu wird in Österreich das Wort Januar immer weniger genutzt.[7]
Feiertage[Bearbeiten | Quelltext bearbeiten]
G
Zuletzt geändert von AnonymusChaotic am 07.01.2016 16:17:51, insgesamt 1-mal geändert.

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Apache 403 Forbidden

Beitrag von 4A4B » 07.01.2016 16:14:49

uname hat geschrieben:Vielleicht fehlen nur die Ausführrechte von /var/www
Ja, darauf weist auch die Fehlermeldung hin:
because search permissions are missing on a component of the path
Edit:
aber warum muss /var/www ausgeführt werden?
weil der Webserver die darunter liegenden Verzeichnisse sonst nicht "betreten" kann

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache 403 Forbidden

Beitrag von AnonymusChaotic » 07.01.2016 16:19:15

4A4B hat geschrieben:
weil der Webserver die darunter liegenden Verzeichnisse sonst nicht "betreten" kann
Interessant, ich dachte er muss sie nur lesen können. Jetzt klappt es, Dankesehr!

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von AnonymusChaotic » 07.01.2016 18:56:40

Problem HTTPS

Jetzt liefert mein Server brav http seiten, auch über virtuelle hosts aus.
Aber https wird mit
Diese Webseite ist nicht verfügbar.

ERR_CONNECTION_REFUSED
Neu ladenDetails ausblenden
beantwortet

In den Logs gibt es keine Einträge, die virtualhost datei sieht so aus:
Mit kommentaren in nopaste: pastebin.php?mode=view&s=39051

Code: Alles auswählen

<IfModule mod_ssl.c>
	<VirtualHost MyIPAdress:443>
		ServerAdmin webmaster@mydomain.at
		ServerName mydomain.at
		DocumentRoot /var/www/mydomain_at

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

		SSLEngine on

		SSLCertificateFile	/etc/letsencrypt/live/mydomain.at/cert.pem
		SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.at/privkey.pem

		SSLCertificateChainFile /etc/letsencrypt/live/mydomain.at/chain.pem


		<FilesMatch "\.(cgi|shtml|phtml|php)$">
				SSLOptions +StdEnvVars
		</FilesMatch>
		<Directory /usr/lib/cgi-bin>
				SSLOptions +StdEnvVars
		</Directory>


		BrowserMatch "MSIE [2-6]" \
				nokeepalive ssl-unclean-shutdown \
				downgrade-1.0 force-response-1.0

		BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

	</VirtualHost>
</IfModule>

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



Und IP-Tables sollte auch nichts blocken:

Code: Alles auswählen

/var/www# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Der Aufruf von phpmyadmin über https funktioniert auch nicht.
Zuletzt geändert von AnonymusChaotic am 07.01.2016 19:02:35, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von DeletedUserReAsG » 07.01.2016 18:58:30

a) NoPaste (oder Kommentarzeilen entfernen)
b) Ist der httpd dahingehend konfiguriert, an 443 zu lauschen (Listen-Direktive)?

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von AnonymusChaotic » 07.01.2016 19:05:05

nopaste und entkommentiert: erledigt

ports.conf (in die apache-konfiguration eingebunden)

Code: Alles auswählen

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

DeletedUserReAsG

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von DeletedUserReAsG » 07.01.2016 19:07:19

Ist eines der Module denn enabled, und der httpd restarted worden? Zeigt netstat an, dass 443 vom Apachen belegt wird?

AnonymusChaotic
Beiträge: 115
Registriert: 22.03.2015 16:37:46

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von AnonymusChaotic » 08.01.2016 01:54:16

Peinlich, ich hab schon mindestens 10 mal einen apache eingerichtet und jetzt vergesse ich das plugin zu aktivieren und komm nicht drauf :oops:


Interessant: Netstat zeigt auch nur die https-verbindungsmöglichkeit an; http nicht.

DeletedUserReAsG

Re: Apache liefert kein https aus (ehem. Apache 403 Forbidde

Beitrag von DeletedUserReAsG » 08.01.2016 03:53:15

netstat -pltn zeigt dir die offenen TCP-Ports und was daran hängt an. Verbindungen interessieren in dem Fall nicht.

Antworten