cgi-bin als Hauptverzeichnis
-
- Posts: 26
- Joined: 2006-12-12 09:30
cgi-bin als Hauptverzeichnis
Hi,
ich würde gerne beim Aufruf meiner Domain gleich im cgi-bin Verzeichnis landen ohne es in der url anzugeigen. Beispiel normal:
http://www.meinedomain.tld/cgi-bin/home.pl
möchte es aber so:
http://www.meinedomain.tld/home.pl
was muß ich dafür ändern das das cgi-bin sozusagen Hauptverzeichnis wird?
Gruß Bruno
ich würde gerne beim Aufruf meiner Domain gleich im cgi-bin Verzeichnis landen ohne es in der url anzugeigen. Beispiel normal:
http://www.meinedomain.tld/cgi-bin/home.pl
möchte es aber so:
http://www.meinedomain.tld/home.pl
was muß ich dafür ändern das das cgi-bin sozusagen Hauptverzeichnis wird?
Gruß Bruno
-
- Posts: 17
- Joined: 2006-12-18 23:11
Re: cgi-bin als Hauptverzeichnis
ich glaube in der apache2.conf den DocumentRoot ändern zum CGI verzeichniss.
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
Danke für die schnelle Antwort. Ich habe einen neuen 1&1 Rootserver und bin noch nicht so firm... unter etc/apache2 kann ich die nicht finden.
Re: cgi-bin als Hauptverzeichnis
Wenn Du Debian hast, dann ist es unter /etc/apache2/apache2.conf
Aber wenn Du Debian hast, dann solltest du das besser in /etc/apache2/sites-enabled/000-default einstellen. Dort der DocumentRoot einfach aufs cgi-bin setzen. In diesem File wird dann auch definiert das der cgi-bin Ordner CGI Scripts ausführen kann und nicht einsehbar ist per default.
Hoffe das hilft dir weiter so.
Gruss
Aber wenn Du Debian hast, dann solltest du das besser in /etc/apache2/sites-enabled/000-default einstellen. Dort der DocumentRoot einfach aufs cgi-bin setzen. In diesem File wird dann auch definiert das der cgi-bin Ordner CGI Scripts ausführen kann und nicht einsehbar ist per default.
Hoffe das hilft dir weiter so.
Gruss
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Die einfachste Variante ist Perl im Rootverzeichnis zuzulassen.
Wird normal aus Sicherheitsgründen(Perl geht mal nicht und die Welt sieht die Sourcen, getrickse...) nicht gemacht. Anstatt dessen wird ein scriptalias gesetzt.
Deswegen ist das in /cgi-bin, was dann im Dateisystem irgendwo liegt.
Dann kannst Du redirects der .pl oder wie auch immer die benannt sind, mit modrewrite machen. Schon hast du, was du wolltest. Das sind meistens gar nicht so viele PL-Dateien, die redirected werden müssen(Du kannst auch .pl allgemein umleiten), der Rest(die meistens besonders schutzbedürftig sind) wird dann per include vom Perl selber reingeholt. Zudem hast du oft Get-Argumente, die du evtl im Aufruf verstecken möchtest - dann brauchst Du rewrite sowieso.
Das ist ein start für mod_rewrite:
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Achja und das wird alles in der VHOST Konfiguration gemacht(eigentlich klar, daß ein Vhost normal nicht die selben Seiten zeigen soll, wie ein Anderer)
Pfad bei debian:
(... und nach Änderungen Apache anhupen
)
Code: Select all
Options ExecCGI
Code: Select all
ScriptAlias /cgi-bin/ /Pfad zu den CGI/
Dann kannst Du redirects der .pl oder wie auch immer die benannt sind, mit modrewrite machen. Schon hast du, was du wolltest. Das sind meistens gar nicht so viele PL-Dateien, die redirected werden müssen(Du kannst auch .pl allgemein umleiten), der Rest(die meistens besonders schutzbedürftig sind) wird dann per include vom Perl selber reingeholt. Zudem hast du oft Get-Argumente, die du evtl im Aufruf verstecken möchtest - dann brauchst Du rewrite sowieso.
Das ist ein start für mod_rewrite:
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Achja und das wird alles in der VHOST Konfiguration gemacht(eigentlich klar, daß ein Vhost normal nicht die selben Seiten zeigen soll, wie ein Anderer)
Pfad bei debian:
Code: Select all
/etc/apache2/sites-enabled/xxx
Code: Select all
killall -HUP apache2
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
Hi,
Danke für die schnellen Antworten :) jetzt bin ich aber ein wenig verunsichert was die beste Lösung ist.... ich habe SUSE 9.3 mit Plesk 8.0 (64 bit). Das mit dem ScriptAlias scheint doch die einfachste Lösung zu sein, wo muß ich das einstellen?
Gruß Bruno
Danke für die schnellen Antworten :) jetzt bin ich aber ein wenig verunsichert was die beste Lösung ist.... ich habe SUSE 9.3 mit Plesk 8.0 (64 bit). Das mit dem ScriptAlias scheint doch die einfachste Lösung zu sein, wo muß ich das einstellen?
Gruß Bruno
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Das ist das selbe wie ExecCGI im Rootverzeichnis(=DocumentRoot) zu setzen. Das CGI-Verzeichnis hat natürlich die Option gesetzt und wenn Du das DocumentRoot darauf legst, ist die Option auch für das Rootverzeichnis gesetzt.ich glaube in der apache2.conf den DocumentRoot ändern zum CGI verzeichniss.
Normal ist es so, daß du sehr genau festlegen willst, wo deine Documentroot ist und CGI zulassen und nicht das default-cgi Verzeichnis, das in /usr/lib/cgi-bin liegt zu DocumentRoot machen willst.
Wenn du in die Apache Konfiguration blicks, wirst du feststellen, daß da kein Verzeichnis festgelegt ist. Mit Apache 1.x war Defaulthost noch in der Apacheconf global und VHosts konnten zusätzlich dazu festgelegt werden(Bitte über Details hinwegsehen - ist ein Thema für sich ...) mit Version 2 des Apache bricht das ganze und VHosts sind das übliche(wie gesagt als grober Überblick zum verstehen ohne auf Details einzugehen). Der erste VHost wird zum default für den Apache. Deswegen ist auch, wenn du nur einen Host hast, Vhosts die Stelle, wo du fündig wirst(Einheitlichkeit macht Sinn - ein weiterer Host wird konfiguriert, wie es der Erste wurde...).
Sicherheitsaspekt habe ich genannt. Kann ich Dir nicht mehr raten.
Da mal aus erster Hand:
http://httpd.apache.org/docs/2.0/howto/cgi.html
das ist bei Dir eingestellt, deswegen geht perl nach /cgi-bin was normal(defaults) tatsächlich das Verzeichnis /usr/lib/cgi-bin am Rechner ist.mit dem ScriptAlias scheint doch die einfachste Lösung zu sein, wo muß ich das einstellen?
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
Hi,
ich habe unter /etc/apache2/ keine apache2.conf oder habe ich das jetzt falsch verstanden?
Gruß Bruno
ich habe unter /etc/apache2/ keine apache2.conf oder habe ich das jetzt falsch verstanden?
Gruß Bruno
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Heißt nur: Du hast kein debian oder keinen Apache2. Was liegen unter(übliche Verdächtige):
/etc/apache
oder
/etc/apache2
oder
/etc/httpd
für Dateien bzw Verzeichnisse rum?
Oder poste mal
/etc/apache
oder
/etc/apache2
oder
/etc/httpd
für Dateien bzw Verzeichnisse rum?
Oder poste mal
Code: Select all
apache2ctl -V | grep SERVER_CONFIG_FILE
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
Hi,
ups hab Deinen letzten Hinweis nicht gesehen...sorry
Ergebnis der Abfrage war:/etc/apache2/httpd.conf
da haben wir es ja :) Was muß ich da jetzt ändern?
ups hab Deinen letzten Hinweis nicht gesehen...sorry
Ergebnis der Abfrage war:/etc/apache2/httpd.conf
da haben wir es ja :) Was muß ich da jetzt ändern?
Last edited by bruno on 2006-12-19 11:36, edited 1 time in total.
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Code: Select all
cd vhosts.d
ls
wahrscheinlich nichts, sondern in vhost.dWas muß ich da jetzt ändern?
aber das sehen wir gleich.
(mein Tipp auf die Distribution: SuSE?)
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
darin ist vhost-ssl.template vhost.template
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Ok. dann wahrscheinlich doch die httpd.conf. Sieht aus, wie bei alten SuSE Distributionen ;).bruno wrote:darin ist vhost-ssl.template vhost.template
Sorry - Verdacht die template wird nicht gelesen und die schieben das doch ind die Konfiguration(wo es nicht hingehört.
Müssen wir doch in der httpd.conf schauen, was die machen.
Schau ob ziemlich am ende der Datei(httpd.conf) eine Zeile
Code: Select all
Include /etc/apache2/vhost.d/
Und checke, ob davor schon irgendwas mit VirtualHost steht. Das interessiert noch. Auch "NameVirtualHost".
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
ok mom...
zum Schluß steht:
Include /etc/apache2/vhosts.d/*.conf
# Note: instead of adding your own configuration here, consider
# adding it in your own file (/etc/apache2/httpd.conf.local)
# putting its name into APACHE_CONF_INCLUDE_FILES in
# /etc/sysconfig/apache2 -- this will make system updates
# easier :)
AddOutputFilter INCLUDES .shtml
AddType text/html .shtml
mit VirtualHost kann ich nichts finden...
zum Schluß steht:
Include /etc/apache2/vhosts.d/*.conf
# Note: instead of adding your own configuration here, consider
# adding it in your own file (/etc/apache2/httpd.conf.local)
# putting its name into APACHE_CONF_INCLUDE_FILES in
# /etc/sysconfig/apache2 -- this will make system updates
# easier :)
AddOutputFilter INCLUDES .shtml
AddType text/html .shtml
mit VirtualHost kann ich nichts finden...
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Das ist eine typische 1.3 Konfiguration, die Du da hast...
Ok. Was ich oben gesagt habe war gelogen - nein, natürlich nicht. Der Apache 2.0 kann auch kompatibel 1.3 betrieben werden.... Ohne Virtual Hosts und der Der Directory Sektion irgendwo in der httpd.conf. Sowie Du einen Vhost anlegst, sollte das ignoriert werden.
Also legen wir einen an(Sonst mußt Du in der httpd.conf nach der <Directory> Section suchen)
Dann zeige mal, was die für ein template da haben. Die entstandene 0host.conf (Servernamen und Verzeichnisse kannst Du natürlich Pseudonymisieren, sind aber Defaults, also in der Welt sowieso bekannt) - da werden wir wahrscheinlich ein paar Kleinigkeiten ändern müssen(Servername den richtigen Setzen, DocumentRoot richtig setzen....).
[ ich versuche um das posten der ganzen httpd.conf rumzukommen ]
Ok. Was ich oben gesagt habe war gelogen - nein, natürlich nicht. Der Apache 2.0 kann auch kompatibel 1.3 betrieben werden.... Ohne Virtual Hosts und der Der Directory Sektion irgendwo in der httpd.conf. Sowie Du einen Vhost anlegst, sollte das ignoriert werden.
Also legen wir einen an(Sonst mußt Du in der httpd.conf nach der <Directory> Section suchen)
Code: Select all
cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/vhosts.d/0host.conf
[ ich versuche um das posten der ganzen httpd.conf rumzukommen ]
Last edited by lucki2 on 2006-12-19 12:20, edited 1 time in total.
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
nur wird es doch noch komplizierter als ich gedacht hab... :oops:
# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride All
Order deny,allow
Deny from all
</Directory>
# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>
steht so drin:lucki2 wrote:(Sonst mußt Du in der httpd.conf nach der <Directory> Section suchen)
# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride All
Order deny,allow
Deny from all
</Directory>
# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Noch eine andere. Die von der Documentroot. Kopieren ist die Alternative.
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
kann ich nichts finden.... hier mal komplett:lucki2 wrote:Noch eine andere. Die von der Documentroot. Kopieren ist die Alternative.
Code: Select all
#
# /etc/apache2/httpd.conf
#
#--------------------------schnipp--------------
Last edited by bruno on 2006-12-19 12:32, edited 1 time in total.
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Suchen kann ich schlecht für Dich.
Also zwei Möglichkeiten.
a) httpd.conf posten(evt auf ein clipboard) - dann kann ich suchen, helfen
b) Kopiererei von oben und das entstehende viel kleinere Resultat posten.
Also zwei Möglichkeiten.
a) httpd.conf posten(evt auf ein clipboard) - dann kann ich suchen, helfen
b) Kopiererei von oben und das entstehende viel kleinere Resultat posten.
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Die brauchen wir dann...Include /etc/apache2/default-server.conf
und das ist eine SuSE.
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
ahhh...wir nähern uns :)lucki2 wrote:Die brauchen wir dann...Include /etc/apache2/default-server.conf
und das ist eine SuSE.
Code: Select all
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
# -------schnipp------------------
Last edited by bruno on 2006-12-19 13:10, edited 1 time in total.
-
- Posts: 427
- Joined: 2006-10-03 01:31
Re: cgi-bin als Hauptverzeichnis
Ja, deswegen Cancelt jeder ab mit dem Kommentar: wo Deine Konfiguration liegt, mußt Du selber wissen. Alle Möglichkeiten, das anders zu machen.
Ok.
aber wie gesagt habe:
Oder Du gehst weiter runter(das ist ein SuSE-Default):
und
wenn du .htacces nutzen willst - sonst kann es auf None stehen bleiben.
Sowohl die DokumentRoot als auch das cgi-Verzeichnis würde ich umsetzen(irgendwo hin, wo es dir passt).
Sowie Du einen VHost hast, wird die Konfiguration hinfällig, das ist 1.x clums, der einen ärgern kann.
Wie gesagt, aus Sicherheitsgründen heraus würde ich aber mir mod_rewrite arbeiten.
Ok.
aber wie gesagt habe:
undScriptAlias /cgi-bin/ "/DER/CGI/PFAD/"
wie Du siehst ist da das ExecCGI gesetzt, daher geht in diesem Verzeichnis Perl. Jetzt kannst Du natürlich auf dieses Verzeichnis die DocumentRoot legen.<Directory "/DER/CGI/PFAD">
...
Options +ExecCGI -Includes
...
</Directory>
Oder Du gehst weiter runter(das ist ein SuSE-Default):
Wenn Du nun den Kommentar ließt, weißt Du was zu tun ist!<Directory "/srv/www/htdocs">
ist normal zu wenig.Options None
Code: Select all
Options +ExecCGI -Indexes FollowSymLinks MultiViews
Code: Select all
AllowOverride AuthConfig
Sowohl die DokumentRoot als auch das cgi-Verzeichnis würde ich umsetzen(irgendwo hin, wo es dir passt).
Sowie Du einen VHost hast, wird die Konfiguration hinfällig, das ist 1.x clums, der einen ärgern kann.
Wie gesagt, aus Sicherheitsgründen heraus würde ich aber mir mod_rewrite arbeiten.
Pfff. Unsinn(war irgendwann einmal so ;) ).# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
#
-
- Posts: 26
- Joined: 2006-12-12 09:30
Re: cgi-bin als Hauptverzeichnis
Herzlichen Dank für Deine Hilfe lucki2 :) Ich werde das jetzt mal in Ruhe ausprobieren. Bei mod_rewrite habe ich eben ein kleines Problem das es eben nur richtig innerhalb des cgi-bin läuft. Siehe meinen Beitrag "mod_rewrite cookieproblem".
Aber trotzdem nochmal vielen Dank für Deine prima Tipps und Deine Geduld mit mir.
Gruß Bruno
Aber trotzdem nochmal vielen Dank für Deine prima Tipps und Deine Geduld mit mir.
Gruß Bruno
-
- Posts: 427
- Joined: 2006-10-03 01:31
noch eins
sonst habe ich ganz schlechtes Gewissen:
FollowSymLinks
Pass damit auf. In der DokumentRoot brauchst Du es meistens, wenn du aber irgendwie darauf verzichten kannst: lass es weg und Indexes wirst Du vielleicht anschalten wollen.
Was das Andere angeht: ist gesagt, was zu sagen war.
FollowSymLinks
Pass damit auf. In der DokumentRoot brauchst Du es meistens, wenn du aber irgendwie darauf verzichten kannst: lass es weg und Indexes wirst Du vielleicht anschalten wollen.
Was das Andere angeht: ist gesagt, was zu sagen war.