First of all, i would like to say, this so called "perfect" installation of ISPconfig on Centos 5.2 is broken. - One of the things that is firstly wrong is, that yum repositories dont have mysql precompiled postfix at all. (not even dag one) So... this makes whole mailserver broken with this distribution. Other than that, after i fixed problems with recompiling postfix and enabling mysql support, i ran into another problem. the path of maildrop in master.cf of postfix is wrong. - Default installation of maildrop with the centos installation guide is /usr/bin/maildrop, so that should be fixed. You can simply solve it with symbolic link of course. - I have noticed few ajax issues/errors. Sometimes ISPconfig just blocks, and freezes the window. Fortunately it doesn't happen too often. Although, if you are adding a mailbox at that time (like i was), things can get messy. For example, it broke my POP3 and IMAP becouse maildirmake wasn't executed properly and cur, new and tmp directories weren't made properly. Currently biggest issue i currently have is: Feb 16 04:11:38 ibex postfix/pipe[18205]: F04DB1A18013: to=<[email protected]>, relay=maildrop, delay=5073, delays=5073/0.27/0/0.02, dsn=4.3.0, status=deferred (temporary failure. Command output: /usr/bin/maildrop: Unable to open mailbox. ) I'm not sure where to start searching for answers to this error, since i was always using Qmail so far on my servers. It's my first time i'm looking at postfix which is supported by ISPconfig which i wanted to try out on the new server i made. I have feeling there must be something with maildrop and mailfilters... not sure. Is there any way i can try "delivering email" manually by su-ing into vmail user and maildroping it manually to the user by issuing it with a command ? That would actually show me where the problem lays. Or maybe how could i log what everything is maildrop doing... in some log file or something... my current maildroprc is: logfile "/var/log/maildrop.log" VERBOSE=5 But for now in maildrop.log i dont have any lines unfortunately.
ok... ok i was searching the web how to test this thing... and i found out this: It seems this default installation of .mailfilter is broken. Any update on it would be very nice... oh yea and sorry for the long post.
When i modified my master.cf, to look like this: I got: So i went to master.cf and removed that ${domain} and it said: I went to check, but instead of putting these mails into xxx.net folder it spammed them into /var/vmail folder... I deleted them, just to clean the mess up. So here's the question, how to pass this ${domain} variable to postfix ? Oh yes, and the default of this maildrop was:
finally got this solved. Here is for all of you who wondered why this thing doesnt work: In master.cf you need: This is proper syntax. I guess ${domain} was replaced with ${nexthop} in postfix... Best regards to everyone. Maybe someone finds this thing useful after all. Sorry for the monologues though
Also on centos 5.2 default installation of postfix logs all messages to /var/log/maillog which isn't very useful for ispconfig, since it tracks /var/log/mail.log, mail.warn and mail.err you may want to edit your /etc/syslog.conf and change mail line to: Which will make use of your monitor in ISPconfig again. Another note is about syslog facility of pure-ftpd. Default installation will log all to syslog. If you dont want to get flooded with: Change /etc/pure-ftpd/pure-ftpd.conf to: This should disable logging of pure-ftpd directly to /var/log/messages which ic shown under "Show System Log" in Monitor section of ISPconfig 3. Clamd also logs in other file, so find and edit LogFile in /etc/clamd.conf to this: There you go, quick update on default installation of centos 5.2 (all services installed thru yum repositories exactly as guide tells you to do.)
Also if you haven't specified a particular outside ip address at installation, default behaviour in ISPconfig would be adding vhosts as *:80 ... this can bring problems with more vhosts, becouse it wont show vhosted websites, but transfer you to the default one. To fix this, add: to your httpd.conf config file and restart apache.
Do you have itemized steps with recompiling postfix with support for mysql? Also, what steps did you do to apply the recomplied postfix to a broken install? I am getting: postfix/smtpd[21820]: fatal: unsupported dictionary type: mysql postfix/master[5651]: warning: process /usr/libexec/postfix/smtpd pid 21820 exit status 1 postfix/master[5651]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling postfix/qmgr[21821]: fatal: unsupported dictionary type: mysql postfix/master[5651]: warning: process /usr/libexec/postfix/qmgr pid 21821 exit status 1 postfix/master[5651]: warning: /usr/libexec/postfix/qmgr: bad command startup -- throttling so I believe that the postfix issue is applying to me. I am very new to postfix (previous servers had be using sendmail).
you installed non-mysql precompiled postfix from repository (which i mentioned before in posts, so i had same problem as you), you need to yum remove it and install mysql precompiled one. Here is the link to doing that, and building a rpm of postfix with mysql enabled: http://www.swimminginthought.com/?p=41 Dont worry about the warnings, there will be plenty when compiling this rpm Dont forget to remove your old postfix before installing this one...
How did you determine that this line: flags=DRhu user=vmail argv=/usr/bin/maildrop -d vmail ${extension} ${recipient} ${user} ${nexthop} ${sender} would resolve the issue? I had to add it to my master.cf file for email to be functional. Also, have you tried RoundCube 0.2 as a webmail client interface? Roger
Do i have to explain ? oh well ok... Well the fact is, default master.cf with only ${recipient} in there isn't working. So i went to see what maildrop is actually doing... as there is no /etc/maildroprc i thought ispconfig forgot to make it... but actually after i found that it's parsed as .mailfilter in /var/vmail... looking at the code showed: LOGNAME=tolower("$LOGNAME") EXTENSION="$1" RECIPIENT=tolower("$2") USER="$3" HOST="$4" SENDER="$5" DEFAULT="/var/vmail/$HOST/$USER/." This means it predicts at least 5 arguments. since $1 , $2 etc... a re arguments passed, so this ${recipient} surely isn't enough... Then i went to see the web a bit for postfix manual... i found that old ispconfig has: ${extension} ${recipient} ${user} ${domain} ${sender} Adding it, showed error, that it doesn't understand ${domain} variable, so i went to check postfix manual how else i could pass domain to this .mailfilter and i found out that there is ${nexthop} variable to pass that... switching those 2, made email delivered. So that's it. As of roundcube... i had to modify the friggin installation script, cause 5.2.0 php isn't even in yum's repositories for centos 5.2 ... those dudes developing that webmail are insane... at least they could stick with stable releases of php that is provided in most distributions... (i didn't bother sending them mail, since i fixed it on my own) 5.1.6 is latest supported version in latest centos 5.2 actually. Currently my roundcube is working fine. Firstly i had problems sending mail, becouse mail() function doesn't work properly somehow with default installation, so i entered localhost as smtp, and modified config file not to authenticate to smtpd, becouse it's already in allow list. (for some reason i got error when roundcube wanted to authenticate to my smtpd, but smtpd authentication is working fine... i tested it manually with telneting to it and typing the commands by hand) So yes... i removed the %u and %p in config file, and voila, roundcube worx.
I very much appreciate your detailed steps on the changes you made and where to look. This being my first real jump into more advanced configs and changes (coming from sendmail and squirrelmail). The "if it ain't broke, don't fix it" mindset. Once I get into disecting postfix and how things like spamassassin, clamav, roundcube, and such interact, I will be more comfortable with manual changes to necessary files. Still in the "not even sure what the question is" mode at this time.
Dont worry, I use postfix for the first time myself too. I always used qmail with vpopmail etc on my servers... and some 3rd party patches with it etc. With ispconfig i got postfix, so i had to accomodate to it. It's actually very simple system when you begin to understand it. Especially if you have knowledge how things work on other mailservers... you see about the same functions, just syntax is different.
bl4ckb1rd, I ran into your post while running down the very same bugs in the howto. Thanks for taking the time to post your fixes. There is a CentOS pre-compiled binary of postfix with mysql support but you need to enable the centosplus repository. This URL tells you how and even uses the postfix with mysql as its example: http://wiki.centos.org/AdditionalResources/Repositories/CentOSPlus Thanks, Doug
bl4ckb1rd, Your detailed answer was very useful. Despite my main.cf looks like yours, my /var/vmail/.mailfilter was a little different: LOGNAME=tolower("$LOGNAME") EXTENSION="$1" RECIPIENT=tolower("$2") USER=tolower("$3") HOST=tolower("$4") SENDER="$5" DEFAULT="/var/vmail/$HOST/$USER/." I figured out the "tolower" at "USER" and "HOST", introduced by "update.php" in ISPConfig 3.0.1.4 beta, was not well accepted by maildrop, resulting the same "unable to open mailbox". Till told me I should not to remove the function, but it is the manner I finaly got maildrop deliver the messages. Anyway, until I have new answers, it's a minor issue to me. Thanks again! Márcio Arnaldo Borges from Brazil!