# AllowOverride All



## hahni (21. März 2008)

Kann man "AllowOverride AuthConfig" auch für einen einzelnen virtuellen Host in "AllowOverride All" umwandeln, ohne die Konfiguration antasten zu müssen? Wenn ja: wie?


----------



## o.meyer (21. März 2008)

Hi hahni,

jup, das geht in der VHost Konfiguration - hier mal vereinfacht dargestellt:


```
<VirtualHost 192.168.0.100:80>

    ServerName server1.example.com
    ServerAdmin admin@example.com
    DocumentRoot /pfad/zum/document/root

    <Directory /pfad/zum/verzeichnis>

        AllowOverride All

    </Directory>

</VirtualHost>
```
Grüße,

Olli


----------



## hahni (21. März 2008)

hallo olli,

aber die virtuellen hosts werden ja immer von isp-config geschrieben! wenn ich jetzt in den config-files rumfummle: bleiben die dann erhalten?

viele grüße

hahni


----------



## Till (23. März 2008)

Du musst das einfach nur in das Apache direktiven Feld der Webseite einfügen.


----------



## hahni (23. März 2008)

Wo denn das? In der .htaccess?


----------



## Till (24. März 2008)

In ISPConfig.


----------



## hahni (24. März 2008)

Das klingt sehr gut! Aber wo kann ich das für den virtuellen Host ändern in ISPConfig? Und was muss genau syntaktisch reingeschrieben werden?


----------



## hahni (24. März 2008)

Wenn ich es direkt auf dem ersten Reiter der betreffenden Webpräsenz eintrage (einfach nur "AllowOverride All"), dann tut sich nix.

Es geht hier um den Magento Commerce Shop, bei dem das angeblich aktiviert sein muss. Es kommt immer ein "Internal Server Error"


----------



## Till (24. März 2008)

> Aber wo kann ich das für den virtuellen Host ändern in ISPConfig?


In das apache Direktiven Feld.



> Und was muss genau syntaktisch reingeschrieben werden?


das hängt vom jeweiligen Web und Deiner Serverkonfiguration ab.

<Directory /pfad/zum/verzeichnis>
        AllowOverride All
</Directory>

Generell ist es das obige, Du musst halt nur den Pfad anpassen.


----------



## hahni (24. März 2008)

Huhu Till,

ein sehr guter Tipp!
Allerdings habe ich folgende Systemkonfiguration:
Apache/2.0.55 (Ubuntu) PHP/5.1.2 mod_ssl/2.0.55 OpenSSL/0.9.8a

Erfordert wird für Magento aber 5.2.0 oder höher. Besteht da eine sinnvolle Möglichkeit, so zu aktualisieren, dass alle Abhängigkeiten weiterhin funktionieren und die Update-Ports auch funktionieren?

Viele Grüße

Hahni


----------



## hahni (25. März 2008)

Wäre es möglich, bei einer php 5.1 installation als benutzer folgendes zu hinterlegen, um ein php-cgi 5.2 zum laufen zu bekommen:

---
Action php5-cgi /cgi-bin/php5-cgi 
AddHandler php5-cgi .php
---


----------



## Till (26. März 2008)

Als Admin ja, als Benutzer nein.


----------



## hahni (26. März 2008)

Und wo muss ich es dann als Admin hinterlegen? Auch im Direktivefeld der Webpräsenz?


----------



## Till (26. März 2008)

Ja. Alle apache Direktiven müssen dort hinterlegt werden, wenn Sie von ISPConfig in die Vhost Konfiguration eingebunden werden sollen.


----------



## hahni (26. März 2008)

so?

---
<Directory /pfad/zum/verzeichnis>
        AllowOverride All
Action php5-cgi /cgi-bin/php5-cgi 
AddHandler php5-cgi .php
</Directory>
---


----------



## Till (26. März 2008)

Nein. Die Zeilen Action und Addhabdler müssen außerhalb der Directory Direktive stehhen. Schau mal in die apache Doku, da steht für alle Direktiven drin, ob sie innerhalb des vhosts oder innerhalb einer Directory Direktive stehen müssen.


----------



## hahni (26. März 2008)

---
<Directory /pfad/zum/verzeichnis>
        AllowOverride All
</Directory>

Action php5-cgi /cgi-bin/php5-cgi 
AddHandler php5-cgi .php
---

Also so?


----------



## hahni (26. März 2008)

wenn ich es so einfüge wie üben beschrieben (mit relativen und absoluten pfaden), geht bei magento auch nix! die action-handler scheint er nicht zu erkennen! wenn ich magento zum laufen bekomme, ist eigentlich ein howto dafür erforderlich


----------



## hahni (26. März 2008)

da im log der webpräsenz immer der fehler

---
[Wed Mar 26 20:14:30 2008] [alert] [client 91.67.128.29] /var/www/web82/web/.htaccess: Invalid command 'Action', perhaps mis-spelled or defined by a module not included in the server configuration
---

steht, kann schon mal folgender eintrag in der .htaccess auch nicht stimmen:

---
Action php5-cgi /cgi-bin/php5-cgi
AddHandler php5-cgi .php
---

oder möglicherweise nicht die direktive, die ich für das web festgelegt habe? magento ist echt haarig


----------



## hahni (26. März 2008)

<Directory /var/www/web82/cgi-bin/>
Options ExecCGI
AllowOverride None
</Directory>

bringt auch nix!


----------



## hahni (3. Apr. 2008)

Nachdem ich das Apache2-Action-Modul eingebunden habe, bin ich schon einen Schritt weiter! Und zwar so weit, dass nun keine "Internal Server Errors" mehr angezeigt werden!

Allerdings springt das php5-cgi immer in den falschen Pfad. Auszug aus dem Logfile:

---
[Thu Apr 03 02:30:43 2008] [error] File does not exist: /var/www/web999/cgi-bin/php5-cgi/info.php
---

Eigentlich müsste es ja lauten:
---
/var/www/web999/cgi-bin/web/
---

Kann ich das im .htaccess einstellen oder im virtuellen Host? Und was muss ich dafür eingeben?


----------



## hahni (3. Apr. 2008)

Wenn im .htaccess des "/web"-Orderns die Einträge:
---
AddHandler php5-cgi .php
Action php5-cgi cgi-bin/php5-cgi
---

hinterlegt sind, dann bekomme ich laut logfile immer:
---
[Thu Apr 03 11:01:43 2008] [error] Directory index forbidden by rule: /var/www/web999/web/
---

Es geht hier übrigens um Magento! Doch da wird auch die vor 2 Tagen erschiene finale Version 1.0 nix ändern! Weiß da tatsächlich keiner einen Tipp?


----------



## Till (3. Apr. 2008)

Poste bitte mal die Ausgabe von:

ls -la /var/www/web999/web/info.php

Ist die cgi Checkbox in den Webseiteneinstellungen gesetzt?


----------



## hahni (3. Apr. 2008)

Die Ausgabe von "ls -la /var/www/web999/web/info.php" ist:
---
-rw-rw-r-- 1 web999_info web999 17 2008-04-03 01:47 /var/www/web999/web/info.php
---

Es sind sogar beide Checkboxen für CGI aktiviert. Die beiden für PHP habe ich natürlich deaktiviert, da hier ja die CGI-Version zum Einsatz kommen soll und ich nur so Konflikte vermeiden kann!

Und noch der guten Ordnung halber die Apache-Direktiven dieses Webs:
---
<Directory /var/www/web999/cgi-bin/>
Options ExecCGI
AllowOverride None
</Directory>

<Directory /var/www/web999/web/>
AllowOverride All
</Directory>
---

Und so die ".htaccess"-Datei, die im "/web"-Ordner liegt:
---
############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

AddHandler php5-cgi .php
Action php5-cgi cgi-bin/php5-cgi

############################################
## this line is specific for 1and1 hosting

#AddType x-mapp-php5 .php

############################################
## default index file

<IfModule mod_php5.c>

############################################
## adjust memory limit

    php_value memory_limit 32M
    php_value max_execution_time 18000

############################################
## disable magic quotes for php request vars

    php_flag magic_quotes_gpc off

############################################
## enable php short tags for templates

    php_flag short_open_tag on

</IfModule>

DirectoryIndex /web/

<IfModule mod_ssl.c>

############################################
## make HTTPS env vars available for CGI mode

    SSLOptions StdEnvVars

</IfModule>

<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymLinks
    RewriteEngine on

############################################
## you can put here your magento root folder path relative to web root

    RewriteBase /

############################################
## workaround for HTTP authorization in CGI environment

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

    RewriteRule .* index.php [L]

</IfModule>


############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

AddDefaultCharset Off
#AddDefaultCharset UTF-8
Order allow,deny
Allow from all
---


----------



## hahni (3. Apr. 2008)

Weiss da tatsächlich keiner weiter?


----------

