| @@ -0,0 +1,84 @@ | |||
| #!/usr/bin/php | |||
| <?php | |||
| // | |||
| //read environment variables | |||
| //the shell variable $RENEWED_LINEAGE will point to the config live subdirectory | |||
| //(for example, "/etc/letsencrypt/live/example.com") containing the new certs and | |||
| //keys; the shell variable $RENEWED_DOMAINS will contain a space-delimited list | |||
| //of renewed cert domains (for example, "example.com www.example.com"). | |||
| $domains = explode(" ", getenv('RENEWED_DOMAINS')); | |||
| //update each domain | |||
| foreach ($domains as $d) { | |||
| echo "update $d \n"; | |||
| if ($d=="supercredit.com.au"){ | |||
| // install_to_cpanel(); | |||
| } | |||
| } | |||
| //restart nginx webserver. | |||
| exec('/usr/sbin/service nginx reload'); | |||
| function install_to_cpanel() | |||
| { | |||
| //https://documentation.cpanel.net/display/DD/Tutorial+-+Call+UAPI%27s+SSL%3A%3Ainstall_ssl+Function+in+Custom+Code | |||
| // Log everything during development. | |||
| // If you run this on the CLI, set 'display_errors = On' in php.ini. | |||
| error_reporting(E_ALL); | |||
| // Declare your username and password for authentication. | |||
| $username = 'supercreditcom'; | |||
| $password = 'P#SdlnWQ$+mW'; | |||
| // Define the API call. | |||
| $cpanel_host = 'biz96.biukop.com.au'; | |||
| $request_uri = "https://$cpanel_host:2083/execute/SSL/install_ssl"; | |||
| // Define the SSL certificate and key files. | |||
| $cert_file = realpath("/etc/letsencrypt/live/supercredit.com.au/cert.pem"); | |||
| $key_file = realpath("/etc/letsencrypt/live/supercredit.com.au/privkey.pem"); | |||
| $chain_file = realpath("/etc/letsencrypt/live/supercredit.com.au/chain.pem"); | |||
| // Set up the payload to send to the server. | |||
| $payload = array( | |||
| 'domain' => "supercredit.com.au", | |||
| 'cert' => file_get_contents($cert_file), | |||
| 'key' => file_get_contents($key_file), | |||
| 'cabundle'=> file_get_contents($chain_file), | |||
| ); | |||
| // Set up the cURL request object. | |||
| $ch = curl_init( $request_uri ); | |||
| curl_setopt( $ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ); | |||
| curl_setopt( $ch, CURLOPT_USERPWD, $username . ':' . $password ); | |||
| curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); | |||
| curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); | |||
| // Set up a POST request with the payload. | |||
| curl_setopt( $ch, CURLOPT_POST, true ); | |||
| curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload ); | |||
| curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); | |||
| // Make the call, and then terminate the cURL caller object. | |||
| $curl_response = curl_exec( $ch ); | |||
| curl_close( $ch ); | |||
| // Decode and validate output. | |||
| $response = json_decode( $curl_response ); | |||
| if( empty( $response ) ) { | |||
| echo "The cURL call did not return valid JSON:\n"; | |||
| die( $response ); | |||
| } elseif ( !$response->status ) { | |||
| echo "The cURL call returned valid JSON, but reported errors:\n"; | |||
| die( $response->errors[0] . "\n" ); | |||
| } | |||
| // Print and exit. | |||
| die( print_r( $response ) ); | |||
| } | |||
| ?> | |||