Apache Fehler mit .htaccess

kalle87

Registered User
Ich bin es mal wieder, also ich komme nicht so richtig in die Gänge, hatte ja mit der .htaccess erst geplant (https://serversupportforum.de/threads/ssl-aufsetzen.499/) und nun doch alles in die httpd.conf gesetzt. Geht auch ganz gut, nur:
Jetzt will ich um einen admin-Bereich zu schützen eine normale .htaccess in einem Unterverzeichnis anlegen, was auch geht, nur wenn die da ist, dann kann ich nichts mehr aufrufen im kompletten VHost: Internal Server Error 500. In der Log steht drin:
Code:
[Mon Feb 16 15:46:23 2004] [alert] [client 62.226.59.32] /var/www/web11/html/catalog/.htaccess: AuthName not allowed here
Was soll denn das heißen?

Besten Dank!

Mfg Pascal
 
Code:
AuthName not allowed here
Heißt einfach, daß Du in dieser .htaccess keinen AuthName machen darfst.
Um das machen zu dürfen, mußt Du in der httpd.conf die Zeile 'AllowOverride AuthConfig' an die passende Stelle schreiben.

huschi.
 
Ausschnitt Config:
----------------------
<Directory "/var/www/web11/html">
AllowOverride Options
AllowOverride AuthConfig

<IfModule mod_setenvif.c>
<IfDefine SSL>
SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0

</IfDefine>
</IfModule>

# Fix certain PHP values
# (commented out by default to prevent errors occuring on certain
# servers)

<IfModule mod_php4.c>
php_value session.use_trans_sid 0
php_value register_globals 1
</IfModule>

</Directory>
----------------------

!?!?!? Irgendwelche Ideen?? So geht es leider nicht. Einen Apache restart hab ich natürlich gemacht.

Gruß Pascal
 
kalle87 said:
AllowOverride Options
AllowOverride AuthConfig
Ich bin mir nicht sicher ob diese Directive Ergänzend oder Ersetzend wirkt. Hab es auf die Schnell auch nicht in der Doku gefunden.
Aber dennoch wäre mein Vorschlag beide Zeilen zu einer Zeile zu machen.
Eine Alternative wäre dies einzufügen.
Code:
<Directory "/var/www/web11/html/catalog">
AllowOverride AuthConfig
</Directory>

Stehen Deine Angaben denn nach dem include von confixx_vhost.conf ?

huschi.
 
@Huschi:

Ja, die Angaben sind in der /etc/apache/myhttpd.conf welche NACH der confixx_vhost.conf included wird. Also ich habe jetzt extra einen Eintrag für ../catalg gesetzt wir Du es vorgeschlagen hast, dann geht es.

Leider bin ich kompletter Beginner in Sachen SSL, also einen https:// aufzusetzen (eigene IP und so....) das ist gar nicht so einfach. Ich kann laufend nicht drauf zu greifen. Ich vermute laufend einen Konflikt mit einem zweiten https:// auf dem selben Server ABER unter anderer IP. *HELP*
 
kalle87 said:
Ich vermute laufend einen Konflikt mit einem zweiten https:// auf dem selben Server ABER unter anderer IP. *HELP*
Ich hab (leider) noch keine Erfahrung mit 2 SSL auf 2 IPs sammeln können.
Aber ich würde es evtl. mal mit einem zweiten Apache versuchen.

huschi.
 
Huschi said:
Ich hab (leider) noch keine Erfahrung mit 2 SSL auf 2 IPs sammeln können.
Aber ich würde es evtl. mal mit einem zweiten Apache versuchen.

huschi.


Also die Konfiguration sieht so aus:
1)"normaler" apache, darin mod_ssl, läuft perfekt für http und https
2)apache-ssl, der nimmt aber trotz Bind auf andere IP immer die Standard-Server-IP, und nix geht. Ich kann auch wirklich nach Stunden keinen Fehler finden, aber die Meldung im Log hilft Euch vielleicht:

---------------------
[Mon Feb 16 22:21:05 2004] [info] mod_unique_id: using ip addr 80.190.243.252
[Mon Feb 16 22:21:05 2004] /usr/lib/apache-ssl/gcache started
[Mon Feb 16 22:21:05 2004] [error] (2)No such file or directory: mod_mime_magic: can't read m
agic file /etc/apache-ssl/share/magic
[Mon Feb 16 22:21:06 2004] [crit] (98)Address already in use: make_sock: could not bind to po
rt 443
---------------------

Das Verzeichnis ist da und auch für www-data rw, nur die IP sollte ne andere sein....


Danke!

Mfg Pascal
 
kalle87 said:
apache-ssl, der nimmt aber trotz Bind auf andere IP immer die Standard-Server-IP
:confused:
Falls Du die conf vom apache-ssl als zip anhängst könnte ich mir die mal genauer ansehen. 4 Augen sehen mehr als 2. ;)
Aber einen Erfolg kann ich nicht garantieren.

huschi.
 
Huschi said:
:confused:
Falls Du die conf vom apache-ssl als zip anhängst könnte ich mir die mal genauer ansehen. 4 Augen sehen mehr als 2. ;)
Aber einen Erfolg kann ich nicht garantieren.

huschi.

Also erstmal: Du bist wirklich schneller als die Polizei erlaubt ;) Super Service!

Hier mal die Dateien...... Ich glaub mit dem Config den ganzen Tag (ich hab ja nit nur diesen Webserver alleine) wird man wirklich blind :->

mfg Pascal


Ergänzung:

Hab da ne Vermutung:
Listen 80.190.243.252:443 muss in die "normale"apache httpd.conf
Listen 80.190.247.170:443 in die apache-ssl httpd.conf
aber nun gehe ich schlafen, Test später
 
Last edited by a moderator:
kalle87 said:
Listen 80.190.247.170:443 in die apache-ssl httpd.conf
Hast die Lösung doch schon selber gefunden (allerdings ohne ':443').
Allerdings solltest Du die IP auch bei 'NameVirtualHost' setzen und in der VirtualHost 'Listen 443'

huschi.
 
Huschi said:
Hast die Lösung doch schon selber gefunden (allerdings ohne ':443').
Allerdings solltest Du die IP auch bei 'NameVirtualHost' setzen und in der VirtualHost 'Listen 443'

huschi.

Also ich habe das jetzt so angepasst aber es klappt einfach nicht:

Code:
[Tue Feb 17 10:29:14 2004] [info] mod_unique_id: using ip addr 80.190.243.252
[Tue Feb 17 10:29:14 2004] /usr/lib/apache-ssl/gcache started
[Tue Feb 17 10:29:15 2004] [error] (2)No such file or directory: mod_mime_magic: can't read magic
file /etc/apache-ssl/share/magic
[Tue Feb 17 10:29:15 2004] [crit] (98)Address already in use: make_sock: could not bind to port 44
3

Was hat das mit dieser mod_mime_magic auf sich, wieso nimmt er immer noch die IP .243.252 ???

Grüße Pascal
 
Ich denke das ist das ssl-error-log, oder?
kalle87 said:
[Tue Feb 17 10:29:14 2004] [info] mod_unique_id: using ip addr 80.190.243.252
Das Modul unique_id ist nicht Aussagekräftig, da es lediglich eine IP zum Erstellen der http-UNIQUE_ID braucht. Ich könnte mir vorstellen, daß das Modul sich die IP über das System holt, statt es aus der Config zu lesen.
Du kannst normalerweise auch dieses Modul auskommentieren. Außer Deine Software benötigt definitiv diese ID.

mod_mime_magic
Brauchst Du IMHO nicht. Kommentier die Zeilen aus:
Code:
# LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so


Address already in use: make_sock: could not bind to port 443
Hier steht leider nicht, welche IP geprüft wird. :(
Es kann immer noch sein, daß der ssl im ersten Apache auf beiden IPs horcht.
Hast Du dort auch die Listen, VirtualHost und NameVirtualHost auf die eine IP angepaßt?

huschi.
 
Hi Huschi,

danke für die Geduld :-)
Jetzt hätte ich eigentlich Mittagspause...... *grmpf*

Huschi said:
Ich denke das ist das ssl-error-log, oder?

Ja es ist ein Auszug aus dem error.log, in den anderen steht noch nix drin weil der apache-ssl noch nicht angelaufen ist. LogLevel ist hiebei schon auf debug.

Huschi said:
Das Modul unique_id ist nicht Aussagekräftig, da es lediglich eine IP zum Erstellen der http-UNIQUE_ID braucht. Ich könnte mir vorstellen, daß das Modul sich die IP über das System holt, statt es aus der Config zu lesen.
Du kannst normalerweise auch dieses Modul auskommentieren. Außer Deine Software benötigt definitiv diese ID.

Done.

Huschi said:
mod_mime_magic
Brauchst Du IMHO nicht. Kommentier die Zeilen aus:
Code:
# LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so

Done.

Huschi said:
Hier steht leider nicht, welche IP geprüft wird. :(

Ja, leider....

Huschi said:
Es kann immer noch sein, daß der ssl im ersten Apache auf beiden IPs horcht.
Hast Du dort auch die Listen, VirtualHost und NameVirtualHost auf die eine IP angepaßt?

Ja eigentlich schon, auch schon mehrmals geprüft, dass da wirklich nichts mehr drin steht. Aber die IP war noch NIE im httpd eingebunden. Lediglich als DNS lauscht der Server da noch, aber das habe ich auch schonmal ausgeschaltet, bringt nichts.

So also jetzt bekomme ich nur noch diesen blöden Fehler:

Code:
[Tue Feb 17 12:14:49 2004] [crit] (98)Address already in use: make_sock: could not bind to port 44
3

Was sehr komisch ist (mit netstat):

Code:
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      17442/apache

Sollte das wirklich mit dieser Art von Konfig so aussehen?? Heißt es nicht, dass der "normale"apache doch auf allen IP Addys lauscht?

Gruß Pascal
 
kalle87 said:
Ja es ist ein Auszug aus dem error.log, in den anderen steht noch nix drin weil der apache-ssl noch nicht angelaufen ist.
Äh, was denn jetzt? error-log von std.-Apache oder ssl-Apache?

Das mit dem netstat ist ne gute Idee, auf die ich auch schon längst hätte kommen sollen. :(

Ist das wirklich nur die eine Zeile? Welcher Apache läuft denn da?
Und hast Du schon mal unterschiedlich gestartet?
a) nur apache
b) nur ssl-apache
c) beide apache (nur wenn beide auch durchstarten)
Und dann jeweils netstat starten.


Aber die IP war noch NIE im httpd eingebunden.
Weil man das auch nur selten braucht... ;)

huschi.
 
Huschi said:
Äh, was denn jetzt? error-log von std.-Apache oder ssl-Apache?

Dumm von mir, hätt ich natürlich schreiben sollen: /var/log/apache-ssl/error.log ;)


Huschi said:
Das mit dem netstat ist ne gute Idee, auf die ich auch schon längst hätte kommen sollen. :(

Bin ich irgendwie auch erst drauf gekommen als ich an mein Mittagessen denken musste - weiß nit wieso :P

Huschi said:
Ist das wirklich nur die eine Zeile? Welcher Apache läuft denn da?
Und hast Du schon mal unterschiedlich gestartet?
a) nur apache
b) nur ssl-apache
c) beide apache (nur wenn beide auch durchstarten)
Und dann jeweils netstat starten.

Hmm, also das wäre ne Möglichkeit den apache mal abzuschalten, da muss ich aber dann eine Nachtschicht einlegen und dass mal heute Nacht kurz testen, da fallen dann allerhand kritische Dinge aus....

Und der apache-ssl läuft mit wie gesagt gar nicht erst an. :(

Mfg Pascal
 
So Huschi und alle anderen:

hab jetzt mal den apache angehalten und den apache-ssl gestartet, dann geht es perfekt, habe jetzt

Code:
NameVirtualhost ssl.gl-hardware.de
<VirtualHost ssl.gl-hardware.de:443>
........

eingetragen. Kann dann die Domain auch perfekt im Browser (mit Cert) aufrufen. Muss nur noch PHP aktivieren, das geht irgendwie noch nicht, aber dannach habe ich auch noch nicht gesehen.

Jetzt nur mein Problem: wie lasse ich beide apaches parallel laufen (apache & apache-ssl) ??

Netstat mit normalen apache an bringt:
Code:
 netstat -lnp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7383/apache

 netstat -lnp | grep :443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      7383/apache

Netstat mit apache aus und apache-ssl an bringt:
Code:
 netstat -lnp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7452/apache-ssl

 netstat -lnp | grep :443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      7452/apache-ssl

Ideen??? Zum 1. März muss alles laufen, das unser Termin.....

Gruß Pascal
 
kalle87 said:
Code:
NameVirtualhost ssl.gl-hardware.de
<VirtualHost ssl.gl-hardware.de:443>
........
Geht es nur so, oder auch wenn Du die IP statt der Domain einträgst (was eigendlich sein sollte)?

Ich kenne folgende Direktiven bei denen man die IP einstellen kann (bzw. in Deinem Fall sollte):
Im globalen Context:
Listen 80.190.247.170:443
BindAddress 80.190.247.170
NameVirtualhost 80.190.247.170:443

Bei der Definition des virtuellen Hosts:
VirtualHost 80.190.247.170:443
Listen 80.190.247.170:443

Wenn der mit diesen Einstellungen immer noch meint, er müsse auf allen IPs horchen, dann weiß ich echt nicht mehr weiter. Vorallem sollte der ssl-apache nicht mehr auf Port 80 gehen.

huschi.
 
Guten Tag!

Huschi said:
Geht es nur so, oder auch wenn Du die IP statt der Domain einträgst (was eigendlich sein sollte)?

Leider nein, und ich weiß nicht wieso! Dann kann ich zwar die Seite mit https://80.190.247.170 erreichen, aber nicht mehr mit https://ssl.gl-hardware.de :(

In der Config sieht es zu Zeit so aus:

Code:
NameVirtualhost ssl.gl-hardware.de:443
Bind 80.190.247.170
Listen 80.190.247.170:443
<VirtualHost ssl.gl-hardware.de:443>
Listen 443
Listen 80.190.247.170
#ServerName ssl.gl-hardware.de
...
</VirtualHost>

Wenn ich nun ssl.gl-hardware.de gegen 80.190.247.170 austausche, dann hört er auch auf nur noch die IP, dann # vor ServerName weg, aber nix, hört nicht auf ssl.gl-hardware.de. :(
Sollte vielleicht ein
Code:
Listen ssl.gl-hardware.de:443
zusätzlich rein?

Alles vorher mal abchecken was möglich ist, weil wie gesagt ein Stoppen des apaches auf diesem Server tagsüber nicht machbar ist. Dann wäre unser Ticketsystem und mehr nicht erreichbar. Alle Anregungen und Möglichkeiten werde ich dann wieder kommende Nacht ausprobieren, nur so gehts. 11 Tage dann muss es laufen *stöhn*

Vor allem muss der apache (normal) auf allen anderen *.gl-hardware.de (also es ist nur www.gl-hardware.de) lauschen, weil da der Kunde in den Shop kommt. SSL ist nur bei Warenkorb zur Kasse gehen und Login. Das nächste Problem was noch ist, wir müssen uns selber in den Admin Bereich des Shops auch noch via https einloggen können, z.B. unter verwaltung.gl-hardware.de. Aber ich denke wenn der eine VirtualHost ssl.gl-hardware.de läuft dann sollte ein zweiter kein Problem sein?!?


Huschi said:

Danke, Gruß Pascal
 
kalle87 said:
Code:
Listen 443
Listen 80.190.247.170
Diese Direktive ist auf jedenfall überschreibend. Wenn dann nur den Port oder IP:Port.

Aber was mir gerade auffällt:
Beim 'ping ssl.gl-hardware.de' erhalte ich nicht die IP 80.190.247.170!
Von daher kann hier schonmal etwas gar nicht funktionieren. Da mußt Du auf jedenfall noch einen DNS-Eintrag setzen.

Aber ich denke wenn der eine VirtualHost ssl.gl-hardware.de läuft dann sollte ein zweiter kein Problem sein?!?
Äh, doch! Deshalb hast Du doch schon eine 2te IP mit einem zweiten SSL. Denn: Es kann immer nur eine Domain per IP auf SSL laufen.
Ok ok, es gibt Beispiele wo es funktioniert, aber soweit ich es gesehen habe werden dann immer die vom Apache mitglieferten std. Zertifikate benutzt.
Sobald Du eigene Zertifikate erstellst, steht dort die explizite Domain drin.

huschi.
 
Huschi said:
Diese Direktive ist auf jedenfall überschreibend. Wenn dann nur den Port oder IP:Port.

OK, dann IP:Port

Huschi said:
Aber was mir gerade auffällt:
Beim 'ping ssl.gl-hardware.de' erhalte ich nicht die IP 80.190.247.170!
Von daher kann hier schonmal etwas gar nicht funktionieren. Da mußt Du auf jedenfall noch einen DNS-Eintrag setzen.

Was denn da nun los!? Ich bin nicht der BIND Profi, aber so geht es bei unseren anderen Domains auch.....

Auszug vom Nameserver gl-hardware.zone:
Code:
gl-hardware.de.         IN SOA ns1.gldns.de.    hostmaster.nic.g-link.org. (

        2004021803 ; serial
        8H      ; refresh
        2H      ; retry
        1W      ; expiry
        11h)    ; minimum

; DNS Servers
        IN NS   ns1.gldns.de.
        IN NS   ns2.gldns.de.

; MX record
        IN MX   10      mail.gl-hardware.de.

; Machine Names
gl-hardware.de.               IN A    80.190.243.252
*                       IN A    80.190.243.252
ssl.gl-hardware.de.     IN A    80.190.247.170
@                       IN A    80.190.243.252


Da ist dennoch bestimmt alles falsch? Ich glaub ich mach mal lieber nen Posting im anderen Forum auf - oder auch hier am Rande beantworten!?!?

Huschi said:
Äh, doch! Deshalb hast Du doch schon eine 2te IP mit einem zweiten SSL. Denn: Es kann immer nur eine Domain per IP auf SSL laufen.
Ok ok, es gibt Beispiele wo es funktioniert, aber soweit ich es gesehen habe werden dann immer die vom Apache mitglieferten std. Zertifikate benutzt.
Sobald Du eigene Zertifikate erstellst, steht dort die explizite Domain drin.

Hmm, das gibt dann eine Zertifikat rumnörgeln, ich weiß.... Aber für interne Zwecke ist das weiter nicht schlimm, wenn das auf unserer Verwaltungs-Ebene kommt. Notfalls muss ich noch ne IP nehmen, davon haben wir schließlich einige, wenn nicht wird noch eine beantragt.
Aber ich verstehe schon: Domain nur eine pro IP - hatte irgendwelche Gründe die ich wieder vergessen habe - aber mit Subdomains geht das auch nicht?

Mfg Pascal *der sicherlich schon alle nervt*
 
Back
Top