|
|
@ -1,12 +1,12 @@ |
|
|
|
#!/bin/bash |
|
|
|
#!/usr/bin/env sh |
|
|
|
# Here is the script to deploy the cert to your cpanel using the cpanel API. |
|
|
|
# Uses command line uapi. Cpanel username is needed only when run as root. |
|
|
|
# Returns 0 when success, otherwise error. |
|
|
|
# Uses command line uapi. |
|
|
|
# Cpanel username is needed only when run as root (I did not test this). |
|
|
|
# Returns 0 when success. |
|
|
|
# Written by Santeri Kannisto <santeri.kannisto@2globalnomads.info> |
|
|
|
# Public domain, 2017 |
|
|
|
|
|
|
|
#export DEPLOY_CPANEL_USER=myusername |
|
|
|
#export DEPLOY_CPANEL_PASSWORD=PASSWORD |
|
|
|
|
|
|
|
######## Public functions ##################### |
|
|
|
|
|
|
@ -26,32 +26,28 @@ cpanel_deploy() { |
|
|
|
_debug _cfullchain "$_cfullchain" |
|
|
|
|
|
|
|
# read cert and key files and urlencode both |
|
|
|
_certstr=`cat "$_ccert"` |
|
|
|
_keystr=`cat "$_ckey"` |
|
|
|
_certstr=$(cat "$_ccert") |
|
|
|
_keystr=$(cat "$_ckey") |
|
|
|
_cert=$(php -r "echo urlencode(\"$_certstr\");") |
|
|
|
_key=$(php -r "echo urlencode(\"$_keystr\");") |
|
|
|
|
|
|
|
_debug _cert "$_cert" |
|
|
|
_debug _key "$_key" |
|
|
|
|
|
|
|
if [[ $EUID -eq 0 ]] |
|
|
|
then |
|
|
|
_opt="--user=$DEPLOY_CPANEL_USER SSL install_ssl" |
|
|
|
else |
|
|
|
_opt="SSL install_ssl" |
|
|
|
fi |
|
|
|
|
|
|
|
_debug _opt "$_opt" |
|
|
|
if [ "$(id -u)" = 0 ]; then |
|
|
|
_opt="--user=$DEPLOY_CPANEL_USER" |
|
|
|
_debug _opt "$_opt" |
|
|
|
fi |
|
|
|
|
|
|
|
response=$(uapi $_opt domain="$_cdommain" cert="$_cert" key="$_key") |
|
|
|
_response=$(uapi $_opt SSL install_ssl domain="$_cdomain" cert="$_cert" key="$_key") |
|
|
|
|
|
|
|
if [ $? -ne 0 ] |
|
|
|
then |
|
|
|
if [ $? -ne 0 ]; then |
|
|
|
_err "Error in deploying certificate:" |
|
|
|
_err "$response" |
|
|
|
_err "$_response" |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
|
|
|
|
_debug response "$response" |
|
|
|
_debug response "$_response" |
|
|
|
_info "Certificate successfully deployed" |
|
|
|
return 0 |
|
|
|
} |