ubuntuusers.de

Virtual Private Server Pfad umleiten und umbenennen.

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

ZX-Sinclair

Avatar von ZX-Sinclair

Anmeldungsdatum:
18. Dezember 2005

Beiträge: 245

Wohnort: Kaufbeuren

Hallo,

ich habe mir mit viel Mühe einen VPS aufgesetzt. Die index.html befindet sich im Ordner/var/www/html und ist öffentlich erreichbar und passt. Auch der Nameserver passt: Test.Domain.tld

Ich möchte aber nicht die HTML-Datei aufrufen, sondern ein Programm per CGI im Ordner /usr/lib/cgi-bin. Das läuft auch, wenn es direkt aufgerufen wird. Allerdings nervt die URL 123.45.67.89//cgi-bin/Test.cgi

Meine Frage ist nun, wie ich den Pfad von /var/www/html auf /usr/lib/cgi-bin umleiten kann und dann auch die Domain stimmt (Test.Domain.tld). Ich nutze Apache2.4.

Per .htacces scheint es nicht zu funktionieren. Mit der apache2.conf komme ich nicht weiter. Da fährt der Apache nach dem Neustart nicht mehr hoch. Irgendwie kann das nicht schwierig sein, aber ich komme nicht drauf.

Wer kann helfen?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

ZX-Sinclair schrieb:

Meine Frage ist nun, wie ich den Pfad von /var/www/html auf /usr/lib/cgi-bin umleiten kann und dann auch die Domain stimmt (Test.Domain.tld).

Ich würde dafür einen VHost anlegen. Alternativ kannst du das DocumentRoot ändern, musst aber die entsprechenden Optionen, die für den Alias /cgi-bin/ gesetzt sind, übernehmen.

Mit der apache2.conf komme ich nicht weiter.

Warum?

Da fährt der Apache nach dem Neustart nicht mehr hoch.

Einfach die Konfiguration vorher testen mit:

apache2ctl configtest

ZX-Sinclair

(Themenstarter)
Avatar von ZX-Sinclair

Anmeldungsdatum:
18. Dezember 2005

Beiträge: 245

Wohnort: Kaufbeuren

Hallo, und danke!

Document root habe ich geändert in: /etc/apache2/sites-available/000-default.conf

Da habe ich den Pfad von DocumentRoot /var/www/html auf /usr/lib/cgi-bin geändert.

Ein Check mit apache2ctl configtest lieferte "Syntax ok". Der folgende Restart verlief negativ. Erst als DocumentRoot auf den Originalpfad zurückgestellt wurde konnte der Apache wieder gestartet werden.

Was bedeutet das: "musst aber die entsprechenden Optionen, die für den Alias /cgi-bin/ gesetzt sind, übernehmen."?

Ich habe doch noch gar keine Optionen gesetzt; und wenn ja, wo?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

ZX-Sinclair schrieb:

Der folgende Restart verlief negativ.

Was steht im Error-Log?

Was bedeutet das: "musst aber die entsprechenden Optionen, die für den Alias /cgi-bin/ gesetzt sind, übernehmen."? Ich habe doch noch gar keine Optionen gesetzt; und wenn ja, wo?

Du solltest dich mal intensiver mit der Apache-Konfiguration auseinandersetzen. Ich glaube bei Ubuntu gibts da eine Datei unter conf-available/serve-cgi-bin.conf oder sowas. Im Zweifelsfall einfach mal nach dem Verzeichnisname greppen, dann siehst du in welcher Datei dazu was steht:

grep -lri "/usr/lib/cgi-bin/" /etc/apache2

ZX-Sinclair

(Themenstarter)
Avatar von ZX-Sinclair

Anmeldungsdatum:
18. Dezember 2005

Beiträge: 245

Wohnort: Kaufbeuren

Das ist der Ausschnitt aus dem Err.log

[Wed Oct 24 14:09:30.608940 2018] [core:warn] [pid 2537:tid 139937035017152] AH00045: child process 9432 still did not exit, sending a SIGTERM
[Wed Oct 24 14:09:32.610902 2018] [core:warn] [pid 2537:tid 139937035017152] AH00045: child process 9432 still did not exit, sending a SIGTERM
[Wed Oct 24 14:09:34.613245 2018] [core:warn] [pid 2537:tid 139937035017152] AH00045: child process 9432 still did not exit, sending a SIGTERM
[Wed Oct 24 14:09:36.614961 2018] [core:error] [pid 2537:tid 139937035017152] AH00046: child process 9432 still did not exit, sending a SIGKILL
[Wed Oct 24 14:09:37.616241 2018] [mpm_event:notice] [pid 2537:tid 139937035017152] AH00491: caught SIGTERM, shutting down
[Wed Oct 24 14:11:08.241083 2018] [mpm_event:notice] [pid 16439:tid 140244827384768] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Wed Oct 24 14:11:08.241272 2018] [core:notice] [pid 16439:tid 140244827384768] AH00094: Command line: '/usr/sbin/apache2'
[Wed Oct 24 14:14:03.399994 2018] [core:warn] [pid 16439:tid 140244827384768] AH00045: child process 16441 still did not exit, sending a SIGTERM
[Wed Oct 24 14:14:05.402000 2018] [core:warn] [pid 16439:tid 140244827384768] AH00045: child process 16441 still did not exit, sending a SIGTERM
[Wed Oct 24 14:14:07.404328 2018] [core:warn] [pid 16439:tid 140244827384768] AH00045: child process 16441 still did not exit, sending a SIGTERM
[Wed Oct 24 14:14:09.405690 2018] [core:error] [pid 16439:tid 140244827384768] AH00046: child process 16441 still did not exit, sending a SIGKILL
[Wed Oct 24 14:14:10.406989 2018] [mpm_event:notice] [pid 16439:tid 140244827384768] AH00491: caught SIGTERM, shutting down
[Wed Oct 24 14:15:40.707246 2018] [mpm_event:notice] [pid 17060:tid 139841832999872] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Wed Oct 24 14:15:40.707517 2018] [core:notice] [pid 17060:tid 139841832999872] AH00094: Command line: '/usr/sbin/apache2'
[Wed Oct 24 14:15:54.641273 2018] [mpm_event:notice] [pid 17060:tid 139841832999872] AH00491: caught SIGTERM, shutting down
[Wed Oct 24 14:15:54.753948 2018] [mpm_event:notice] [pid 17141:tid 139791429856192] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Wed Oct 24 14:15:54.754188 2018] [core:notice] [pid 17141:tid 139791429856192] AH00094: Command line: '/usr/sbin/apache2'

Ja, das ist die /etc/apache/apache2.conf

Das löst aber alles nicht mein Problem...

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

ZX-Sinclair schrieb:

Das ist der Ausschnitt aus dem Err.log

Da steht kein wirklicher Fehler drin, der ein Starten des Apachen verhindert hätte.

Ja, das ist die /etc/apache/apache2.conf. Das löst aber alles nicht mein Problem...

Schau dir den entsprechenden Abschnitt einfach an, vor allem Options +ExecCGI muss für das Verzeichnis gesetzt werden.

ZX-Sinclair

(Themenstarter)
Avatar von ZX-Sinclair

Anmeldungsdatum:
18. Dezember 2005

Beiträge: 245

Wohnort: Kaufbeuren

Hallo nochmal,

nach einer Woche harter Arbeit habe ich einen Teilsieg errungen.

Meine CGI läuft unter 123.123.123.123//cgi-bin/test_1 (blöde URL, aber das kommt später...)

Nun möchte ich aber eine zweite CGI als Standalone App unter dem Port 1025 starten. Das funktioniert komischerweise einwandfrei unter 123.123.123.123:1025//cgi-bin/test_2

Wird dann aber nach ca. 10 min beendet und kann nicht mehr gestartet werden.

Unter 123.123.123.123:1025 geht garnichts. Keine Verbindung zum Server. Kein Errorlog.

Die alte 123.123.123.123//cgi-bin/test_1 läuft einwandfrei weiter.

Wo kann denn der Fehler sein?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

ZX-Sinclair schrieb:

Nun möchte ich aber eine zweite CGI als Standalone App unter dem Port 1025 starten.

Was heißt "standalone"? Wird die Applikation über den Webserver ausgeliefert oder nicht?

Wird dann aber nach ca. 10 min beendet und kann nicht mehr gestartet werden.

Das ist keine Fehlerbeschreibung. Was steht im Log? Wie ist die Fehlermeldung am Client?

Unter 123.123.123.123:1025 geht garnichts.

Auch das ist keine Fehlerbeschreibung. Ist der Port überhaupt gebunden?

ZX-Sinclair

(Themenstarter)
Avatar von ZX-Sinclair

Anmeldungsdatum:
18. Dezember 2005

Beiträge: 245

Wohnort: Kaufbeuren

Alsooo...

Es hat sich einiges aufgeklärt. Es lag nicht am Server, sondern an der App. Diese wird mittels Xojo programmiert und kann über unterschiedliche Parameter kompiliert werden. Die haupsächlichen Unterschiede sind, daß es diese Apps zum einen als CGI gibt, die auf einem Apache laufen. Weiterhin als Standalone, die irgendwo auf dem Server laufen können. Allerdings ist die Doku dermaßen schlecht, daß man durch rumprobieren drauf kommen muß. Die Standalones MÜSSEN manuell mittels Putty gestartet werden und können erst dann per Browser und der korrekten Portnummer aufgerufen werden. Jetzt läuft's!

Danke an Alle!

Antworten |