Current File : //etc/zpanel/panel/modules/ssl/code/ssl_renew.php |
<?php
if(!file_exists('/var/log/letsencrypt/sslrenew.log'))
{
shell_exec("touch /var/log/letsencrypt/sslrenew.log");
shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
}
else
shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
$port_check = trim(shell_exec('lsof -i:80 -S | tail -1 | cut -d " " -f1'));
if($port_check == "varnishd")
{
shell_exec('/etc/sentora/panel/bin/setso --set apache_port 80');
shell_exec('/etc/sentora/panel/bin/setso --set sentora_port 80');
shell_exec('mysql --socket="/usr/local/mysql/mysql.sock" -e "Update sentora_core.x_vhosts SET vh_custom_port_in="80";"');
shell_exec('mysql --socket="/usr/local/mysql/mysql.sock" -e "Update sentora_core.x_varnish SET x_varnish="Off",x_isactive="0";"');
shell_exec('/etc/sentora/panel/bin/setso --set apache_changed "true"');
shell_exec('php /etc/sentora/panel/bin/daemon.php');
}
$certificate_list = (shell_exec('grep "Certificate Name" /var/log/letsencrypt/sslrenew.log | awk \'{print $3}\''));
$expiry_date = shell_exec('grep "Expiry Date" /var/log/letsencrypt/sslrenew.log | awk \'{print $6}\'');
$certificate_list = array_filter(explode("\n", $certificate_list));
//print_r($certificate_list);
$expiry_date = array_filter(explode("\n", $expiry_date));
//print_r($expiry_date);
$i = 0;
$renewd_flag = false;
foreach($certificate_list as $key => $value)
{
echo "\n Cert Name: ".$value."\n";
if(trim($value) != "")
{
$now = time();
if(!file_exists('/var/log/letsencrypt/renew.log'))
{
echo "\n Kesav \n";
shell_exec("touch /var/log/letsencrypt/renew.log");
}
if (strpos($expiry_date[$i], 'EXPIRED') !== false) {
echo "EXPIRED ";
shell_exec('/usr/local/letsencrypt/./certbot-auto renew --cert-name '.$value.' >> /var/log/letsencrypt/renew.log ');
$hostname_service = trim(shell_exec("whereis hostname | awk {'print $2'}"));
$hostname = trim(shell_exec("$hostname_service"));
if($hostname == $value)
{
$web_file = "/etc/letsencrypt/live/".$value."/cert.pem";
if(file_exists($web_file))
{
shell_exec("cat /etc/letsencrypt/live/$value/cert.pem /etc/letsencrypt/live/$value/privkey.pem > /etc/letsencrypt/live/$value/web.pem");
}
}
$renewd_flag = true;
}
else
{
echo "Valid ".$expiry_date[$i]."\n";
if($expiry_date[$i] < 10)
{
shell_exec("/usr/local/letsencrypt/./certbot-auto renew --cert-name $value >> /var/log/letsencrypt/renew.log");
$hostname_service = trim(shell_exec("whereis hostname | awk {'print $2'}"));
$hostname = trim(shell_exec("$hostname_service"));
if($hostname == $value)
{
$web_file = "/etc/letsencrypt/live/".$value."/cert.pem";
if(file_exists($web_file))
{
shell_exec("cat /etc/letsencrypt/live/$value/cert.pem /etc/letsencrypt/live/$value/privkey.pem > /etc/letsencrypt/live/$value/web.pem");
}
}
$renewd_flag = true;
}
}
}
$i++;
}
if($renewd_flag)
{
$service = trim(shell_exec("whereis service | awk '{print $2}'"));
shell_exec("$service httpd restart");
shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
}
?>