Enabling services
Tom H
tomh0665 at gmail.com
Sat Jul 19 21:49:47 UTC 2014
On Sat, Jul 19, 2014 at 5:00 PM, Chris <cpollock at embarqmail.com> wrote:
>
> I believe I've found the problem with getting Spamassassin to run. If I
> run 'service --status-all I see:
>
> [ - ] spamassassin
>
> Which I would believe means that it's not enabled? In my old Mandriva
> system all I'd need do is run chkconfig and then enable it from there I
> see that instead an application called 'upstart' is used. I have in
> my /etc/default folder this file:
>
> # /etc/default/spamassassin
> # Duncan Findlay
>
> # WARNING: please read README.spamd before using.
> # There may be security risks.
>
> # Change to one to enable spamd
> ENABLED=1
>
> # Options
> # See man spamd for possible options. The -d option is automatically
> added.
>
> # SpamAssassin uses a preforking model, so be careful! You need to
> # make sure --max-children is not set to anything higher than 5,
> # unless you know what you're doing.
>
> OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
>
> # Pid file
> # Where should spamd write its PID to file? If you use the -u or
> # --username option above, this needs to be writable by that user.
> # Otherwise, the init script will not be able to shut spamd down.
> PIDFILE="/var/run/spamd.pid"
>
> # Set nice level of spamd
> NICE="--nicelevel 15"
>
> # Cronjob
> # Set to anything but 0 to enable the cron job to automatically update
> # spamassassin's rules on a nightly basis
> CRON=1
>
> And in /etc/init.d this file:
>
> #! /bin/sh
>
> ### BEGIN INIT INFO
> # Provides: spamassassin
> # Required-Start: $remote_fs
> # Required-Stop: $remote_fs
> # Should-Start: $network $syslog
> # Default-Start: 2 3 4 5
> # Default-Stop: 0 1 6
> ### END INIT INFO
>
> # Spamd init script
> # June 2002
> # Duncan Findlay
>
> # Based on skeleton by Miquel van Smoorenburg and Ian Murdock
>
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
> DAEMON=/usr/sbin/spamd:/usr/local/bin/spamd
> NAME=spamd
> SNAME=spamassassin
> DESC="SpamAssassin Mail Filter Daemon"
> PIDFILE="/var/run/$NAME.pid"
> XNAME=/usr/bin/perl
>
> export TMPDIR=/tmp
> # Apparently people have trouble if this isn't explicitly set...
>
> # Defaults - don't touch, edit /etc/default/spamassassin
> ENABLED=0
> OPTIONS=""
> NICE=
>
> . /lib/lsb/init-functions
>
> test -f /etc/default/spamassassin && . /etc/default/spamassassin
>
> DOPTIONS="-d --pidfile=$PIDFILE"
>
> check_enabled() {
> if [ "$ENABLED" = "0" ]; then
> echo "$DESC: disabled, see /etc/default/spamassassin"
> exit 0
> fi
> }
>
> test -f $DAEMON || exit 0
>
> set -e
>
> case "$1" in
> start)
> check_enabled
> echo -n "Starting $DESC: "
> start-stop-daemon --start --pidfile $PIDFILE --exec $XNAME \
> $NICE --oknodo --startas $DAEMON -- $OPTIONS $DOPTIONS
> echo "$NAME."
> ;;
>
> stop)
> echo -n "Stopping $DESC: "
> start-stop-daemon --stop --pidfile $PIDFILE --exec $XNAME --oknodo
> echo "$NAME."
> ;;
>
> reload|force-reload)
> check_enabled
> echo -n "Reloading $DESC: "
> start-stop-daemon --stop --pidfile $PIDFILE --signal HUP --exec $XNAME
> echo "$NAME."
> ;;
>
> restart)
> check_enabled
> echo -n "Restarting $DESC: "
> start-stop-daemon --stop --pidfile $PIDFILE --exec $XNAME \
> --retry 5 --oknodo
> start-stop-daemon --start --pidfile $PIDFILE --exec $XNAME \
> $NICE --oknodo --startas $DAEMON -- $OPTIONS $DOPTIONS
>
> echo "$NAME."
> ;;
> status)
> status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
> ;;
> *)
> N=/etc/init.d/$SNAME
> echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
> exit 1
> ;;
> esac
>
> exit 0
>
> Spamd is located in /usr/local/bin as well as sa-update and spamc. I
> believe the problem with getting SA to start is that it's not an enabled
> service. I notice that clamav is running as well as freshclam and
> checking service --status-all I see:
>
> [ + ] clamav-daemon
> [ + ] clamav-freshclam
>
> Doing some reading about upstart I ran update-rc.d spamassassin enable S
> 2 3 4 5 which showed an output of:
>
> Code:
>
> Enabling system startup links for /etc/init.d/spamassassin ...
> Removing any system startup links for /etc/init.d/spamassassin ...
> /etc/rc0.d/K21spamassassin
> /etc/rc1.d/K21spamassassin
> /etc/rc2.d/S19spamassassin
> /etc/rc3.d/S19spamassassin
> /etc/rc4.d/S19spamassassin
> /etc/rc5.d/S19spamassassin
> /etc/rc6.d/K21spamassassin
> Adding system startup for /etc/init.d/spamassassin ...
> /etc/rc0.d/K21spamassassin -> ../init.d/spamassassin
> /etc/rc1.d/K21spamassassin -> ../init.d/spamassassin
> /etc/rc6.d/K21spamassassin -> ../init.d/spamassassin
> /etc/rc2.d/S19spamassassin -> ../init.d/spamassassin
> /etc/rc3.d/S19spamassassin -> ../init.d/spamassassin
> /etc/rc4.d/S19spamassassin -> ../init.d/spamassassin
> /etc/rc5.d/S19spamassassin -> ../init.d/spamassassin
>
> So now in rc0.d - rc5.d I have links to the spamassassin script
> in /etc/init.d however the service still shows a [-] for the
> spamassassin service.
>
> I have rebooted the system with no difference 'service --status-all
> still shows a [-] for spamassassin. Not sure what I'm failing to do.
(Did you check that the links were actually created?)
The "DAEMON=/usr/sbin/spamd:/usr/local/bin/spamd" looks wrong because
the later "test -f $DAEMON || exit 0" will fail.
If you've compiled your own spamassasin you should just use
"/usr/local/bin/spamd" as the DAEMON.
More information about the ubuntu-users
mailing list