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.
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.
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
Wenn dein Serverroot das ist: /var/www/vhosts/account/
und das CGI Verzeichnis ist das: /var/www/vhosts/account/cgi-bin/
und in diesem Verzeichnis ist die Datei simpletest.cgi
dann muss der Aufruf http://example.org/cgi-bin/skript.cgi eine andere Meldung ergeben.
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.
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.
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?
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.
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
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.
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.