WIe richte ich Perl (cgi-bin) support for users on Debian
WIe richte ich Perl (cgi-bin) support for users on Debian
Hallo
Ich habe mir auf Feather Linux (Debina) apache 2.0,php 5, mysql, pure-ftpd un postfix installiert. Nun wolte ich auch Perl support fur web-hosting user haben, mit cgi-bin alias, so etwas:
/home/$user/cgi-bin
Sorry, ich bin neu auf linux, ich wolte disem OS nutzen nur als web-server, weill ich das gemerkt habe, dass Windows nicht fur diese sachen geschafen ist was es security angeht...
Danke
Brauch ich auch ActivePerl, so wie auf Windows? Gibt es packages ActivePerl.deb?
Ich habe mir auf Feather Linux (Debina) apache 2.0,php 5, mysql, pure-ftpd un postfix installiert. Nun wolte ich auch Perl support fur web-hosting user haben, mit cgi-bin alias, so etwas:
/home/$user/cgi-bin
Sorry, ich bin neu auf linux, ich wolte disem OS nutzen nur als web-server, weill ich das gemerkt habe, dass Windows nicht fur diese sachen geschafen ist was es security angeht...
Danke
Brauch ich auch ActivePerl, so wie auf Windows? Gibt es packages ActivePerl.deb?
Ich mochte web-hosting erichten fur ein paar meine Freunde auf meinem server . Und ich will ,das si auch perl (cgi-bin) unterstuzung fur ihr web-space haben neben PHP.randall hat geschrieben:Mir ist nicht ganz klar, was Du damit meinst ...
Du hast ein paar Perl scripte, und Du willst, dass Dein Apache die ausführen kann, oder sehe wie ist das gemeint ?
mfg, randall
So etwas:
http://mein_freund1.meine-domene.com/cgi-bin/
http://mein_freund2.meine-domene.com/cgi-bin/
http://mein_freund3.meine-domene.com/cgi-bin/
?
Ich habe versucht mit httpd.conf editieren, so:
ScriptAlias /cgi-bin/ /home/mein_freund1/cgi-bin/
Vorab ein paar fragen.
Welchen Apache hast du installiert?
Soll en ihre Seiten in ihren jeweiligen Homeverzeichnissen gehostet werden?
Wie sieht deine httpd.conf bzw. sites-enabled/* denn aus?
Ansich ist es nicht schwehr ehrere cgi-bin Verzeichnisse an zu legen. Aber neben dem Link muß man auch dem Apache auch erlauben die Scripte aus zu führen.
Welchen Apache hast du installiert?
Soll en ihre Seiten in ihren jeweiligen Homeverzeichnissen gehostet werden?
Wie sieht deine httpd.conf bzw. sites-enabled/* denn aus?
Ansich ist es nicht schwehr ehrere cgi-bin Verzeichnisse an zu legen. Aber neben dem Link muß man auch dem Apache auch erlauben die Scripte aus zu führen.
apache2Welchen Apache hast du installiert?
Es wahre gut, aber im ganzen ist mir egal, kann auch wo andres das verzeichnes liegen.Soll en ihre Seiten in ihren jeweiligen Homeverzeichnissen gehostet werden?
Die httpd.conf ist bei default lehr. Und die sitea-enabled:Wie sieht deine httpd.conf bzw. sites-enabled/* denn aus?
<VirtualHost *>
ServerName meineseite.com
ServerAlias meineseite.com
DocumentRoot /home/meineseite/
</VirtualHost>
und die subdomains
<VirtualHost *>
ServerName user1.meineseite.com
ServerAlias user1.meineseite.com
DocumentRoot /home/user1/
</VirtualHost>
Allso so würde ich das machen.
Hier für "user1":
Natürlich müssen die Verzeichnisse "log", "htdocs" und "cgi-bin" vorhanden sein.
Hier für "user1":
Code: Alles auswählen
ServerName user1.meineseite.com
ServerAlias user1.meineseite.com
<VirtualHost user1.meineseite.com>
ServerAdmin webmaster@meineseite.com
DocumentRoot /home/user1/htdocs/
<Directory />
AllowOverride None
deny from all
</Directory>
<Directory /home/user1/htdocs/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /home/user1/cgi-bin/
<Directory "/home/user1/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /home/user1/log/apache.error.log
LogLevel warn
CustomLog /home/user1/log/apache.access.log combined
ServerSignature On
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Danke, ToPeG, hab ich das gemacht, aber leider kriege ich dies bei aufrufen von http://user1.meineseite.com/cgi-bin/test.pl:
Es ist egal welche datei sich im CGI-BIN befindet (auch CHMOD hilft nicht), jedes mal kriege ich permission denied....You don't have permission to access /cgi-bin/test.pl on this server,
Was sagen die LogDateien in /home/user1/log dazu? (sofern der "www-data" darein schreiben darf.) Wenn die Verzeichnisse für apache nicht lesbar sind, kann auch nichts ausgeführt werden. Sowas wie "chmod 0755" für "cgi-bin" und "htdocs" sollte sein.
"log" sollte besser www-data gehören und ebenfalls auf 0755 gesetzt sein.
Entschuldige wenn ich dir was erzähle was du schon versucht hast, das wird nicht so ganz klar.
Eventuell könnte auch das das Problem sein.
Nimm mal das "deny from all" raus
Kannst du normale Dateien anzeigen lassen? Hast du mal testweise eine "index.html" in "htdocs" abgelegt und sie über "http://user1.meineseite.com/" aufgerufen?
Weiterhin scheine ich etwas mit der "virtualhost" Geschichte durcheinander geworfen haben. Wenn ich der Doku glauben darf sollte es so aussehen:
(Ich mappe die meine hosts über Ports, IPs und 'nem Router, daher sieht das bei mir alles etwas anders aus.)
Das "ServerAlias" wird wohl nur gebraucht wenn man mehrere Namen mit dem "VirtualHost" verknüpfen will.
"log" sollte besser www-data gehören und ebenfalls auf 0755 gesetzt sein.
Entschuldige wenn ich dir was erzähle was du schon versucht hast, das wird nicht so ganz klar.
Eventuell könnte auch das das Problem sein.
Code: Alles auswählen
<Directory />
AllowOverride None
deny from all
</Directory>
Kannst du normale Dateien anzeigen lassen? Hast du mal testweise eine "index.html" in "htdocs" abgelegt und sie über "http://user1.meineseite.com/" aufgerufen?
Weiterhin scheine ich etwas mit der "virtualhost" Geschichte durcheinander geworfen haben. Wenn ich der Doku glauben darf sollte es so aussehen:
Code: Alles auswählen
<VirtualHost *>
ServerName user1.meineseite.com
...
</VirtualHost>
Das "ServerAlias" wird wohl nur gebraucht wenn man mehrere Namen mit dem "VirtualHost" verknüpfen will.
Jetzt geht es. Habe eine Losung von apache tutorials gefunden...
Aber habe noch ein problem, wenn ich zumbeispiel tippe:
http://www.meinedomain.com/cgi-bin/test.pl
wirt die test.pl normal proccessiert
ABER
wenn ich tippe http:// ohne www, z.B.:
http://meinedomain.com/cgi-bin/test.pl
wird die datei test.pl heruntergeladen, wass ein sehr grosses sicherheit Risiko sein kann..
Aber habe noch ein problem, wenn ich zumbeispiel tippe:
http://www.meinedomain.com/cgi-bin/test.pl
wirt die test.pl normal proccessiert
ABER
wenn ich tippe http:// ohne www, z.B.:
http://meinedomain.com/cgi-bin/test.pl
wird die datei test.pl heruntergeladen, wass ein sehr grosses sicherheit Risiko sein kann..
Ich würde mal vermuten, daß "http://www.meinedomain.com/" einen anderen Virtualhost anspricht, als "http://meinedomain.com/". Dadurch käme es zu den Problemen. Hast du ein "ServerAlias" im zutreffenden Virtualhost angelegt?
Mich würde auch interessieren wie nun deine Config aussieht. Immerhin hat mein Vorschag ja nicht funktioniert.
Mich würde auch interessieren wie nun deine Config aussieht. Immerhin hat mein Vorschag ja nicht funktioniert.
sites-availible:ToPeG hat geschrieben:Ich würde mal vermuten, daß "http://www.meinedomain.com/" einen anderen Virtualhost anspricht, als "http://meinedomain.com/". Dadurch käme es zu den Problemen. Hast du ein "ServerAlias" im zutreffenden Virtualhost angelegt?
Mich würde auch interessieren wie nun deine Config aussieht. Immerhin hat mein Vorschag ja nicht funktioniert.
Code: Alles auswählen
<VirtualHost *>
ServerName www.meinedomain.com
ServerAlias meinedomain.com
DocumentRoot /home/meinedomain/htdocs
</VirtualHost>
Code: Alles auswählen
<Directory /home/*/htdocs/cgi-bin>
Options ExecCGI
SetHandler cgi-script
</Directory>