Avatar billede odysseus Nybegynder
05. januar 2004 - 19:38 Der er 46 kommentarer og
1 løsning

e-smith: løbsk proftpd og en ekstra "service"

Først: undskyld mig de mange spørgsmål. Jeg forsøger at slå op og læse først, men somme tider er det virkelig svært at finde svar....

Et problem og et spørgsmål til en e-smith server. Det første (problemet) handler om proftpd. Serveren kører ved opstart - på overfladen ingen problemer. Men den er tilsyneladende løbet løbsk. Når jeg lukker maskinen ned, fejler den på at lukke proftpd. /etc/rc.d/init.d/proftpd status giver pid og "proftpd is running....". Men /etc/rc.d/init.d/proftpd restart giver fejl og siger, at jeg skal køre standalone mode for at gøre det. proftpd.conf har jeg angivet servertype til inetd. Hvorfor lukker bæstet ikke ned - og hvorfor kører det tilsyneladende sit eget show videre ved opstart (som om den altid "kører" - selv ved opstart)??

Opgaven går på, at jeg har installeret en tomcat-server (en type java server) på den. Det kører glimrende. Men jeg skal selv starte den op - her ville jeg selvfølgelig gerne, at den selv klarede det ved opstart. Jeg kender til muligheden for at oprette en fil med kommandoer i /etc/profile.d/, men jeg logger jo ikke ind og kører en shell ved boot - der kommer bare en login-screen op, som jo bare skal stå sådan i månedsvis...

Fordi jeg spørger så meget og fordi, der er to spørgsmål, giver jeg 90 points.
Avatar billede lap Nybegynder
05. januar 2004 - 19:42 #1
proftpd>> inetd er jo netop IKKE stand-alone - derfor virker kommandoen selvfølgelig ikke - når inetd lukkes vil også proftpd blive lukket.

tomcat>> hvad skriver du helt nøjagtigt, når du starter tomcat - og hvordan ser din enviroment ud - det propper du i et script - og lægger i /etc/init.d - og linker til /etc/rc?.d - så starter det automatisk.
Avatar billede odysseus Nybegynder
05. januar 2004 - 19:48 #2
arrhhhh. Så den starter slet ikke proftpd op for sig selv - det er jo klart!! var med på, at det ikke var standalone.

det med et script forstår jeg ikke - ved dog, hvad jeg skriver. Først "cd /" - det er underligt nok nødvendigt for at følgende går igennem:

/home/e-smith/(en masse, jeg ikke husker på stående fod)/jakarta-tomcat-version/startup.sh

Hvordan putter jeg det ind i et script?
Avatar billede lap Nybegynder
05. januar 2004 - 19:57 #3
vi /etc/init.d/tomcat

#!/bin/bash
#
# tomcat  starts and stops the Tomcat http server.
#
# chkconfig: - 98 20

PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

$prog="Tomcat"

start() {
        # Start daemons.
        echo -n $"Starting $prog: "
        cd /
        daemon <dit lange programkald>
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tomcat
        echo
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $"Stopping $prog: "
        cd /
        <dit lange kald til stop af tomcat>
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat || {
                killproc tomcat
                RETVAL=$?
                [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat
        }
        echo
        return $RETVAL
}
# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        *)
                echo $"Usage: $0 {start|stop|}"
                exit 1
esac

exit $?
########### slut på script ##############

Herefter gemmer du - og kører kommandoerne:

chkconfig --add tomcat
chkconfig tomcat on
service tomcat start
Avatar billede odysseus Nybegynder
05. januar 2004 - 20:08 #4
sejt nok. venter lige med points, til det virker ;-)
Jeg spørger måske lidt dumt. men har du selv bikset det sammen, eller hvor fandt du skabelonen?
Avatar billede lap Nybegynder
05. januar 2004 - 20:10 #5
Tja, det er klippet lidt fra named-scriptet.

Vær opmærksom på de 2 steder du skal tilrette - og du kan sagtens få problemer med opstart, hvis DISPLAY variabel f.eks. mangler, men det tager vi som det kommer.
Avatar billede odysseus Nybegynder
05. januar 2004 - 21:23 #6
men hvorfor fejler den så, når den skal lukke proftpd? det hænger jo ikke sammen med det, vi blev enige om....
Avatar billede lap Nybegynder
05. januar 2004 - 22:37 #7
Fordi den ikke skal forsøge at lukke for proftpd - det er fejlen - derfor "chkconfig proftpd off" burde løse det.
Avatar billede odysseus Nybegynder
06. januar 2004 - 19:01 #8
skal der stå <> rundt om programkald og -afslut?
Avatar billede odysseus Nybegynder
06. januar 2004 - 20:12 #9
ØV!!

[root@betakjeld init.d]# chkconfig --add tomcat
service tomcat does not support chkconfig

Jeg har fjernet <>.
Avatar billede lap Nybegynder
06. januar 2004 - 21:06 #10
For at du kan bruge chkconfig --add skal filen ligge i /etc/init.d - og have en header som er nøjagtig som jeg har skrevet.
Avatar billede odysseus Nybegynder
06. januar 2004 - 21:16 #11
jeg har lavet copy-paste (og efterfølgende rettet) og lagt den som /etc/init.d/tomcat. efterfølgende chmod 755 tomcat.
Avatar billede odysseus Nybegynder
06. januar 2004 - 21:18 #12
jeg har kopieret fra og med linjen
#!/bin/bash
Avatar billede lap Nybegynder
06. januar 2004 - 21:18 #13
ok, der mangler lige et par linier:

# chkconfig: - 98 20
# description: start of Tomcat servlet runner
# probe: true
Avatar billede odysseus Nybegynder
06. januar 2004 - 21:21 #14
ok, hvor skal de ind?
Avatar billede lap Nybegynder
06. januar 2004 - 21:22 #15
chkconfig-linien har du allerede - så det er kun et lille stykke nede - ny linie 6+7
Avatar billede odysseus Nybegynder
06. januar 2004 - 21:33 #16
Pis! Det ligner den fejl, jeg får, hvis jeg forsøger at starte tomcat vha. absolut sti uden at stå i roden. :-(

[root@maskine init.d]# service tomcat start
/etc/init.d/tomcat: =Tomcat: command not found
Starting : The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
                                                          [ FAILED ]
Avatar billede odysseus Nybegynder
06. januar 2004 - 21:34 #17
det skal lige siges, at jeg har lavet de nødvendige ændringer i sysinit.d, og at jeg godt kan starte tomcatten normalt...
Avatar billede lap Nybegynder
06. januar 2004 - 21:50 #18
har du defineret JAVA_HOME - næppe, da jeg ikke har beskrevet det (det er nogle af de ting jeg skrev vi kunne løbe ind i).

Find ud af hvad JAVA_HOME skal stå til: echo $JAVA_HOME

ændring i script:

PATH=/usr/bin:/sbin:/bin:/usr/sbin
JAVA_HOME=<resultatet fra echo linien>
export PATH JAVA_HOME

og prøv så: service tomcat start
Avatar billede odysseus Nybegynder
06. januar 2004 - 22:05 #19
hehe:
[root@betakjeld init.d]# service tomcat start
/etc/init.d/tomcat: =Tomcat: command not found
Starting :                                                [  OK  ]

Hvad skal det betyde?
Avatar billede lap Nybegynder
06. januar 2004 - 22:08 #20
Fejlen kommer herfra i scriptet:

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

prog="Tomcat"

start() {
        # Start daemons.
        echo -n
---
$prog skal være prog

Umiddelbart vil jeg mene, at Tomcat er kørende?
Avatar billede odysseus Nybegynder
06. januar 2004 - 22:11 #21
det virker trods alt ikke. jeg kan ikke komme ind på siden efter reboot....
Avatar billede lap Nybegynder
06. januar 2004 - 22:13 #22
Kan du se, at den starter under boot?
Klip lidt i /var/log/messages - hvis der er nogen fejlbeskeder (som der bør være), så findes de der
Avatar billede lap Nybegynder
06. januar 2004 - 22:22 #23
signing off for nu - er tilbage torsdag.
Avatar billede odysseus Nybegynder
06. januar 2004 - 22:32 #24
ok. Det virker nu som det skal med "service tomcat start"

Men den bliver ikke kørt under opstart!!
Avatar billede lap Nybegynder
07. januar 2004 - 22:22 #25
du mangler "chkconfig tomcat on"
Avatar billede odysseus Nybegynder
07. januar 2004 - 22:27 #26
nej, det tænkte jeg godt selv og prøvede det 4 eller 5 gange...
Kan det være noget i scriptet?
Avatar billede odysseus Nybegynder
07. januar 2004 - 22:28 #27
er der nogen former for server-applikationer, init.d ikke kan styre?
Avatar billede lap Nybegynder
07. januar 2004 - 22:37 #28
Ja, det er som noget af det første jeg skrev - din personlige setup (enviroment). Når du starter scriptet i hånden, så er der en personlig setup, som kan være afgørende.

Det er også vigtigt i denne sammenhæng - kan du se, at scriptet starter under boot? Hvis ja, så er det indhold (enviroment) - hvis ikke, så er det selve scriptet.
Avatar billede lap Nybegynder
07. januar 2004 - 22:37 #29
og nej, alle applikationer kan startes med init.d.
Avatar billede odysseus Nybegynder
07. januar 2004 - 22:55 #30
jeg kan ikke se det under boot. Jeg forstår ikke helt, hvad det betyder for mig :-§
Avatar billede odysseus Nybegynder
07. januar 2004 - 23:11 #31
jeg har ikke styr på det endnu. jeg har det lidt skidt med at holde dine points som gidsler for din hjælp. det kan være, jeg fortsat vil spørge, men her har du dine points. Tusind tak for hjælpen!!!
Avatar billede lap Nybegynder
07. januar 2004 - 23:23 #32
Jeg er først tilbage i morgen, men der er et problem med scriptet. Jeg laver min egen udgave i morgen - hvis du lige gider kopiere hele dit script herind, så kikker jeg på det - og lægger på min egen maskine.

Takker for points selvom det nu ikke var noget problem.
Avatar billede odysseus Nybegynder
08. januar 2004 - 10:43 #33
ok. det kommer op lidt senere.
Avatar billede odysseus Nybegynder
08. januar 2004 - 17:11 #34
#!/bin/bash
#
# tomcat  starts and stops the Tomcat http server.
#
# chkconfig: - 98 20
# description: start of Tomcat servlet runner
# probe: true

PATH=/usr/bin:/sbin:/bin:/usr/sbin
JAVA_HOME=home/e-smith/files/j2sdk1.4.2_03
export PATH JAVA_HOME

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

prog="Tomcat"

start() {
        # Start daemons.
        echo -n $"Starting $prog: "
        cd /
        daemon /home/e-smith/files/jakarta-tomcat-5.0.16/bin/startup.sh
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tomcat
        echo
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $"Stopping $prog: "
        cd /
        /home/e-smith/files/jakarta-tomcat-5.0.16/bin/startup.sh
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat || {
                killproc tomcat
                RETVAL=$?
                [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat
        }
        echo
        return $RETVAL
}
# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        *)
                echo $"Usage: $0 {start|stop|}"
                exit 1
esac

exit $?
########### slut på script ##############
Avatar billede odysseus Nybegynder
08. januar 2004 - 17:12 #35
Som du formentlig kan se på scriptet lukkes tomcat automatisk ned ved shutdown. Det mangler bare at blive startet op.
Avatar billede lap Nybegynder
08. januar 2004 - 20:08 #36
du kalder startup.sh både i start og stop?
Avatar billede odysseus Nybegynder
08. januar 2004 - 20:29 #37
brøler!!!
Var det også den fejl, du så i går?
Avatar billede odysseus Nybegynder
08. januar 2004 - 20:31 #38
øhh, brøler igen. det kunne du jo ikke se. Du tænkte vel bare, at scriptet måtte være galt...
Avatar billede lap Nybegynder
08. januar 2004 - 21:38 #39
check lige med: chkconfig --list | grep tomcat

Så ser vi i hvilke runlevels den sættes on og off. Derudover - hvad er default runlevel på maskinen - starter den grafisk eller i kommandoprompt?

Hvis grafisk: chkconfig --level 5 on
hvis kommando: chkconfig --level 3 on
Avatar billede odysseus Nybegynder
08. januar 2004 - 22:19 #40
jeg har ingen grafisk brugerflade på den.

[root@maskine root]# chkconfig --list |grep tomcat
tomcat          0:off  1:off  2:off  3:on    4:on    5:on    6:off
Avatar billede odysseus Nybegynder
08. januar 2004 - 22:24 #41
jeg er pt i tvivl, om det virker. Ser det ud til at virke efter outputtet at dømme?
Avatar billede odysseus Nybegynder
08. januar 2004 - 22:26 #42
nu får jeg (efter at have uploadet noget jsp) en connection refused fejl på servicen. Men det gør jeg også, hvis jeg vil administrere tomcatten remote over webinterface. det har intet med dette at gøre.
Avatar billede lap Nybegynder
09. januar 2004 - 20:06 #43
Der er formentlig fortsat problemer med enviroment i forbindelse med opstarten. Jeg kan sagtens løse det, men det er alt for vanskeligt på denne måde.

Nogen mulighed for at logge på?
Avatar billede odysseus Nybegynder
10. januar 2004 - 14:28 #44
Jeg kan godt route en port, så du kan ssh'e. Men den maskine, jeg har problemerne med, er en beta for vores kommende server. Jeg er derfor nødt til at kunne klare det selv om en måneds tid. Kan vi gøre det over msn? jeg har odysseus_fc1@hotmail.com
Avatar billede odysseus Nybegynder
12. januar 2004 - 19:19 #45
Det du sagde med chkconfig proftpd off har gjort daarligt. Nu starter den slet ikke proftpd op - heller ikke efter at jeg har skrevet chkconfig proftpd on igen.....
Avatar billede odysseus Nybegynder
12. januar 2004 - 19:29 #46
jeg vroevlede foer. den skriver bare proftpd is stopped selv om den koerer - underligt....
Avatar billede lap Nybegynder
12. januar 2004 - 20:11 #47
chkconfig bruger du jo ikke til proftpd - den er en del af inetd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester