[Debian] Kerio Mailserver instaleren?

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Ik heb hier Kerio Mailserver voor RedHat Linux. Nu ben ik overgestapt naar Debian, maar bied Kerio alleen ondersteuning voor RedHat.

Na wat zoekwerk kwam ik erachter dat er wel iemand is geweest die Kerio Mailserver wel op Debian aan de gang gekregen heeft.

[rml][ Debian] Mailserver + McAfee[/rml]

Nu heb ik al met "Alien" de .rpm omgezet naar .deb, alles wordt dan geinstalleerd, maar runnen, ho maar.

Bij het runnen van het opstart script kan /etc/rc.d/init.d/functions niet gevonden worden... logisch want alles staat in /etc/init.d/ maar daar staat functions ook niet in. Haal ik de functions line weg, dan start kerio met errors, waaronder dat de daemon niet gevonden kan worden (die in functions staat volgens mij).

Iemand enig idee hoe ik dit wel aan de gang kan krijgen?

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 08:31

voodooless

Sound is no voodoo!

zoek die functions file ergens op je disk of in het rpm/deb bestand, en zet hem op zijn plaats...

Do diamonds shine on the dark side of the moon :?


  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Dat is het probleem, die functions file is er niet, ik denk dat dat alleen bij redhat zit ofzo?

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 23-02 11:41
Je kan ook de RPM met bijvoorbeeld MC uitpakken en dan handmatig de bestandjes op de juiste plek neerzetten. Dit zou ik zelf doen..althans ;) Op deze manier weet je precies waar alles terecht komt.

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
De bestanden worden ook wel uitgepakt (en op 2 bestanden na in de goeie map(pen)), en het startscript kan ik gewoon aanpassen, daar zit het probleem niet, maar Kerio Mailserver mist gewoon die functions file ofzo. Als iemand dit bestand heeft en dit zou willen uploaden o.i.d zou heel mooi zijn ;)

Verwijderd

/etc/init.d/functions is redhat specificiek. Hierin zijn uit m'n hoofd de start-stop-daemon functies in opgenomen. 't probleem is wel te omzeilen, door de init scripten van kerio aan te passen. Achterhaal wat gedaan moet worden om de server te starten en te stoppen en giet dat in een nieuw init script. Het gebruiken van een functions file op een debian box is niet aan te raden omdat je dan ook het functions script moet poorten naar debian.
edit:

De daadwerkelijke foutmelding, incl de aanroep van de executable die dit veroorzaakte zijn ook handig om hier te posten....

[ Voor 14% gewijzigd door Verwijderd op 02-12-2003 14:34 ]


  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Het instaleren:

code:
1
2
3
4
5
6
7
8
9
stealth:/home/jrn# alien -i keriomail-mcafee_5.1.6-1_i386.deb
(Reading database ... 
dpkg: serious warning: files list file for package `keriomail-mcafee' 
  missing, assuming package has no files currently installed.
8606 files and directories currently installed.)
Preparing to replace keriomail-mcafee 5.1.6-1 
  (using keriomail-mcafee_5.1.6-1_i386.deb) ...
Unpacking replacement keriomail-mcafee ...
Setting up keriomail-mcafee (5.1.6-1) ...


Dit gaat wel goed, alle bestanden staan op hun plaats, van het draaien kan ik zo niet even 1-2-3 terughalen, maar het komt er op neer dat de daemon niet gestart kan worden omdat deze niet gevonden kan worden (staat dus in functions zoals door r3boot werd gezegt).

Edit:
De file's gaan aanpassen en porten etc is niet echt een optie. Ik heb nog niet zoveel ervaring met Linux, ik heb de files doorgekeken, en al wat lopen prutsen met die functions file weglaten, maar dan krijg ik die daemon error. Pas ik hem niet aan, dan wordt er om de functions file gevraagd

edit:

Layout fix0red

[ Voor 21% gewijzigd door Verwijderd op 02-12-2003 14:43 ]


Verwijderd

't is best simpel hoor. Je pakt het initscript erbij (laten we ff aannemen dat dit /etc/init.d/kerio is) en zoekt de volgende dingen op:

- De aanroep van de binary zelf (bijvoorbeeld /usr/libexec/keriod)
- De eventuele parameters van de binary (bijvoorbeeld -D -l /var/log/eenlogfile)
- De manier op de binary te killen (meestal een pidfile oid, /var/run/keriod.pid)

Met deze gegevens is een simpel init script te maken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh

DAEMON="/pad/naar/executable"
FLAGS="-a -b -c 1,2,3 -d"
PIDFILE="/pad/naar/pidfile"

case "$1" in
        start)
                echo -n "starting kerio: "
                $DAEMON $FLAGS &
                echo "ok"
                ;;
        stop)
                echo -n "stopping kerio: "
                kill `cat $PIDFILE`
                if [ -f "$PIDFILE" ]; then
                        rm -f $PIDFILE
                else
                        killall $DAEMON
                fi
                echo "ok"
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage: `basename $0` {start|stop|restart}"
                exit 1
                ;;
esac
exit 0

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Helaas, het werkt nog steeds niet; ik heb het script nu als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

DAEMON="/opt/kerio/mailserver/mailserver"
PIDFILE="/var/run/mailserver.pid"

case "$1" in
        start)
                echo -n "starting Kerio Mailserver: "
                $DAEMON
                echo "ok"
                ;;
        stop)
                echo -n "stopping Kerio Mailserver: "
                kill `cat $PIDFILE`
                if [ -f "$PIDFILE" ]; then
                        rm -f $PIDFILE
                else
                        killall $DAEMON
                fi
                echo "ok"
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage: `basename $0` {start|stop|restart}"
                exit 1
                ;;
esac
exit 0


Maar ik krijg nu:

code:
1
2
stealth:~# /etc/init.d/keriomailserver start
: bad interpreter: No such file or directory


Zie ik iets kleins over het hoofd?

Dit is trouwens het orginele script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/sh
#
# keriomailserver  Script to start and stop Kerio MailServer 5
#
# chkconfig: 2345 79 30
# description: Kerio MailServer 5
# processname: mailserver
# pidfile: /var/run/mailserver.pid

. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/keriomailserver ] ; then
    . /etc/sysconfig/keriomailserver
else
    MAINDIR=/opt/kerio/mailserver
fi

[ -f $MAINDIR/mailserver ] || exit 0

RETVAL=0

start() {
    echo -n "Starting Kerio MailServer 5: "
    daemon $MAINDIR/mailserver $MAINDIR
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/keriomail
    return $RETVAL
}

stop() {
    echo -n "Shutting down Kerio MailServer 5: "
    killproc mailserver
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/keriomail
    return $RETVAL
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart|reload)
    stop
    start
    RETVAL=$?
    ;;
  condrestart)
    if [ -f /var/lock/subsys/keriomail ]; then
        stop
        start
        RETVAL=$?
    fi
    ;;
  status)
    status mailserver
    RETVAL=$?
    ;;
  *)
    echo "Usage: keriomailserver {start|stop|restart|condrestart|status}"
    exit 1
esac

exit $RETVAL

[ Voor 39% gewijzigd door m33p op 03-12-2003 12:11 ]


Verwijderd

Probeer het volgende anders eens. Wel ff executable maken he? (chmod +x filenaam) Check ook ff of je ipv #!/bin/sh mischien #!/bin/bash nodig hebt (al is er in dit geval iets goed stuk aan je box..)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

DAEMON="/opt/kerio/mailserver/mailserver"
PIDFILE="/var/run/mailserver.pid"

if [ -f /etc/sysconfig/keriomailserver ] ; then
    . /etc/sysconfig/keriomailserver
else
    MAINDIR=/opt/kerio/mailserver
fi

case "$1" in
        start)
                echo -n "starting Kerio Mailserver: "
                $DAEMON $MAINDIR
                echo "ok"
                ;;
        stop)
                echo -n "stopping Kerio Mailserver: "
                kill `cat $PIDFILE`
                if [ -f "$PIDFILE" ]; then
                        rm -f $PIDFILE
                else
                        killall $DAEMON
                fi
                echo "ok"
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage: `basename $0` {start|stop|restart}"
                exit 1
                ;;
esac
exit 0


Vergeet niet te checken of /etc/sysconfig/keriomailserver bestaat. Een eventuele dump van deze file vinden we ook intri, mits daar meer instaat dan alleen de MAINDIR variabele.

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Hmz, ik denk dat dat het probleem is, /etc/sysconfig/keriomailsever bestaat dus niet.

(Aanpassingen in het script zoals je zei maakten helaas geen verschil)

Enig idee hoe dit dan op te lossen is, want het lijkt mij dat het daar gewoon aan ligt aangezien de error ook aangeeft dat er een bestand (staat niet bij welke) niet gevonden kan worden.

Verwijderd

Aan het script ligt het niet (zie hieronder)
code:
1
2
3
4
5
6
7
8
9
10
11
srv [r3boot]$ sh ./woei 
Usage: woei {start|stop|restart}
srv [r3boot]$ sh ./woei start
starting Kerio Mailserver: ./woei: /opt/kerio/mailserver/mailserver: No such file or directory
ok
srv [r3boot]$ sh ./woei stop 
stopping Kerio Mailserver: cat: /var/run/mailserver.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
/opt/kerio/mailserver/mailserver: No such file or directory
ok
srv [r3boot]$


Ff een paar dingetjes
- Ben je root?
- Bestaat /bin/sh ? (als het goed is wel)
- Heb je de file executable gemaakt? (als het goed is wel)
- Wat zie je als je sh -x /etc/init.d/keriomailserver start uitvoerd?
- Heb je toevallig de "echte" shell geinstaleerd? (ipv dat /bin/sh een symlink is naar /bin/bash)
- Mocht het vorige commando een soortgelijke output geven als wat je eerst kreeg ("bad interpreter" of "no such file or directory") probeer dan de server eens te starten op de command line.
code:
1
[root@host ~]# /opt/kerio/mailserver/mailserver /opt/kerio/mailserver

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
- Ben je root?
= Ja
- Bestaat /bin/sh ? (als het goed is wel)
= Ja
- Heb je de file executable gemaakt? (als het goed is wel)
= Ja
- Wat zie je als je sh -x /etc/init.d/keriomailserver start uitvoerd?
code:
1
2
3
4
5
6
7
8
9
stealth:/bin# sh -x /etc/init.d/keriomailserver start 
+ 
: command not foundilserver: 
+ DAEMON=/opt/kerio/mailserver/mailserver
+ PIDFILE=/var/run/mailserver.pid
+ 
: command not foundilserver: 
'etc/init.d/keriomailserver: line 12: syntax error near unexpected token `in
'etc/init.d/keriomailserver: line 12: `case "$1" in

- Heb je toevallig de "echte" shell geinstaleerd? (ipv dat /bin/sh een symlink is naar /bin/bash)
= Tis een fresh install van Debian, dus nog niet echt wat geinstalleerd, behalve het standaard spul
- Mocht het vorige commando een soortgelijke output geven als wat je eerst kreeg ("bad interpreter" of "no such file or directory") probeer dan de server eens te starten op de command line.
= Even proberen => Hij zegt dat de poort al in gebruik is, dus ik controleer met admin console, en die zegt dat het draait, maar dat hij geen juiste versie voor het admin console kan vinden, dus niet verder kan gaan. Maar alshet maar draait daar gaat het om.

Het init script werkg nog steeds niet, ik blijf dezelfde error krijgen...


Zoveelste edit:
Hij drait nu iig, ik kan mail checken, maar accounts aanmaken zonder admin console moet ik even uitviegelen. Het zijn iig niet de built-in users van linux...

[ Voor 37% gewijzigd door m33p op 03-12-2003 13:57 ]


Verwijderd

Mooi dat ie draait. Is dat direct gestart of via het init script. Over het init script. Ik begin het vermoeden te krijgen dat je een fout hebt gemaakt tijdens het copyen+pasten. Hier start het script probleemloos op zowel stable als unstable.

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Nej hoor

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
stealth:~# cat /etc/init.d/keriomailserver
#!/bin/sh

DAEMON="/opt/kerio/mailserver/mailserver"
PIDFILE="/var/run/mailserver.pid"

if [ -f /etc/sysconfig/keriomailserver ] ; then
    . /etc/sysconfig/keriomailserver
else
    MAINDIR=/opt/kerio/mailserver
fi

case "$1" in
        start)
                echo -n "starting Kerio Mailserver: "
                $DAEMON $MAINDIR
                echo "ok"
                ;;
        stop)
                echo -n "stopping Kerio Mailserver: "
                kill `cat $PIDFILE`
                if [ -f "$PIDFILE" ]; then
                        rm -f $PIDFILE
                else
                        killall $DAEMON
                fi
                echo "ok"
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage: `basename $0` {start|stop|restart}"
                exit 1
                ;;
esac
exit 0
stealth:~#


code:
1
2
3
4
5
6
7
8
9
10
stealth:/etc/init.d# sh -x keriomailserver
+ 
: command not found
+ DAEMON=/opt/kerio/mailserver/mailserver
+ PIDFILE=/var/run/mailserver.pid
+ 
: command not found
'eriomailserver: line 12: syntax error near unexpected token `in
'eriomailserver: line 12: `case "$1" in
stealth:/etc/init.d#


code:
1
2
3
4
5
stealth:/etc/init.d# sh ./keriomailserver start
: command not found
: command not found
'/keriomailserver: line 12: syntax error near unexpected token `in
'/keriomailserver: line 12: `case "$1" in


Edit:
Is trouwens direct gestart

[ Voor 14% gewijzigd door m33p op 03-12-2003 14:13 ]

Pagina: 1