.CGI wird angezeigt aber nicht ausgeführt !

cobrastyle

New Member
Hallo,

Einige kennen mich bereits, die Leute bitte ich mir zu helfen und nicht zu kritisieren .

Vorerst: Ich habe mich nun etwas mit Debian beschäftigt und denke ich versteh was ablauft xD

Also mein Problem .

Ich benötige PHP und CGI !
Php ist installiert , cgi auch !

http://81.19.152.183/itload/cgi-bin/upload.cgi

Das Problem ist die CGI wird angezeigt aber die komplette datei ...

Hier die Config. von /etc/apache2/sites-available/itload

Code:
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/itload/htdocs
	<Directory /var/www/itload/htdocs/>
 	FCGIWrapper /var/www/itload/conf_deinhost .php
	<FilesMatch \.php$>
        SetHandler fcgid-script
    	</FilesMatch>
    	Options +ExecCGI
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/var/www/itload/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Phpinfo: http://81.19.152.183/itload/htdocs/php.php

Jemand eine Idee ?

Hier noch der error.log der apache !

[Fri Jul 08 10:45:42 2011] [notice] Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch configured -- resuming normal operations
[Fri Jul 08 10:46:56 2011] [error] [client 91.114.178.58] File does not exist: /var/www/favicon.ico, referer: http://81.19.152.183/itload/cgi-bin/api.cgi
[Fri Jul 08 10:46:56 2011] [error] [client 91.114.178.58] File does not exist: /var/www/favicon.ico, referer: http://81.19.152.183/itload/cgi-bin/api.cgi

Das das favicon nicht existiert ist ja egal ....
 
Last edited by a moderator:
Für Dein Verzeichnis "/var/www/itload/cgi-bin" fehlt noch der Zuweisung des Handlers cgi-script.
Code:
<Directory "/var/www/itload/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    SetHandler cgi-script
    Order allow,deny
    Allow from all
</Directory>

Das "SetHandler cgi-script" versteckt sich auch hinter ScriptAlias, aber Dein ScriptAlias bezieht sich ja auf eine andere "Location" (/cgi-bin und nicht /itload/cgi-bin) und auf ein anderes Verzeichnis.
 
Für Dein Verzeichnis "/var/www/itload/cgi-bin" fehlt noch der Zuweisung des Handlers cgi-script.
Code:
<Directory "/var/www/itload/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    SetHandler cgi-script
    Order allow,deny
    Allow from all
</Directory>

Das "SetHandler cgi-script" versteckt sich auch hinter ScriptAlias, aber Dein ScriptAlias bezieht sich ja auf eine andere "Location" (/cgi-bin und nicht /itload/cgi-bin) und auf ein anderes Verzeichnis.

Danke für deine Antwort .
Nun dennoch nichts, liegt wohl daran das ich es falsch verstanden habe ne ? ^^
Code:
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/itload/htdocs
	<Directory /var/www/itload/htdocs/>
 	FCGIWrapper /var/www/itload/conf_deinhost .php
	<FilesMatch \.php$>
        SetHandler fcgid-script
    	</FilesMatch>
    	Options +ExecCGI
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /var/www/itload/cgi-bin/
	<Directory "/var/www/itload/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

<Directory "/var/www/itload/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    SetHandler cgi-script
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

So?
 
Ich versteh nun garnichts mehr ..

In einem anderem Forum sagt man mir :

Du würfelst da eine menge durcheinander. CGI ist nur eine Schnittstelle, die der Server anbietet und üblicherweise schon installiert. PHP ist eine Programmiersprache, die aber heutzutage kaum noch als CGI ausgeführt wird. Du willst aber ein Perlskript ausführen Dazu reicht ein Eintrag in der .htaccess
Code:

Code:
AddHandler cgi-script .cgi

oder entsprechend in der Konfiguration.

Was stimmt nun ?^^

Hier meine derzeitige config.
<VirtualHost *:80>
<Directory /var/www/itload/cgi-bin>
Options +ExecCGI
</Directory>
AddHandler cgi-script .cgi .pl
ScriptAlias /cgi-bin/ /var/www/itload/cgi-bin/
</VirtualHost>

Das passt doch so oder ?
 
Last edited by a moderator:
Was stimmt nun ?^^

Das Problem ist wieder dass eine Begriffskuerzung (Informatiker sind halt faul) je nach Kontext etwas anderes bedeuten.

Wenn du von eine Dratei sprichst dann meinst ein vom Webserver ausgefuertes Binaer-Programm oder interpretiertes Skript (zB PHP, Perl, Python, ...) Meist geht man aufgrund der Verbreitung davon auss dass es sich um Perl-Skripte handelt.

Wenn du von der Technik redest dann meinst du das Interface welches eine einheitliche Kommunikationsmethode festlegt. Welche Skriptsprache oder Binary im Hintergrund nun werkelt wird hier nicht festgelegt (schliesslich soll es ja 'common' sein). Dass PHP meist nicht mehr als cgi (sondern direkt als Modul oder als fastcgi, fpm, ...) ausgefuert wird hat nur mit der Leistung dieser Loesungen zu tun. PHP war urspruenglich auch nur ein CGI-Skript.

Bitte verlinkte noch das andere Forum in welchem du crossposted hast damit nicht ueberall die gleichen Wege vorgeschlagen werden...
 
Last edited by a moderator:
Ok im error log stehen 5 Zeilen !
Aber immer das selbe :
Code:
[Sat Jul 09 14:39:13 2011] [error] [client 178.191.159.12] File does not exist: /var/www/favicon.ico, referer: http://81.19.152.183/itload/cgi-bin/install_fs.cgi

Das favicon ist ja egal aber man achte auf den pfad "File does not exist: /var/www/favicon.ico" . Der falsche pfad ^^ nun nur noch gucken wo ich den richtigen eingeben kann .
Ist das der fehler ?
 
Wenn kein favicon im Html spezifiert ist nimmt er /favicon.ico als Standard.
Da aber auch da keiner liegt kriegt er eine 404 zurueck und es wird geloggt. Das ist ganz normal und hat nichts mit deinem Problem zu tun.
 
Wenn kein favicon im Html spezifiert ist nimmt er /favicon.ico als Standard.
Da aber auch da keiner liegt kriegt er eine 404 zurueck und es wird geloggt. Das ist ganz normal und hat nichts mit deinem Problem zu tun.

Ja aber ich meinte ja wenn der pfad zum favicon falsch ist ob dann auch andere pfade falsch sind ...
 
Back
Top