PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UserDir oder neuer Port mit SSI/CGI (Apache)



zagadka
20.04.02, 21:44
Hallo zusammen!

Ich möchte mit dem Apache außerhalb der Documentroot cgi's und ssi's ausführen. Das hat bisher auf dem Server wunderbar
funktioniert (SuSE 6.4). Nach der
Umstellung auf SuSE 7.3 und der damit relativ aktuellen Version ist vieles nicht mehr, wie es war. Zum Testen habe ich
erstmal alles freigegeben und Serverparsed
und cgi funktionieren über den Standardport einfwandrei.

# First, we configure the "default" to be a very restrictive set of permissions.

<Directory />
AuthUserFile /etc/httpd/passwd
AuthGroupFile /etc/httpd/group
Options -FollowSymLinks +Multiviews +ExecCGI -indexes +includes
AllowOverride None
</Directory>
...
AddType text/html .shtml
AddHandler server-parsed .html .shtml
...
AddHandler cgi-script .cgi .pl .ksh .sh
... usw.


Folgendes habe ich schon probiert:


UserDir (unter SuSE gegebenenfalls HTTPD_SEC_PUBLIC_HTML auf No setzen, dann das Modul userdir von Hand in die
/etc/httpd/httpd.conf einfügen.)

<IfModule mod_userdir.c>
UserDir public_html
</IfModule>

<Directory /home/*/public_html>
AllowOverride All
Options MultiViews +Includes -Indexes +ExecCGI
Order allow,deny
Allow from all
</Directory>

Ergebnis: SSIs werden ausgeführt, CGIs bringen einen "500 - internal server error" und im error-Log "Premature end of
script headers".
-> http://linux/~atrw05
-> Bei den CGI-Skripten handelt es sich um die gleichen, die geparsed (SSI) ausgeführt werden!



Neuen Apache auf einem anderem Port starten (parallel zum ersten).

Das komplette Verzeichnis /etc/httpd ins User Dir /home/atrw05 kopiert und alle Verweise entsprechend angepasst (Doc,
Server-Root, Logs, pid. ..) und den Port auf 7777 gesetzt - es hat sich also nicht wirklich etwas geändert. Und das
ganze gestartet.

root@huskie > httpd -f /home/atrw05/httpd/httpd.conf
root@huskie >


Ergebnis: CGIs laufen, SSIs nicht. Keine Fehlermeldung, die werden einfach nicht ausgeführt (geparsed), obschon
Serverparsed-Option eingetragen ist.
-> http://linux:7777
-> Teil der Browserausgabe: (Accessed: <!--#exec cgi="/cgi-bin/counter.pl"-->) // Titel


Mich würde auch interessieren, warum man dem "Standardserver" keinen anderen Port zuweisen kann (SuSE 7.3).

Für Tipps wäre ich dankbar


Rupert

zagadka
21.04.02, 17:31
So, wie es aussieht liegt das ganze Problem einzig an der SuSE-Distribution, die wieder einmal mehr gegen bestehende Standards mit ihrer sehr eigenwilligen Konfiguration verstoßen. Es reichte Ihnen nicht Module und Passagen aus der httpd.conf auszulagern, sondern sie mußten auch noch diverse Varibalen in der Datei /etc/rc.config.d/apache... auswerten lassen. Da dies fast alle Bereiche von Software betrifft wundert es nicht, dass SuSE an Akzeptanz bei Klein- und Grosskunden verliert! Was bringen einem Normen - die Unix u. Linux stark gemacht haben - wenn sich einzelne Distributionen nicht daran halten?

So, nachdem ich den SuSE-Apache entsorgte, den aktuellen Apache gesaugt und installiert habe läuft es jetzt wunderbar. Jetzt fehlt mir nur noch eine anständige Distribution ...