|
- #!/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 ) );
- }
- ?>
|