applyCertificates() public method

Apply certificates to DirectAdmin
public applyCertificates ( ) : boolean
return boolean
Example #1
0
            continue;
        }
        $log->log('Processing domain ' . $domain->getDomain());
        // Check if a renew is required, if everything needs to be checked within 10 days or in the past
        if (strtotime($domain->config('expire')) - time() >= 10 * 86400) {
            $log->log('Domain ' . $domain->getDomain() . ' doesn\'t need a reissue');
            continue;
        }
        try {
            $challenges = new Challenges($domain);
            $challenges->solveChallenge();
            $log->log('Successfully completed challenge for ' . $domain->getDomain());
            $domain->createKeys();
            $domain->requestCertificate(null, $domain->config('subdomains'));
            $log->log('Successfully received certificate from Let\'s Encrypt');
            $domain->applyCertificates();
            $log->log('Successfully applied certificate and CA certificates to DirectAdmin');
            $domain->config('domain', $domain->getDomain());
            $domain->config('subdomains', $domain->getSubdomains());
            $domain->config('status', 'applied to DirectAdmin (renewed)');
            $domain->config('expire', date('Y-m-d', strtotime('+50 days')));
            $log->log('Reissued domain ' . $domain->getDomain() . ' with success.');
        } catch (\Exception $e) {
            $log->error($e->getMessage(), null, false);
        }
    }
}
// Rewrite and restart HTTPD files
$queue = 'action=rewrite&value=httpd' . PHP_EOL;
$queue .= 'action=httpd&value=graceful' . PHP_EOL;
file_put_contents('/usr/local/directadmin/data/task.queue', $queue, FILE_APPEND);