Perl und Apache

C64

Member
Kann mir mal jemand bitte erklären oder eine Seite empfehlen, wo die Kombination Perl und Apache auf FreeBSD zum laufen gebracht wird, also welche pkg sind nötig, im welchen Verzeichnis lege ich meine .pl ab? wie starte ich apache? Hab' kaum überblick irgendwie.
Code:
cd /usr/ports/www/apache13
make install
cd /usr/ports/www/mod_perl
... hab ich schon mal kompilliert, allerdigs weiß ich nicht, wie ich nun vorgehen soll. Also so ein Hello World perl skript wäre nicht schlecht :rolleyes:
Was ich auf'm localhost per Browser betrachten kann, welche Einstellungen ich unter httpd.conf vornehmen muss, und wohin ich das helloworld.pl skript ablegen muss...
Hoffe ich verlang nicht zu viel. Aber hab' irgendwie kein how-to dafür gefunden; für php und apache schon.
Danke für die Hilfe
 
läuft der apache schon?

also kannst du mit lynx oder einen anderen browser auf http://localhost zugreifen?
wenn nein starte apache mit

apachectl start

wenn das nicht geht mach nen configtest

apachectl configtest

perl zeux kannst du im cgi-bin ordner deines webserver ablegen.

unter www.hotscripts.com findest du gute howtos und auch fertige programme!
 
Also wenn ich apachectl start eingebe kriege ich folgende Meldung:

Code:
[Mon Jul 26 11:57:10 2004] [alert] httpd: Could not 
determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName
/usr/local/sbin/apachectl start: httpd could not be started

und für apache configtest
Code:
[Mon Jul 26 11:57:14 2004] [alert] httpd: Could not determine the 
server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
Ich muss doch httpd.conf konfigurieren oder ? Ich weiß allerdings nicht, wo die ganzen Verzeichnisse sind (Apache oder cgi-bin, etc.)
 
> ... Hab' kaum überblick irgendwie. ...
Da empfehle ich dir ersteinmal das Handbuch (deutsch) dann das Wiki und die Manpage von Apache bzw. die Website.
Falls du Tutorials/HowTos suchst, so hilft dir bestimmt die Suchmaschine deiner Wahl.

> Ich muss doch httpd.conf konfigurieren oder ? Ich weiß allerdings nicht, wo die ganzen
> Verzeichnisse sind (Apache oder cgi-bin, etc.)

Vielleicht suchst du ``/usr/local/etc/apache'' ?
 
daiv schrieb:
hast du in der /etc/rc.conf hostname="servername" stehen?
danke!
ich hatte in rc.conf gar nichts stehen. hab's um hostname="127.0.0.1"
erweitert -> und apachectl nochmal ausgeführt
Code:
# apachectl configtest
Syntax OK

aber starten geht noch nicht
Code:
# apachectl start
/usr/local/sbin/apachectl start: httpd could not be started

hab' in httpd.conf Servername 127.0.0.1 eingefügt, scheint aber noch nicht zu reichen...

Die Syntax von httpd.conf scheint ok zu sein oder (wegen Syntax OK), aber was kanns denn noch sein ?! :o
 
Zuletzt bearbeitet:
unlink schrieb:
Was steht in den Logfiles? Irgedwelche Meldungen?
konnte kein .log File finden ... ich hab' eben wie du darauf angewiesen hast, ein Verzeichnis /usr/local/etc/apache; hab' aber kein Unterverzeichnis mit /logs. Wie z.b. /usr/local/apache/logs/error_log.
Deutet das darauf hin, dass die Apache Installation nicht einwandfrei lief ?!
 
Es fällt uns allen schwer zu raten, ob Deine Apache-Installation einwandfrei durchlief. Wenn keine Fehlermeldungen bei der Installation auftauchten, dann lief sie wohl durch -- Sonst poste sie bitte. Es ist auch einfacher für uns, die Dein System nicht kennen, auf konkrete Fragen zu antworten. Übrigens ist der Apache Webserver sehr gut dokumentiert.
 
ok leutz dann haeng ich mich auch ma kurz rein hatte das selbe problem
versuchs mal so C64

1. pruefe ob in der /etc/rc.conf bei hostname = "DEINHOSTNAME" drin steht
2. ansonsten gib einfach mal "hostname DEINHOSTNAME" und "domainname DEINEDOMAIN"
3. check unter /usr/local/etc/apache/httpd.con (ich hoffe die is dort ich hab apache2) und schaue nach ServerName wenn da nen # mach es weg und schreib dahinter DEINHOSTNAME.DEINEDOMAIN:80

und dann nochma /usr/local/etc/rc.d/apache.sh start
dann sollte es gehen

zur not probier einfach noch das die richtigen daten in der /etc/hosts drin sind.
wenn du das alles geprueft hast und alles ok ist dann sollte es gehen.
bei mir war das problem das in der /etc/hosts und httpd.conf alles ok war aber in der rc.conf bei hostname statt nimda stand dort nida.
das kannste dann halt einfach mit dem befehl hostname aendern.


P.S. hab mehr oder weniger alle posts nochma zur uebersicht hier zusammen gefasst.
wenn das dann immernoch nich erfolgreich is machste mal make reinstall fuer apache oder laesst dich mal bitte im irc blicken.

viel spass

mfg marvin
 
Zuletzt bearbeitet:
Danke für die Antworten. Also ich habe das was der daiv gesagt hat, gemacht, ServerName auskommentiert, und noch mal gestartet:
Code:
127# apachectl start
/usr/local/sbin/apachectl start: httpd (pid 448) already running
Also httpd läuft schon... aber durch welchen Prozess/Programm wird der gestartet. Dann habe ich eben alle Prozesse von httpd (kill -9) gekillt. Und erneut gestartet:
Code:
127# apachectl start
/usr/local/sbin/apachectl start: httpd started
So läuft es, und ich kann per Browser auf localhost zugreifen.
 
Logfiles liegen meist unter ``/var/log''.
Ich rate dir aber _dringend_ dir mal die Links anzuschauen, die ich gepostet habe und die Dokumentationen der Programme, mit denen du Probleme hast du lesen.
 
du kriegst eine übersicht über die befehle von apachectl in dem du einfach apachectl in die console schreibst.

start - start httpd
stop - stop httpd
restart - restart httpd if running by sending a SIGHUP or start if
not running
fullstatus - dump a full status screen; requires lynx and mod_status enabled
status - dump a short status screen; requires lynx and mod_status enabled
graceful - do a graceful restart by sending a SIGUSR1 or start if not running
configtest - do a configuration syntax test
help - this screen

du kannst dann apache zb mit apachectl stop anhalten. oder mit apachctl restart neu starten, zb nach configdatei änderung.
 
nimm doch das startscript sollte irgendwo unter /usr/local/etc/rc.d liegen
apache.sh oder so sollte das heisen
und da einfach /usr/local/etc/rc.d/apache.sh start machen

anzeigen kannst du dir das mit ps ax oder per sockstat -4
da siehste was so laufen tut
je nachdem wieviel instanzen von apache du eingetragen hast in der conf genauso viele mal sollte dort httpd bei dir bei ps ax erscheinen.

mfg marvin
 
unlink schrieb:
Logfiles liegen meist unter ``/var/log''.
Ich rate dir aber _dringend_ dir mal die Links anzuschauen, die ich gepostet habe und die Dokumentationen der Programme, mit denen du Probleme hast du lesen.

ja danke, der Apache link hat mir schon geholfen. Und dank Freebsd Handbook hab' ich meine FreeBSD Version einigermaßen zum laufen gebracht.
 
Marvin schrieb:
der conf genauso viele mal sollte dort httpd bei dir bei ps ax erscheinen.
mfg marvin

es sind 5. Habe ich 5 Instanzen ? Das war aber nicht gewollt :/
Code:
www     925  0.0  0.8  4396 3936  ??  S     5:28PM   0:00.00 /usr/local/sbin/httpd
www     926  0.0  0.8  4396 3936  ??  S     5:28PM   0:00.00 /usr/local/sbin/httpd
www     927  0.0  0.8  4396 3936  ??  S     5:28PM   0:00.00 /usr/local/sbin/httpd
www     928  0.0  0.8  4396 3936  ??  S     5:28PM   0:00.00 /usr/local/sbin/httpd
www     929  0.0  0.8  4396 3936  ??  S     5:28PM   0:00.00 /usr/local/sbin/httpd

aber, das Problem ist ja, das httpd schon da war (also bei Neustart) ohne das ich apache gestartet hatte. Wird das Automatisch geladen ? :confused:

Ja tut's ... meine guete ( da dreh ich mich irdendwie im Kreis ;) ) Habe nochmal Neu gestartet und direkt auf localhost zugeriffen.
 
Zuletzt bearbeitet:
er startet soviel wie du definierst in der httpd.conf

#
# Number of servers to start initially --- should be a reasonable ballpark
# figure.
#
StartServers 5

apache startet beim neustart, da du das apache.sh in /usr/local/etc/rc.d/ hast
 
Ok, danke für die Antworten, werd nun mal ein Perl Skript in cgi-bin ablegen und testen.

War klar, geht wieder mal nicht -> NOT FOUND
Die Skripts müssen doch in das cgi-bin Verzeichnis /usr/local/www/cgi-bin/ oder ?! Steht in der httpd.conf drin. Muss ich es noch irgednwo anders einfügen damit es global bekannt ist ?
 
Zuletzt bearbeitet:
Hallo, wie oben schon erwähnt, habe ich immer noch das Problem nach dem erfolgreichen Apache start ein Skript (.pl) auszuführen (http://localhost/ geht, aber http://localhost/cgi-bin/skriptname.html nicht)
Nun, in der httpd.conf ist das Verzeichnis /usr/local/www/cgi-bin für Skripte angegeben. In dem Verzeichnis ist auch eine Datei EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING.
Wo muss ich die Datein ablegen ? :confused:
 
...lese endlich die besch!ssene Anleitung, dafür haben schlaue Leute sie geschrieben !!!
 
*Sheep schrieb:
...lese endlich die besch!ssene Anleitung, dafür haben schlaue Leute sie geschrieben !!!

Wofür ist dieses Forum eigentlich ? Glaubst du ich hab' gar nichts gelesen. Dank dieser "schlauen" Anleitung habe ich FreeBSD einrichten können. Und glaubst du, ich sitz' einfach da und warte das es von alleine geht. Ich hab' höflich nach ANFANGShilfe gefragt, um mir etwas auf die Sprünge zu helfen. Danke für die Antworten. Dann frag' ich eben nichts mehr, hab' auch keine Lust mehr hier zu fragen, du hast es geschafft, dass ich das alles nun selber mache...
 
Zurück
Oben