HenKHan: Apache Webserver und Perl

Beitrag lesen

»» erstmal: deine Nachfrage hättest du ruhig in deinem anderen
   Thread <?m=39188&t=7076> unterbringen können ...

Oh, sorry!!!

»» Die "Links" ? Welche ?
Mit "Links" meine ich die Links, mit denen ich die Scripte aufrufe, da der Server immer einen  404-Fehler ausgibt.

Hier ein Auszug aus meiner httpd.conf:
...
#2. Sektion
Port 80
ServerAdmin henkhan@web.de
ServerName 127.0.0.1
DocumentRoot "Server-Pfad"
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory "Pfad">
    Options Indexes FollowSymLinks MultiViews All
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<IfModule mod_userdir.c>
    UserDir "C:/Programme/tools/web/Apache/Apache/users/"
</IfModule>

DirectoryIndex index.htm

AccessFileName .htaccess
<Files ~ "^.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

UseCanonicalName On
<IfModule mod_mime.c>
    TypesConfig conf/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off

ErrorLog logs/error.log

LogLevel warn
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access.log common
ServerSignature On

Apache parses all CGI scripts for the shebang line by default.

This comment line, the first line of the script, consists of the symbols

pound (#) and exclamation (!) followed by the path of the program that

can execute this specific script.  For a perl script, with perl.exe in

the C:\Program Files\Perl directory, the shebang line should be:

#!c:/program files/perl/perl

Note you _must_not_ indent the actual shebang line, and it must be the

first line of the file.  Of course, CGI processing must be enabled by

the appropriate ScriptAlias or Options ExecCGI directives for the files

or directory in question.

However, Apache on Windows allows either the Unix behavior above, or can

use the Registry to match files by extention.  The command to execute

a file of this type is retrieved from the registry by the same method as

the Windows Explorer would use to handle double-clicking on a file.

These script actions can be configured from the Windows Explorer View menu,

'Folder Options', and reviewing the 'File Types' tab.  Clicking the Edit

button allows you to modify the Actions, of which Apache 1.3 attempts to

perform the 'Open' Action, and failing that it will try the shebang line.

This behavior is subject to change in Apache release 2.0.

Each mechanism has it's own specific security weaknesses, from the means

to run a program you didn't intend the website owner to invoke, and the

best method is a matter of great debate.

To enable the this Windows specific behavior (and therefore -disable- the

equivilant Unix behavior), uncomment the following directive:

ScriptInterpreterSource registry

The directive above can be placed in individual <Directory> blocks or the

.htaccess file, with either the 'registry' (Windows behavior) or 'script'

(Unix behavior) option, and will override this server default option.

Alias /icons/ "Pfad/"

<Directory "Pfad">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

Alias /manual/ "Pfad/"

<Directory "Pfad">
        Options Indexes FollowSymlinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
 ScriptAlias /cgi-bin/ "Pfad/"

#
    # "Pfad" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "Pfad">
        Options  Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
...
Ich habe hier einen großen Teil der englischen Kommentare herausgeschnitten. Damit es nicht ganz so lang wird. Kann mir jemand sagen, was ich falsch gemacht habe, dass keine Perl-Scripte ausführt werden?