CGI - Perl Erweiterung

Status
Für weitere Antworten geschlossen.

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Hallo,


versuche nun schon seit 3 Stunden Perl auf dem Webserver zum laufen zum kriegen, komme aber leider nicht weiter….


Habe unter /usr/syno/apache2/conf in der httpd.conf-user schon die Einträge vorgenommen und dann über /usr/syno/etc/rc.d/S97apache-user.sh erstarrt den Dienst neugestartet.

Leider bringe ich es ums Willen nicht hin das der Webserver Perl Dateien aufführt.

Hat jemand eine Ahnung bzw. eine gute Anleitung für mich?

Ps.: Hab über die Suche hier im Forum nichts gefunden deswegen hab ich den Thread eröffnet….


Grüße
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
welche Einträge hast du denn gemacht? Etwas genauer wäre vielleicht hilfreich ;-)
Hast du z.B. das Laden des cgi-Moduls in der Konfig auch gemacht?
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
oh sorry ;)

also ich hab folgendes geändert / auskommentiert in /usr/syno/apache/conf.

unter <IfModule alias_module>
habe ich ScriptAlias /cgi-bin/ "/volume1/web/cgi-bin/"
</IfModule>

eingetragen


Desweiteren :

<Directory "/volume1/web/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>


Dann unter <IfModule mime_module>

AddHandler cgi-script .cgi .pl

</IfModule>

über /usr/syno/etc/rc.d/S97apache-user.sh restart Neugestartet.


den Ordner cgi-bin unter /volume1/web angelegt und eine .HTML Datei und eine .pl Datei hineingelegt.

Übers Webinterface der Synology habe ich einen Virtualhost erstellt von meinem Dyndns Namen auf den cgi-bin Ordner.


Die HTML Datei wird ganz normal geöffnet. Will ich aber die .pl Datei aufrufen kommt nur: "Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden."….
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wird denn mod_cgi.so irgendwo auch geladen?
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
ich finde nur

#LoadModule cgid_module modules/mod_cgid.so


--> Auch nach auskommentieren und neustarten von /usr/sys/etc/rc.d/S97apache-sys.sh restart

keine Auswirkung


Ps.: Ist das das Richtige oder war es das Falsche?!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
oben startest du apache-user.sh und jetzt apache-sys.sh restart? Ja das modul sollte das richtige sein, aber allenfalls hast du den falschen Apache restartet? ;-)
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Im Anhang mal meine httpd.conf-user Datei

Wäre nett wenn du mir erklären kannst was der Unterschied zwischen httpd.conf-user und der sys Datei ist.

Hab ich einen Denkfehler ?
Ich dachte die user Datei ist für individuelle Einstellungen von mir persönlich und die sys Datei vom System Selbst?


Funktioniert leider immer noch nicht ;)

Anhang anzeigen httpd.conf-user.txt
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
sys == DSM (Apache unter root)
user == deine Webeiten (Apache unter nobody)

die Konfig habe ich mal überflogen ;-) für mich passt ned, dass der DocumentRoot auskommentiert ist
Code:
#DocumentRoot "/var/services/web"
hast du den auskommentiert?
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Nein hab ich nicht …

Also ich hab bald in der Oberfläche die ich unter https://xxxxx:5001 aufrufe unter systemsteuerung --> Webservices --> Virtualhosts einen Virtualhost angelegt der auch funktioniert?

Auch das einkommentieren von DocumentRoot bring keinen Erfolg…

Was ich auch komisch finde, es funktioniert ja alles bis auf eben cgi / pl Endungen.

Habe auch Websiten mit php am Laufen….
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Hast Du überhaupt das Perl-Paket installiert? Ansonsten sind eigentlich keinerlei weitere Anpassungen nötig, ich hab zumindest hier keine gemacht.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Was ich auch komisch finde, es funktioniert ja alles bis auf eben cgi / pl Endungen.
sie funzen in dem Sinne wohl schon zumindest weiss der Apache wohl, dass er pl verarbeiten muss. Sonst würde dir der Quelltext des Perl Scriptes ausgeliefert. Dann würde der Apache das als normales Textfile behandeln und ungeparst ausliefern.
Bist du ganz sicher dass die Synthax im Perl File korrekt ist und es eine Ausgabe erzeugt? Kannst du das File direkt auf der Konsole mit dem Perlinterpreter aufrufen? Kommt dann eine Ausgabe? Zeig doch zur Sicherheit noch dein Perlscript, wenn es direkt auf der Konsole auch nicht geht
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
#!/usr/bin/perl -w

use strict;

print "Hallo";

Ist der Inhalt der File…

Komische ist das ich immer auf diese Seite komme wenn ich die URL eingebe… Ist aber zu 10000% der richtige Pfad

Bildschirmfoto 2013-11-13 um 13.29.41.jpg
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Code:
#!/usr/bin/perl

print "Content-type: text/html\n\n"
print "Hello World"
mal obiges probiert? Btw die Antwort auf die Frage ob du das Script direkt auf der Konsole ausführen kannst bist du noch schuldig ;-)
Rechtemässig passt alles? Darf z.B. der User unter dem der Webserver läuft (nobody) das File überhaupt lesen? Bin jetzt nicht sicher ob cgi allenfalls sogar das x-Bit auf der Datei braucht, also auch mal chmod 0755 /pfad/datei.cgi probieren
 

Masterofblind

Benutzer
Mitglied seit
28. Jun 2013
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
ES FUNKTIONIEEEEEEERT ;)



Die Dateiberechtigung hat nicht gepasst.


Vielen Vielen Dank euch allen!

Somit sieht der Tag wieder besser aus ;P ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat