• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

cgi script wird nicht gefunden

F

FoXMorayn

Guest
Hallo,

ich versuche den mysqldumper zu installieren.
beim testen des cgi scipts erhalte ich jedoch den fehler, dass dieses nicht gefunden werden kann (404). ausgegeben wird mir dabei der korrekte pfad zum script:
/var/www/vhosts/account/cgi-bin/simpletest.cgi

rechte sind auf 755

im dumper habe ich es schon mit relativen und absoluten pfadangaben versucht. die endung der scripte ist auch richtig eingestellt.

hat noch jemand eine idee?

gruß,
foxmorayn
 
Werbung:
Rufst du das CGI über einen Server auf?
Dann dürfte der Pfad falsch sein.
 
ich ruf es per url auf http://forum.mysqldumper.de/features-perl-cronscript-einstellungen-von-konfiguration-cron-t502.html . was micht nervt ist, dass ich es schon 3mal auf anderen accounts erolgreich installiert habe und es funktioniert.

der dumper liegt in /var/www/vhosts/account/httpdocs/backup
root verzeichnis ist /var/www/vhosts/account/
cgi-bin liegt in /var/www/vhosts/account/cgi-bin/

.htaccess habe ich zu testzwecken gelöscht (in httpdocs/ befindet sich ein wordpress)
das ausführen von cgi-scripten außerhalb von cgi-bin liefert mir den quellcode
auf dem gleichen server, auf einem anderen account, habe ich eine funktionierende installation. ich komm leider nicht dahinter was ich dort anders gemacht habe. auf den support vom provider muss ich leider verzichten.
 
Werbung:
Das spielen jetzt zuviele Dinge eine Rolle, als das man dir wirklich helfen könnte.

Ein Perl Skript gibt kein 404'er Fehler zurück. Auch ein Cronjob tut dies nicht
Woher kommt dieser von dir erwähnte Fehler?

Nachdem ich die von dir verlinkte Anleitung genau durchgelesen habe (warum machst du das nicht?), wird einiges klarer, das Programm, dass du konfigurierst ruft das Skript über eine URL auf (was nicht unbedingt eine optimale Lösung für sowas ist, mittlerweile bieten auch viele Hoster bei Billigpaketen echte Cronjobs an) und zwar folgendermassen:

Pfad der Perlskripte: Im Auslieferungszustand ist dies der Unterordner msd_cron. Erlaubt sind absolute und relative Pfadangaben, d.h.: fängt der Pfad mit / an, ist es eine absolute Pfadangabe, die vom Web-Root ausgehend ist. Fängt der Pfad direkt mit einem Namen an, so ist dies eine relative Pfadangabe und bezieht sich auf Unterordner des MSD Hauptverzeichnisses. Darfst Du Perlskripte nur in einem eigenen cgi-bin-Ordner ausführen, der oberhalb des Web-Roots liegt, dann wäre die richtige Adressieung des Ordners "./../../cgi-bin/".
Lese auch den unteren Artikel über die Grundvorraussetzungen.

D.h. die Addressierung läuft relativ über den Webordner, in deinem Fall also vermutlich /cgi-bin/simpletest.cgi
 
/cgi-bin/
"The requested URL /cgi-bin/simpletest.cgi was not found on this server."

hab echt keine idee mehr was ich da eingeben soll. ich hab die rechte überprüft, die pfade... alles ist bis auf den accountnamen identisch mit dem anderen account, aber es bleibt der 404er
 
Werbung:
domain root liegt in httpdocs

eigentlich funktioniert es bei der verzeichnisstrucktur mit ./../../cgi-bin/
dann erhalte ich folgende url:

domain.de/backup/./../../cgi-bin/crondump.cgi?config=mysqldumper

rein logisch ist diese url auch richtig.

bei einem account funktioniert es, aber jetzt nicht mehr. irgendetwas muss anders sein.
 
domain root liegt in httpdocs

eigentlich funktioniert es bei der verzeichnisstrucktur mit ./../../cgi-bin/
dann erhalte ich folgende url:

domain.de/backup/./../../cgi-bin/crondump.cgi?config=mysqldumper

rein logisch ist diese url auch richtig.
Wieso? rein logisch macht dieser Ausdruck keinen Sinn, da du nicht zwei Verzeichnisse höher gehen kannst, wenn du in der ersten Ebene bist, daher entspricht das exakt '/cgi-bin/crondump.cgi' Aber dort liegt ja das Skript nicht.
 
genau so wird mir die url vom dumper ausgegeben.

./../../ wird vom browser aber einfach entfernt.

domain.de/cgi-bin/crondump.cgi gibt es aber nicht.
es ist keine .htaccess vorhanden. trotzdem funktioniert es auf einigen webspace accounts. genau so ist auch die anleitung vom dumper.


EDIT: domain.de/cgi-bin/crondump.cgi?config=mysqldumper funktioniert auf einigen accounts, obwohl der order cgi-bin, im domain root (also in httpdocs) nicht existiert. passende htaccess einträge sind auch nicht vorhanden. ich blick da leider nicht durch.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
EDIT: domain.de/cgi-bin/crondump.cgi?config=mysqldumper funktioniert auf einigen accounts, obwohl der order cgi-bin, im domain root (also in httpdocs) nicht existiert.
Muss es auch nicht, du kannst das CGI Verzeichnis mappen wohin du willst. Bei einem Hoster, den ich nutze, ist das cgi-bin Verzeichniss auch kein Unterverzeichniss vom Serverroot.
 
dann kann es vllt daran liegen, dass dieses 'mapping' bzw der link zum cgi-bin fehlt und ich den hoster in die pflicht nehmen muss? kennst du vllt. eine lösung per .htaccess?
 
Werbung:
Was passiert denn, wenn du nur example.org/cgi-bin eingibst?

EDIT: Ach so, und die wichtigste Frage bleibt aber, WO ist diese Datei, die du aufrufen willst?
 
example.org/cgi-bin -> 404

die datei, die ich aufrufen möchte liegt in /var/www/vhosts/account/cgi-bin/
einen ordner über dem domain root. bzw parallel.
 
example.org/cgi-bin -> 404

die datei, die ich aufrufen möchte liegt in /var/www/vhosts/account/cgi-bin/
einen ordner über dem domain root. bzw parallel.
Das kann nicht sein

Du sagst, dass example.org auf das Verzeichnis /var/www/vhosts/account/ zeigt. Dann kann der Aufruf example.org/cgi-bin keinen 404'er Fehler verursachen, wenn das Verzeichnis /var/www/vhosts/account/cgi-bin existiert.
 
Werbung:
ftp root: /var/www/vhosts/account/
domain root: /var/www/vhosts/account/httpdocs/

cgi-bin: /var/www/vhosts/account/cgi-bin/
 
Aha, also existiert das Verzeichnis cgi-bin doch nicht da wo du es gesagt hast. Ist denn die Datei die du aufrufen willst in dem Verzeichnis?
 
ftp root: /var/www/vhosts/account/
domain root: /var/www/vhosts/account/httpdocs/
cgi-bin: /var/www/vhosts/account/cgi-bin/
perl script: /var/www/vhosts/account/cgi-bin/crondump.cgi

mysqldumper: /var/www/vhosts/account/httpdocs/backup

eingetragener pfad im mysql dumper: ./../../cgi-bin/

ausgegebene url vom mysql dumper: http://www.domain.de/cgi-bin/crondump.cgi?config=mysqldumper
EDIT:
sorry, das board berabeitet die links automatisch. so wird es ausgegeben: h t t p : / / w w w . d o m a i n . d e / b a c k u p / . / . . / . . / c g i - b i n / c r o n d u m p . c g i ? c o n f i g = m y s q l d u m p e r


vom browser verwendete url (es werdena autmatisch zeichen entfernt): http://www.domain.de/backup/crondump.cgi?config=mysqldumper

genau so funktioniert es auf einem account! und genau so ist auch die anleitung vom mysqldumper. bei den restlichen accounts bekomme ich damit leider einen 404 fehler.
die verzeichnisstrucktur ist eigentlich standard. leider verstehe ich die technik hinter dem pfad zum cgi-bin nicht. es existiert keine mod rewrire regel. vom server muss also cgi-bin automatisch umgeleitet werden, denn so, wie der pfad in der url steht, existiert das verzeichnis cgi-bin garnicht.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
hab etwas von "Options +ExecCGI" gelesen, damit ich in jedem ordner perl nutzen kann, aber als .htaccess funktioniert das nicht.
 
ftp root: /var/www/vhosts/account/
domain root: /var/www/vhosts/account/httpdocs/
cgi-bin: /var/www/vhosts/account/cgi-bin/
perl script: /var/www/vhosts/account/cgi-bin/crondump.cgi

mysqldumper: /var/www/vhosts/account/httpdocs/backup

eingetragener pfad im mysql dumper: ./../../cgi-bin/

ausgegebene url vom mysql dumper: http://www.domain.de/cgi-bin/crondump.cgi?config=mysqldumper
EDIT:
sorry, das board berabeitet die links automatisch. so wird es ausgegeben: h t t p : / / w w w . d o m a i n . d e / b a c k u p / . / . . / . . / c g i - b i n / c r o n d u m p . c g i ? c o n f i g = m y s q l d u m p e r


vom browser verwendete url (es werdena autmatisch zeichen entfernt): http://www.domain.de/backup/crondump.cgi?config=mysqldumper

genau so funktioniert es auf einem account!
Deine Angaben können z.T nicht stimmen.
Wenn du die relative URL im Browser eingibst, kann nicht das von dir genannte rauskommen.
w w w . d o m a i n . d e / b a c k u p / . / . . / . . / c g i - b i n / c r o n d u m p . c g i ? c o n f i g = m y s q l d u m p e r

Wird im Browser zu:
w w w . d o m a i n . d e / c g i - b i n / c r o n d u m p . c g i ? c o n f i g = m y s q l d u m p e r

Und einen 404'er Fehler kannst du mit den von dir gemachten Angaben nicht bekommen. Es muss also irgendwo etwas anderes sein, als du uns zeigst. Einen 404'er Fehler bekommst du, wenn eine Resource nicht existiert und nach dem was du uns beschreibst, existiert domain.de/cgi-bin/crondump.cgi
Was sein kann, dass das Skript wiederrum etwas aufruft, was nicht existiert.
 
Zurück
Oben