exim4 is blocking port 80

View: New views
15 Messages — Rating Filter:   Alert me  

exim4 is blocking port 80

by Toby78 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Exim4 keeps on blocking port 80.

So I have done a cron job that execute a:

killall -9 exim4
/etc/init.d/exim4 start

every 5 minutes.

I am looking for a cleaner solution though ;-)

Any ideas?

Thanks!

Toby

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Phil Pennock-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2008-01-02 at 01:34 +0100, Tobias Marx wrote:

> Exim4 keeps on blocking port 80.
>
> So I have done a cron job that execute a:
>
> killall -9 exim4
> /etc/init.d/exim4 start
>
> every 5 minutes.
>
> I am looking for a cleaner solution though ;-)

What do you mean by "keeps on blocking port 80"?

Do you mean "Exim binds to port 80 and therefore my webserver can't"?
Or something else?

If Exim is binding to port 80, then you've told it to.  This can happen
two ways:

 (1) /etc/services (or whatever equivalent you're using; LDAP, whatever)
     is defining the "smtp" service to be on port 80
 (2) You've told your Exim config to listen on port 80 with the
     "daemon_smtp_ports" configuration option.

You can "ask" Exim what value it has for the option after parsing all of
its config files with the -bP command-line flag:

$ exim -bP daemon_smtp_ports
daemon_smtp_ports = smtp : smtps : submission
$ exim -C /dev/null -bP daemon_smtp_ports
daemon_smtp_ports = smtp

There's a good chance that you have a "getent" command (Solaris, Linux,
*BSD support it) so you can do:

$ getent services smtp
smtp                  25/tcp mail

If I'm talking about entirely the wrong thing, please rephrase the
problem report and include diagnostic information so that we don't have
to guess so much.

Thanks,
-Phil

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Martin A. Brooks-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tobias Marx wrote:
> Exim4 keeps on blocking port 80.


Ermm, no, it almost certainly isn't.  Not unless, for reasons best known
to yourself, you've configued it to listen on port 80.


--

 Martin A. Brooks |  http://www.antibodymx.net/ | Anti-spam & anti-virus
    Consultant    |  martin@...      | filtering. Inoculate
  antibodymx.net  |  m: +447896578023           | your mail system.



--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Bugzilla from peter@bowyer.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 02/01/2008, Phil Pennock <exim-users@...> wrote:

> On 2008-01-02 at 01:34 +0100, Tobias Marx wrote:
> > Exim4 keeps on blocking port 80.
> >
> > So I have done a cron job that execute a:
> >
> > killall -9 exim4
> > /etc/init.d/exim4 start
> >
> > every 5 minutes.
> >
> > I am looking for a cleaner solution though ;-)
>
> What do you mean by "keeps on blocking port 80"?
>
> Do you mean "Exim binds to port 80 and therefore my webserver can't"?
> Or something else?

An alternative scenario could be that the OP's web server has spawned
Exim to do a mail delivery, and that spawned Exim has inherited the
web server's file descriptors... and for some reason the Exim instance
has become long-running.

Don't know why this would 'block' port 80 (whatever that means), though.

Peter


--
Peter Bowyer
Email: peter@...

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Graeme Fowler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 2008-01-02 at 05:31 +0000, Martin A. Brooks wrote:
> Ermm, no, it almost certainly isn't.  Not unless, for reasons best known
> to yourself, you've configued it to listen on port 80.

I recall a problem in my previous dayjob whereby Exim being called by
PHP from a web page on an extremely busy server could occasionally
dissociate from the parent process but inherit its' environment,
including "listening" on port 80. The trigger seemed to be that Apache
was given a "graceful" (USR1?) signal to reload its' configuration.

I say "listening" in quotes because it wasn't, really, but it did bind
to port 80 and prevent Apache from restarting fully.

Unfortunately I completely forgot the solution to this. In the dim
recesses of my mind I seem to recall it being a PHP or Apache problem,
not really Exim, but I could be wrong.

Graeme


--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Toby78 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It is port 25...not 80.

I was looking for what was blocking port 80 and exim4 appeared.
Port 80 is never used in any configuration files and exim4 uses default configuration settings.

-------- Original-Nachricht --------
> Datum: Tue, 1 Jan 2008 18:01:34 -0800
> Von: Phil Pennock <exim-users@...>
> An: Tobias Marx <superoverdrive@...>
> CC: exim-users@...
> Betreff: Re: [exim] exim4 is blocking port 80

> On 2008-01-02 at 01:34 +0100, Tobias Marx wrote:
> > Exim4 keeps on blocking port 80.
> >
> > So I have done a cron job that execute a:
> >
> > killall -9 exim4
> > /etc/init.d/exim4 start
> >
> > every 5 minutes.
> >
> > I am looking for a cleaner solution though ;-)
>
> What do you mean by "keeps on blocking port 80"?
>
> Do you mean "Exim binds to port 80 and therefore my webserver can't"?
> Or something else?
>
> If Exim is binding to port 80, then you've told it to.  This can happen
> two ways:
>
>  (1) /etc/services (or whatever equivalent you're using; LDAP, whatever)
>      is defining the "smtp" service to be on port 80
>  (2) You've told your Exim config to listen on port 80 with the
>      "daemon_smtp_ports" configuration option.
>
> You can "ask" Exim what value it has for the option after parsing all of
> its config files with the -bP command-line flag:
>
> $ exim -bP daemon_smtp_ports
> daemon_smtp_ports = smtp : smtps : submission
> $ exim -C /dev/null -bP daemon_smtp_ports
> daemon_smtp_ports = smtp
>
> There's a good chance that you have a "getent" command (Solaris, Linux,
> *BSD support it) so you can do:
>
> $ getent services smtp
> smtp                  25/tcp mail
>
> If I'm talking about entirely the wrong thing, please rephrase the
> problem report and include diagnostic information so that we don't have
> to guess so much.
>
> Thanks,
> -Phil
>
> --
> ## List details at http://lists.exim.org/mailman/listinfo/exim-users 
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Bugzilla from peter@bowyer.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 02/01/2008, Tobias Marx <superoverdrive@...> wrote:
> It is port 25...not 80.
>
> I was looking for what was blocking port 80 and exim4 appeared.

Previous posters have tried to elicit exactly what you mean by
'blocking port 80'. Where were you looking, and what form did the
apparition take?


--
Peter Bowyer
Email: peter@...

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Marc Haber :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 02 Jan 2008 01:34:18 +0100, "Tobias Marx"
<superoverdrive@...> wrote:
>Exim4 keeps on blocking port 80.

See http://bugs.debian.org/366124

Greetings
Marc

--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber         |   " Questions are the         | Mailadresse im Header
Mannheim, Germany  |     Beginning of Wisdom "     | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Toby78 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I currently now have the effect again:

The webserver is so slow I have just stopped Apache.

I can not start Apache again as port 80 is still blocked despite a
killall -9 apache2

 /etc/init.d/apache2 start
Starting web server: apache2(98)Address already in use: make_sock: could not bin                                          d to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
 failed!

624:~# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State                                                 PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     3                                          227/mysqld
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     1                                          3325/exim4
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     1                                          560/sshd
udp        0      0 0.0.0.0:68              0.0.0.0:*                          1                                          292/dhclient3
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Pat                                          h
unix  2      [ ACC ]     STREAM     LISTENING     7534389  3227/mysqld         /                                          var/run/mysqld/mysqld.sock


So what is the solution?

Thanks!

Tobias

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Bugzilla from peter@bowyer.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 02/01/2008, Tobias Marx <superoverdrive@...> wrote:
> I currently now have the effect again:
>
> The webserver is so slow I have just stopped Apache.

So this sounds like the Apache / mod_php bug referred to in the Debian
bug that Marc H posted earlier in the thread....

--
Peter Bowyer
Email: peter@...

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Parent Message unknown Re: exim4 is blocking port 80

by Bugzilla from peter@bowyer.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

(On-list, please)
(Please don't top-post)

On 02/01/2008, Tobias Marx <superoverdrive@...> wrote:

> -------- Original-Nachricht --------
> > Datum: Wed, 2 Jan 2008 18:06:14 +0000
> > Von: "Peter Bowyer" <peter@...>
> > An: "exim users" <exim-users@...>
> > Betreff: Re: [exim] exim4 is blocking port 80
>
> > On 02/01/2008, Tobias Marx <superoverdrive@...> wrote:
> > > I currently now have the effect again:
> > >
> > > The webserver is so slow I have just stopped Apache.
> >
> > So this sounds like the Apache / mod_php bug referred to in the Debian
> > bug that Marc H posted earlier in the thread....
> >
> > --
>
> Could exim4 not (in theory) kill itself automatically in such a case?

Depends what case... the Debian bug discussion points the finger at
Apache, specifically mod_php and/or FastCGI as the culprit, have you
tried there for a resolution?

If your web appliction is indeed invoking Exim (as sendmail), you
might try telling it to send SMTP instead - this would avoid Apache
spawning Exim altogether.

Peter
--
Peter Bowyer
Email: peter@...

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Graeme Fowler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 2008-01-02 at 18:06 +0000, Peter Bowyer wrote:
> So this sounds like the Apache / mod_php bug referred to in the Debian
> bug that Marc H posted earlier in the thread....

Ah, it's all come back to me now.

Don't run PHP via mod_php. If you want security, isolation and some
semblance of control, use suEXEC and run PHP as a CGI script, or better
(for PHP at the very least, and because of its' enhanced configurability
when compared to suEXEC) use suPHP instead.

This is, of course, if you have the system resources to do so - mod_php
trades off the good things above against all but immediate code
compilation & execution through not having to fork()/exec() the
interpreter for every call.

Still, none of this is Exim related. And neither, to be honest, is the
OP's problem - it's an Apache/mod_php problem. I do wonder, however, why
we don't see similar reports with PHP and sendmail/postfix/qmail et
al...

Graeme


--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Jonathan Briggs :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Wed, 2008-01-02 at 20:30 +0000, Graeme Fowler wrote:

> On Wed, 2008-01-02 at 18:06 +0000, Peter Bowyer wrote:
> > So this sounds like the Apache / mod_php bug referred to in the Debian
> > bug that Marc H posted earlier in the thread....
>
> Ah, it's all come back to me now.
>
> Don't run PHP via mod_php. If you want security, isolation and some
> semblance of control, use suEXEC and run PHP as a CGI script, or better
> (for PHP at the very least, and because of its' enhanced configurability
> when compared to suEXEC) use suPHP instead.
>
> This is, of course, if you have the system resources to do so - mod_php
> trades off the good things above against all but immediate code
> compilation & execution through not having to fork()/exec() the
> interpreter for every call.
>
> Still, none of this is Exim related. And neither, to be honest, is the
> OP's problem - it's an Apache/mod_php problem. I do wonder, however, why
> we don't see similar reports with PHP and sendmail/postfix/qmail et
> al...
If it is a problem with inheriting file descriptors, it'd be easy to fix
in Exim by closing all descriptors from 0 to NR_OPEN during program
start.

This could be what other mail programs are doing and why you do not see
problems from them.
--
Jonathan Briggs <jbriggs@...>
eSoft, Inc.


--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

signature.asc (204 bytes) Download Attachment

Re: exim4 is blocking port 80

by Phil Pennock-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2008-01-02 at 23:00 +0000, Jonathan Briggs wrote:
> If it is a problem with inheriting file descriptors, it'd be easy to fix
> in Exim by closing all descriptors from 0 to NR_OPEN during program
> start.
>
> This could be what other mail programs are doing and why you do not see
> problems from them.

Presumably you meant 3, not 0?

Closing the file-descriptor used for piping the mail content into the
MSA is perhaps of limited utility.

#include <grumbles/unix/closing_all_but_N_fds.txt>

-Phil

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Re: exim4 is blocking port 80

by Marc Haber :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 02 Jan 2008 23:00:11 +0000, Jonathan Briggs
<jbriggs@...> wrote:
>If it is a problem with inheriting file descriptors, it'd be easy to fix
>in Exim by closing all descriptors from 0 to NR_OPEN during program
>start.

That would break things that require a persistent connection to other
daemons. I have been told that this, for example, breaks libnss-ldap.

Debian used to patch exim to close open FDs at startup, but had to
disable the patch again in mid-2005 when breakage caused by the patch
surfaced. See http://bugs.debian.org/299051.

Greetings
Marc

--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber         |   " Questions are the         | Mailadresse im Header
Mannheim, Germany  |     Beginning of Wisdom "     | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834

--
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/