Category: "Linux stuff"

Why is my Linux root partition full?

Oh my... nothing puts a server down on its knees more than a root partition with 0% free space. Oh well, ok, maybe being dugg beats it. But still, when you have a full partition, you're in trouble...

First thing is to find what is using that much space. My best bet is to do this:

cd /
du -s *

You may also like du -sh * which will show human readable sizes.

Then you just need to cd into the largest dir and iterate... ;)

TLS IMAP with Courier on Debian

Welcome back to the daily emailing setup on Debian... :>>

The default private key for the courier IMAP server is for localhost, whiwh will issue warnings in the mail client. To generate a new (self signed) private key, you need to do this:

  • rm /etc/courier/imapd.pem (or back it up)
  • edir /etc/courier/imap.cnf and at least put the right value into CN=
  • mkimapdcert which will generate a new key, but in the wrong place!
  • mv /usr/lib/courier/imapd.pem /etc/courier/
  • chown root imapd.pem

I wonder when this is gonna end...

Mailman on Debian

Installing the mailman package on Debian is easy... but at some point, you gotta run into exim4 configuration again! >:(

Fact is exim4 does not by default and strongly discourages using piping to programs in /etc/aliases... which unfortunately is the way mailman likes to get its incoming mail. Bleh! :|

After having tried a gazillion different things I finally managed to get it to work by adding the following into /etc/exima4/exim4.conf.template ...

Full story »

Sending mail on Debian

Another late night trying to configure that Debian exim4 thingy...

I want to send email from Thunderbird using my Debian box as an SMTP relay.

The mailserver (exim4) will refuse to relay anything to an external domain if you're not properly authenticated.

So here's what I had to do (and thank God it finally works):

  • Cleaned up my /etc/exim4/exim4.conf.template as previously discussed.
  • Generated SSL keys for TLS to use with /usr/share/doc/exim4-base/examples/exim-gencert
  • Activated TLS by writing MAIN_TLS_ENABLE = true into a file called /etc/exim4/exim4.conf.localmacros
  • Activated authentication based on the courier-imap daemon I was already using for IMAP: in /etc/exim4/exim4.conf.template there is a section called AUTHENTIFICATION CONFIGURATION. In there I had to uncomment the blocks named plain_courier_authdaemon and login_courier_authdaemon. I'm not really sure why I uncommented both, but... it works.
  • There I found out (later) that I needed to allow exim to access the courier-imap socket or my /var/log/exim4 wouls state this:

    login_courier_authdaemon authenticator failed for xxx: 435 Unable to authenticate at present (set_id=yyy): failed to connect to socket /var/run/courier/authdaemon/socket: Permission denied

    This can be solved by adding the right user to the rigth group: usermod -G daemon Debian-exim. I'm not sure about how good/secure/clean this is, but it works. Comments welcome ;)
  • Regenerated the exim4 config with update-exim4.conf
  • Restarted exim with /etc/init.d/exim4 restart. I'm not sure this is needed, but it won't hurt...

Sometimes I wish I still had dear/hated old PLESK environment... :roll:

Bonus feature: make those sendings faster!

When you are connecting to the SMTP relay from behind a NAT firewall, there is a fairly high chance that the SMTP will try to RFC-1413 ident you but the firewall will drop the request. So the mailserver will wait for a response until it times out.

Exim4 does exactly that with a 30 second timeout. Which makes sending mails frustrating at best.

In /etc/exim4/exim4.conf.template there is a section about RFC 1413. Make sure you have this line:

rfc1413_query_timeout = 0s

(Zero seconds, means: do not bother wasting time on ident).

mail on Debian

So... I guess I thought I was smart enough to set up a Debian server all by myself... and it looks like I'm not even able to get basic email to work! :roll: Bleh...

I could set up apache, php, mysql and have everything working... but email ? What the hell is going on?

I sorta had exim4 installed automatically while apt-get installing mysql-4.1 . I also installed mutt so I could "read" any mail. But that damn thing won't save any email to /var/mail !! I think there should be a file named 'root' (at least) in there, but there is not.

All I know, is that I can use 'mail' to send email to an external machine. But I can't use mail to send a local mail to root.

I get lines like these in /var/log/exim4/mainlog:

2x0x-05-27 01:18:17 1FjlZR-0007Wy-Gx == /var/mail/mail (root@ns34611.ovh.net) <root@ns0x0x0.ovh.net> R=mail4root T=address_file defer (13): Permission denied: creating lock file hitching post /var/mail/mail.lock.ns0x0x0.ovh.net.0x0x0cb9.0000711b (euid=8 egid=8)

The exim process seems to be running under Debian-exim4 and the permission for /var/mail seems to be drwxr-sr-x root root

Now of course I can make it work by funkying around with the permissions of that folder, but that doesn't feel right... Besides I wonder what magic that 's' is trying to accomplish...

Is there a caring soul out there willing to show me the light? I'm so lost right now... :| Thanx!! ;)

Update:

I think I need to log what I did here... might get useful someday...

Full story »