• Halloween is coming! To celebrate the occasion, we dusted off a couple of old skins, and even created a brand new one (Pixel).
    To get into the festive spirit, install the Skins extension.
  • The new Python extension is now available. It allows customers to deploy and manage WSGI-based Python applications on their websites directly from Plesk.
  • The Plesk Mobile apps for iOS and Android and the Plesk Mobile Center extension have been deprecated, and are no longer available for new installations. In Plesk Obsidian 18.0.84, the Plesk Mobile Center extension will be removed from servers during the upgrade, and the Plesk Mobile apps will lose their server management features.
  • The Social Login extension has been deprecated and will be removed in Plesk Obsidian 18.0.84. After that, it will no longer be possible to log in to Plesk with a Google, Facebook, GitHub account, or with a passkey. Plesk usernames and passwords, as well as logging in with a WebPros Account, are not affected.

Forwarded to devs plesk repair mail fails with "Unable to find row with id 0 in dns_zone table" when DKIM is enabled and no DNS server is installed

nethubonline

Regular Pleskian
Username:

TITLE

plesk repair mail fails with "Unable to find row with id 0 in dns_zone table" when DKIM is enabled and no DNS server is installed

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

Plesk Obsidian 18.0.81.2
AlmaLinux 9.4 x86_64
Mail server: Postfix + Dovecot
DNS server component (BIND) not installed

PROBLEM DESCRIPTION

On a server without a DNS server component, plesk repair mail fails for every domain that has DKIM signing enabled. The repair stops at the domain settings step with "Unable to find row with id 0 in dns_zone table". Domains without DKIM are repaired without errors.

STEPS TO REPRODUCE

  1. On a Plesk server without the DNS server component, create a domain (example.com).
  2. Enable DKIM for the domain: Mail > Mail Settings > "Use DKIM spam protection system to sign outgoing email messages"
  3. Run
    Bash:
    plesk repair mail example.com -y
    .

ACTUAL RESULT

Repairing the mail server configuration
Reconfiguring the settings of domains: example.com ............. [FAILED]
- Unable to find row with id 0 in dns_zone table.
Reconfiguring the mailboxes ..................................... [OK]
Reconfiguring the mailboxes ..................................... [OK]

Error messages: 0; Warnings: 0; Errors resolved: 0

exit status 1

The domain has dns_zone_id = 0 in the domains table. With DKIM disabled for the same domain, the same command completes with [OK].

EXPECTED RESULT

The repair completes without errors. As there is no Plesk DNS zone for the domain, the DKIM DNS record step is skipped.

ANY ADDITIONAL INFORMATION

(DID NOT ANSWER QUESTION)

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Confirm bug
 
Thank you for the report, @nethubonline . There is an existing bug for the behavior (ID PPPM-11022). At this point, I cannot provide an ETA for the fix. Until the fix is introduced, the suggested workaround is to disable DKIM for the domain.
 
@Sebahat.hadzhi

This is not really a bug, but expected behavior ........... given a specific design flaw.

The same bug or issue will - very likely - also arise when (a) BIND is not installed and (b) external nameservers are used and (c) the repair tool is used.

A proper workaround is NOT to disable DKIM.

A proper workaround would be to install BIND.

Nevertheless, a bug fix for ID PPPM-11022 (and many other bug fixes to release) should be more "sensitive" to use-cases where Plesk is not the primary nameserver and/or where external nameservers are used.

Plesk should be more facilitating of scenarios that involve other and/or external DNS / nameservers.

In fact, it is never a good idea to combine DNS / nameservers and the physical hosting on the same server - when the server fails, all fails and even the simplest DNS redirect to another (live) server is impossible.

Kind regards....
 
Thank you for your input, @trialotto . According to our developers the behavior is recognized as a bug. As far as I am aware, the planned fix for implementation is ensuring that plesk repair does not check dns_zone table if dns-service is disabled.
 
Thank you for your input, @trialotto . According to our developers the behavior is recognized as a bug. As far as I am aware, the planned fix for implementation is ensuring that plesk repair does not check dns_zone table if dns-service is disabled.

@Sebahat.hadzhi

I would recommend - intuitively - to implement (and populate) the dns_zone table anyway, regardless of BIND being installed or not.

The performance penalty is very very very low and

a - it does not require changes to plesk repair,
b - it allows for more flexibility in future development (also for development of Plesk extensions),
c - it will result in a more stable Plesk environment (in production and/or when uninstalling / installing / re-installing BIND).

For instance, consider the following.

At this moment, I am using (a) external nameservers (for the sake of security and also for experimental development of scaling Plesk across servers with some degree of HA) and (b) an experimental self-hosted nameserver (to test for some Plesk related DNS customizations that are or should be synced with Plesk as proper slave DNS).

In both cases and in general, I need to enable BIND on the Plesk server to avoid issues.

To be honest, this (BIND) is only part of the problem.

In essence, keeping the dns_zone table alive (even when BIND is deleted or not installed) is the best way to allow for many good things in Plesk.

Kind regards.....
 
Back
Top