Articles in this section

Apache or nginx fails to start in Plesk: BIO_new_file: certificate not found: No such file or directory: nginx: configuration file /etc/nginx/nginx.conf test failed

Plesk for Linux kb: technical ABT: Group B

Applicable to:

  • Plesk for Linux

Symptoms

  • nginx or Apache fails to start with the following error:

    Nginx:

    PLESK_ERROR: BIO_new_file("/usr/local/psa/var/certificates/cert-rWXDy2") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/psa/var/certificates/cert-rWXDy2','r') error:2006D080:BIO routines:BIO_new_file:no such file) nginx: configuration file /etc/nginx/nginx.conf test failed


    PLESK_ERROR: New configuration files for the Apache web server were not created due to the errors in configuration templates: nginx: [emerg] no ssl_client_certificate for ssl_client_verify nginx: configuration file /etc/nginx/nginx.conf test failed . Detailed error descriptions were sent to you by email. Please resolve the issues and click here to generate broken configuration files once again or here to generate all configuration files. See the details in Configuration Troubleshooter

    Apache:

    PLESK_ERROR: AH00526: Syntax error on line 51 of /etc/httpd/conf/plesk.conf.d/vhosts/example.com.conf:
    SSLCertificateFile: file '/opt/psa/var/certificates/cert-rWXDy2' does not exist or is empty

    Or the same errors are displayed upon the attempt to create a subscription.

  • Domain example.com was previously removed.

Cause

Leftover configuration of the removed domain. The certificate file from the error can be found in different configuration files:

# grep -rl cert-rWXDy2 /var/www/vhosts/system/ | sort | uniq
/var/www/vhosts/system/example.com/conf/httpd.conf
/var/www/vhosts/system/example.com/conf/nginx.conf

Resolution

  1. Connect to the server via SSH.

  2. Locate the configuration files that mention the certificate:

    # grep -r cert-rWXDy2 /var/www/vhosts/system/*
    /var/www/vhosts/system/example.com/conf/httpd.conf: SSLCertificateFile /usr/local/psa/var/certificates/cert-rWXDy2
    /var/www/vhosts/system/example.com/conf/nginx.conf: ssl_certificate /usr/local/psa/var/certificates/cert-rWXDy2;

  3. Remove them:

    # rm -f /var/www/vhosts/system/example.com/conf/nginx.conf

    # rm -f /var/www/vhosts/system/example.com/conf/httpd.conf

  4. Remove the symlink for the config file:

    # rm -f /etc/httpd/conf/plesk.conf.d/vhosts/example.com.conf
    # rm -f /etc/nginx/plesk.conf.d/vhosts/example.com.conf

  5. If the same error happens again, find and change the extension of the leftover config files:

    # find /etc/httpd/ /etc/nginx/ -name *example.com*.conf -print0 | xargs --null -I{} mv {} {}_leftover

    And verify the operation with:

    # find /etc/httpd/ /etc/nginx/ -name *example.com*
    /etc/httpd/conf/plesk.conf.d/webmails/example.com_webmail.conf_leftover
    /etc/httpd/conf/plesk.conf.d/vhosts/example.com.conf_leftover
    /etc/nginx/plesk.conf.d/webmails/example.com_webmail.conf_leftover
    /etc/nginx/plesk.conf.d/vhosts/example.com.conf_leftover

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.