|
@@ -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
|
|
|
}
|