Symptoms
When customers purchases some resource like additional mail account via CP, DNS records of his domain are also changed. The example below illustrates the issue.
The original zone looked like
*.webmail.pp104test.com. CNAME pp104test.com.
ftp.pp104test.com. A 192.168.1.2
ipv4.pp104test.com. A 192.168.1.2
mail.pp104test.com. A 192.168.1.2
ns.pp104test.com. A 192.168.1.2
pp104test.com. NS ns.pp104test.com.
pp104test.com. A 192.168.1.2
pp104test.com. MX (10) mail.pp104test.com.
pp104test.com. TXT v=spf1 +a +mx ~all
webmail.pp104test.com. A 192.168.1.2
www.pp104test.com. CNAME pp104test.com.
Then
pp104test.com. A 192.168.1.2
was changed to
pp104test.com. A 8.8.8.8
After that the customer purchased a mail box to increase the number of his mail accounts via Account > Buy resources
in CP. And that made the DNS zone look like
*.webmail.pp104test.com. CNAME pp104test.com.
ftp.pp104test.com. A 8.8.8.8
ipv4.pp104test.com. A 8.8.8.8
mail.pp104test.com. A 8.8.8.8
ns.pp104test.com. A 8.8.8.8
pp104test.com. NS ns.pp104test.com.
pp104test.com. A 8.8.8.8
pp104test.com. MX (10) mail.pp104test.com.
pp104test.com. TXT v=spf1 +a +mx ~all
webmail.pp104test.com. A 8.8.8.8
www.pp104test.com. CNAME pp104test.com.
Cause
Software issue PPPM-133 that was fixed in Plesk 11.0.9.
Resolution
Upgrade the Plesk node to the latest version.
If upgrade is not an option for you, there is a workaround for Plesk versions earlier that 11.0.9.
In Plesk go
Tools & Settings > Event Manager
and create two event handlers for root user with the actions:Default domain, DNS zone updated highest (100) root /bin/bash /usr/local/psa/tmp/dns-update-event.sh Domain DNS zone updated highest (100) root /bin/bash /usr/local/psa/tmp/dns-update-event.sh
After that create a file
/usr/local/psa/tmp/dns-update-event.sh
on the Plesk server and put there the folowing script:#!/bin/bash /bin/date >> /tmp/dns_events.log # information on the event date and time /usr/bin/id >> /tmp/dns_events.log # information on the user, on behalf of which the script was executed (to ensure control) echo "Update domain ${NEW_DOMAIN_NAME}" >> /tmp/dns_events.log /usr/bin/mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -e "update dns_zone set syncSoa='skip', syncRecords='skip' where name=\"${NEW_DOMAIN_NAME}\"" >> /tmp/dns_events.log 2>&1