# 500 internal Error



## wiseguy (20. Dez. 2008)

Hallo,

ich habe eine *.htaccess* Datei mit folgendem Inhalt:

```
#
# Set
#
# AllowOverride FileInfo
#
# to enable parsing off this file
#
php_value memory_limit 32M
php_value max_execution_time 60
php_flag register_globals Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
# settings for the file upload, you might increase them further
php_value upload_max_filesize 16M
# session handling: now the check for expired sessions is done on every 10th session creation
php_flag session.use_trans_sid Off
php_value session.gc_probability 1
php_value session.gc_divisor 10
# multibyte extension: needed for utf-8
php_value mbstring.func_overload 7
```
Solange diese Datei im Verzeichnis liegt, bekomme ich einen *500 Internal Server Error* beim Aufrufen der Webseite angezeigt.

Zum einen habe ich versucht im *ISPConfig3* bei der entsprechenden Seite/Domain unter *Options* im Feld *Apache Directives* folgendes einzutragen:

```
AllowOverride FileInfo
```
Das hat leider nichts gebracht. Als ich später mal den apache Server neustarten wollte, brach der Neustart mit einer Fehlermeldung ab, das diese Option an dieser Stelle wohl nicht erlaubt ist. Also hab ich den Eintrag aus */etc/apache2/sites-enabled/domainname.de.vhost* wieder ausgetragen.

Desweiteren habe ich anschließend versucht direkt in der */etc/apache2/apache2.conf* ans Ende dieser Datei (aber noch vor *Include /etc/apache2/sites-enabled/*) folgendes zu schreiben:

```
<Directory /var/clients/*/web>
AllowOverride Indexes AuthConfig Limit FileInfo
Order allow,deny
Allow from all
<Files ~ "^\.ht">
Deny from all
</Files>
</Directory>
```
Anschließend hab ich den apache neu gestartet.

Aber keines der beiden Versuche glückte; Bis jetzt muss ich also diese .htaccess Datei aus dem Verzeichnis nehmen...

Wie erlaube ich denn bei *ISPConfig3* dieses *AllowOverride FileInfo*?


----------



## Till (20. Dez. 2008)

Schau bitte ins error Log, da steht der exakte Grund für den Fehler. Das mit dem Override sollte so funktionieren.


----------



## wiseguy (20. Dez. 2008)

Ich hab jetzt NUR in Option im Feld Apache Directives folgendes stehen:

```
AllowOverride FileInfo
```
(Die Änderung in der /etc/apache2/apache2.conf hab ich wieder auskommentiert):

```
...
#<Directory /var/clients/*/web>
#AllowOverride Indexes AuthConfig Limit FileInfo
#Order allow,deny
#Allow from all
#<Files ~ "^\.ht">
#Deny from all
#</Files>
#</Directory>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
```
Beim Neustarten des Apache Servers erscheint das hier (er startet also nicht mehr):

```
server1:~# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)... waiting Syntax error on line 32 of /etc/apache2/sites-enabled/domain.de.vhost:
AllowOverride not allowed here
 failed!
```
Die Fehlermeldung (ohne das *AllowOverride FileInfo* in den Apache Directiven in der *~/log/error.log*) sah wie folgt aus:

```
[Sat Dec 20 13:16:37 2008] [alert] [client xx.xx.xx.xx] /var/www/domain.de/web/egroupware/.htaccess: php_value not allowed here
```

Übrigens wundert ich noch etwas: Wenn ich keine extra Apache Directive drinn hab (also der Apache Server gestartet werden kann), erhalte ich beim Start von apache folgende Ausgabe:

```
server1:~# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...[Sat Dec 20 13:15:20 2008] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sat Dec 20 13:15:20 2008] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 waiting [Sat Dec 20 13:15:22 2008] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sat Dec 20 13:15:22 2008] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
.
```
(Ich habe drei sites eingerichtet, daher kommt die Meldung wohl auch drei mal...)


----------



## Till (21. Dez. 2008)

AllowOverride darf nicht direkt in einer vhost Definition stehen, es muss immer innerhalb einer Directory Direktive stehen (siehe apache manual). Du musst also sowas wie das hier in das apache Direktiven Feld schreiben:

<Directory /var/www/www.deinedomain.de>
  AllowOverride FileInfo
</Directory>


----------



## wiseguy (21. Dez. 2008)

Okay, ich dachte das steht schon standardmäßig da und die Einträge hier stehen dann dazwischen... ;-)


----------



## Till (21. Dez. 2008)

Und warum sollte das standarmäßig so sein? Du kannst nicht alle Einträge innerhalb eines Directory eintrages verwenden, wenn wir das also standardmäßig so machen würden, dann gehen halt wieder ander Sachen nicht


----------



## wiseguy (21. Dez. 2008)

ist mir nun auch klar ;-)
Wenn ich logisch drüber nachgedacht hätte, hätte mir die Idee auch eher kommen müssen


----------

