Permission denied: cannot create /domain.tld/postmaster/Maildir
Hi Guys, Tearing my hair out here trying to solve this one. I know it's supposed to be a permissions issue but bear with me first please. variable.php: $mailroot = "/home/exim4u/mail/"; Permissions are set to exim (UID / GID 93) for the above directory: drwxr-xr-x 3 exim exim 4096 Oct 28 13:32 . drwxr-xr-x 6 root root 4096 Oct 28 13:32 .. drwxr-xr-x 3 exim exim 4096 Oct 31 12:25 mail I create a domain eg domain.tld. System UID and GID are set to 93. Domain mail directory appears as /home/exim4u/mail/ which I believe is correct as it should then create /home/exim4u/mail/domain.tld for the mailboxes. However, it doesn't create the folder and this is what I see in exim/main.log: 2013-10-31 13:35:55 1VbqXb-0004fN-Is == /domain.tld/postmaster/Maildir <postmaster(a)domain.tld> R=virtual_domains T=virtual_delivery defer (13): Permission denied: cannot create /domain.tld/postmaster/Maildir I've been struggling to figure out why it's not creating /home/exim4u/mail/domain.tld with no success, even manually creating the domain.tld directory under /home/exim4u/mail. I then decided to create /domain.tld off the root since that appears on the surface to be what it's actually trying to do! Guess what, the mail got delivered and the postmaster directory created as /domain.tld/postmaster/Maildir. Why is it trying to create the directory off the root and not under the correct mailroot directory?
On 31 October 2013 14:46, Mark Shearar <mark(a)shearar.com> wrote:
Hi Guys,
Tearing my hair out here trying to solve this one. I know it's supposed to be a permissions issue but bear with me first please.
variable.php: $mailroot = "/home/exim4u/mail/";
Permissions are set to exim (UID / GID 93) for the above directory: drwxr-xr-x 3 exim exim 4096 Oct 28 13:32 . drwxr-xr-x 6 root root 4096 Oct 28 13:32 .. drwxr-xr-x 3 exim exim 4096 Oct 31 12:25 mail
I create a domain eg domain.tld. System UID and GID are set to 93. Domain mail directory appears as /home/exim4u/mail/ which I believe is correct as it should then create /home/exim4u/mail/domain.tld for the mailboxes.
However, it doesn't create the folder and this is what I see in exim/main.log: 2013-10-31 13:35:55 1VbqXb-0004fN-Is == /domain.tld/postmaster/Maildir <postmaster(a)domain.tld> R=virtual_domains T=virtual_delivery defer (13): Permission denied: cannot create /domain.tld/postmaster/Maildir I've been struggling to figure out why it's not creating /home/exim4u/mail/domain.tld with no success, even manually creating the domain.tld directory under /home/exim4u/mail. I then decided to create /domain.tld off the root since that appears on the surface to be what it's actually trying to do! Guess what, the mail got delivered and the postmaster directory created as /domain.tld/postmaster/Maildir.
Why is it trying to create the directory off the root and not under the correct mailroot directory?
The reason looks rather obvious to me. When you created this domain using the web UI, did you by any chance change the parameter for "Domain Mail Directory"? It should have remained as "/home/exim4u/mail/" and Exim would append domain.tld when delivering the mail. I suspect you did change "Domain Mail Directory" to /, hence the reason Exim is trying to deliver to /domain.tld Please login as siteadmin and ensure that the value of Domain Mail Directory points to /home/exim4u/mail/. If it does, then login to mysql shell and show us the output of: select domain, maildir from domains where domain = 'domain.tld'; -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223 "I can't hear you -- I'm using the scrambler."
Not sure if I'm supposed to top post or bottom post but here goes :)
The reason looks rather obvious to me. When you created this domain using the web UI, did you by any chance change the parameter >for "Domain Mail Directory"? It should have remained as "/home/exim4u/mail/" and Exim would append domain.tld when delivering >the mail. I suspect you did change "Domain Mail Directory" to /, hence the reason Exim is trying to deliver to /domain.tld
Please login as siteadmin and ensure that the value of Domain Mail Directory points to /home/exim4u/mail/. If it does, then login to ?>mysql shell and show us the output of:
select domain, maildir from domains where domain = 'domain.tld';
When creating the domain I tried both "/home/exim4u/mail/" and "/home/exim4u/mail" to see if the trailing "/" made any difference which it didn't (at least it didn't solve my problem). But yes, "Domain Mail Directory" was definitely set to "/home/exim4u/mail/". I asked someone else to run the query for me and email the results as I'm nowhere near at the moment unfortunately. I also can't remember if I deleted the domain again out of frustration or left it as it was :/ This is what they sent me back: domain_id 1 domain admin maildir uid 93 gid 93 max_accounts 0 quotas 0 type \N avscan 0 blocklists 0 complexpass 0 enabled 1 mailinglists 0 maxmsgsize 0 pipe 0 spamassassin 0 sa_tag 0 sa_refuse 0 relay_address outgoing_ip
1) Examine the exim4u mysql database and verify the values of the "maildir", "uid" and "gid" fields in the >domains table. Also, the "pop" field in the users table should specify each user's mail directory. If you are >not a mysql whiz then you can easily view these tables by installing and using phpMyAdmin which provides >an easy to use web interface for mysql.
I didn't create an exim4u user, but I chose to use the exim user instead. I thought it would make life easier :) UID and GID is both 93. Verified by "id -u exim". The UID and GID fields are correct in the domains table, although the above shows the maildir as being blank I distinctly remember seeing "/domain.tld/<username>/Maildir" in either the domains table or the users table. This of course is the problem in that it should be "/home/exim4u/mail/domain.tld/<username>/Maildir". Am going to be doing my 4th installation sometime soon (also on Centos 5) so will be interesting to see if I can replicate my issues. Hopefully not! On that note, is Centos 6 now the preferred OS of choice for exim4u or should I stick to 5? Regards Mark
Your answer is useless to me so I can't help from this point onwards - unless you answer me properly. On 8 November 2013 15:08, Mark Shearar <mark(a)shearar.com> wrote:
Not sure if I'm supposed to top post or bottom post but here goes :)
The reason looks rather obvious to me. When you created this domain using the web UI, did you by any chance change the parameter >for "Domain Mail Directory"? It should have remained as "/home/exim4u/mail/" and Exim would append domain.tld when delivering >the mail. I suspect you did change "Domain Mail Directory" to /, hence the reason Exim is trying to deliver to /domain.tld
Please login as siteadmin and ensure that the value of Domain Mail Directory points to /home/exim4u/mail/. If it does, then login to ?>mysql shell and show us the output of:
select domain, maildir from domains where domain = 'domain.tld';
When creating the domain I tried both "/home/exim4u/mail/" and "/home/exim4u/mail" to see if the trailing "/" made any difference which it didn't (at least it didn't solve my problem). But yes, "Domain Mail Directory" was definitely set to "/home/exim4u/mail/". I asked someone else to run the query for me and email the results as I'm nowhere near at the moment unfortunately. I also can't remember if I deleted the domain again out of frustration or left it as it was :/ This is what they sent me back: domain_id 1 domain admin maildir uid 93 gid 93 max_accounts 0 quotas 0 type \N avscan 0 blocklists 0 complexpass 0 enabled 1 mailinglists 0 maxmsgsize 0 pipe 0 spamassassin 0 sa_tag 0 sa_refuse 0 relay_address outgoing_ip
1) Examine the exim4u mysql database and verify the values of the "maildir", "uid" and "gid" fields in the >domains table. Also, the "pop" field in the users table should specify each user's mail directory. If you are >not a mysql whiz then you can easily view these tables by installing and using phpMyAdmin which provides >an easy to use web interface for mysql.
I didn't create an exim4u user, but I chose to use the exim user instead. I thought it would make life easier :) UID and GID is both 93. Verified by "id -u exim". The UID and GID fields are correct in the domains table, although the above shows the maildir as being blank I distinctly remember seeing "/domain.tld/<username>/Maildir" in either the domains table or the users table. This of course is the problem in that it should be "/home/exim4u/mail/domain.tld/<username>/Maildir".
Am going to be doing my 4th installation sometime soon (also on Centos 5) so will be interesting to see if I can replicate my issues. Hopefully not! On that note, is Centos 6 now the preferred OS of choice for exim4u or should I stick to 5?
Regards Mark
_______________________________________________ users mailing list users(a)exim4u.org https://exim4u.org/mailman/listinfo/users
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223 "I can't hear you -- I'm using the scrambler."
hi i can create user, domains and else by wthe web gui. i got a lot of lines at the apache error log like [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: realname in /usr/share/exim4u/config/variables.php on line 120 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: localpart in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 125 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 126 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: domain in /usr/share/exim4u/config/variables.php on line 130 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: login in /usr/share/exim4u/config/header.php on line 86 but the database looks good an work together with exim . exim can receive mail for the known domains and send too. i check the tables by hand , and everything looks fine and also the permissions of the files. did have somebody a clue for this problem ? regards holger .
Hello Holger, Let me start by saying that to anyone who groups their e-mail by thread, the "Hit reply, erase everything and write whatever you wanted" practice is kind of annoying, because it makes completely unrelated topics appear as one conversation. Next time, please just hit the mailing list address instead of a reply button, it's not much harder. Now, onto your topic, the errors you have pasted are PHP coding errors derived from Vexim. They are already fixed upstream ( https://github.com/avleen/vexim2/commit/49fa6bc53eba81d41169cdca3db1b8bb2bbb... ), but they aren't really fatal errors, and you can safely ignore them in this case. While on this, I would like to suggest to the authors of Exim4U to sync their fork of Vexim with upstream. We have some really nice changes there (probably the biggest one being migration from Pear-DB to PDO as a database backend). Although I personally tend to think that a full rewrite or a replacement would still be desired (e.g., has anyone tried ViMbAdmin). Regards, Rimas 2013.12.12 14:06, Holger Glaess wrote:
i can create user, domains and else by wthe web gui.
i got a lot of lines at the apache error log like
[Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: realname in /usr/share/exim4u/config/variables.php on line 120 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: localpart in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 125 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 126 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: domain in /usr/share/exim4u/config/variables.php on line 130 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: login in /usr/share/exim4u/config/header.php on line 86
but the database looks good an work together with exim .
exim can receive mail for the known domains and send too.
i check the tables by hand , and everything looks fine and also the permissions of the files.
did have somebody a clue for this problem ?
I don't think that anything is wrong. Your error_reporting value in your php.ini file is probably just set to strictly such that you are reporting information notices in addition to errors. To only show errors and not information notices use something like the following in php.ini: error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR FYI, Gordon On 12/12/2013 07:06 AM, Holger Glaess wrote:
hi
i can create user, domains and else by wthe web gui.
i got a lot of lines at the apache error log like
[Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: realname in /usr/share/exim4u/config/variables.php on line 120 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: localpart in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 122 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 125 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: _SESSION in /usr/share/exim4u/config/variables.php on line 126 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: domain in /usr/share/exim4u/config/variables.php on line 130 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: domheaderrow in /usr/share/exim4u/config/header.php on line 15 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined variable: usrheaderrow in /usr/share/exim4u/config/header.php on line 17 [Thu Dec 12 11:58:30 2013] [error] [client 84.118.155.64] PHP Notice: Undefined index: login in /usr/share/exim4u/config/header.php on line 86
but the database looks good an work together with exim .
exim can receive mail for the known domains and send too.
i check the tables by hand , and everything looks fine and also the permissions of the files.
did have somebody a clue for this problem ?
regards
holger .
_______________________________________________ users mailing list users(a)exim4u.org https://exim4u.org/mailman/listinfo/users
participants (5)
-
gecko@exim4u.org
-
Holger Glaess
-
Mark Shearar
-
Odhiambo Washington
-
Rimas Kudelis