|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
|
|
|
|
VER=2.6.2
|
|
|
|
|
VER=2.6.3
|
|
|
|
|
|
|
|
|
|
PROJECT_NAME="acme.sh"
|
|
|
|
|
|
|
|
|
@ -918,15 +918,18 @@ _time() {
|
|
|
|
|
_mktemp() {
|
|
|
|
|
if _exists mktemp ; then
|
|
|
|
|
if mktemp 2>/dev/null ; then
|
|
|
|
|
return
|
|
|
|
|
return 0
|
|
|
|
|
elif _contains "$(mktemp 2>&1)" "-t prefix" && mktemp -t "$PROJECT_NAME" 2>/dev/null ; then
|
|
|
|
|
#for Mac osx
|
|
|
|
|
return
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if [ -d "/tmp" ] ; then
|
|
|
|
|
echo "/tmp/${PROJECT_NAME}wefADf24sf.$(_time).tmp"
|
|
|
|
|
return 0
|
|
|
|
|
elif [ "$LE_TEMP_DIR" ] && mkdir -p "$LE_TEMP_DIR" ; then
|
|
|
|
|
echo "/$LE_TEMP_DIR/wefADf24sf.$(_time).tmp"
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
_err "Can not create temp file."
|
|
|
|
|
}
|
|
|
|
@ -1540,6 +1543,10 @@ __initHome() {
|
|
|
|
|
DEFAULT_LOG_FILE="$LE_WORKING_DIR/$PROJECT_NAME.log"
|
|
|
|
|
|
|
|
|
|
DEFAULT_CA_HOME="$LE_WORKING_DIR/ca"
|
|
|
|
|
|
|
|
|
|
if [ -z "$LE_TEMP_DIR" ] ; then
|
|
|
|
|
LE_TEMP_DIR="$LE_WORKING_DIR/tmp"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[domain] [keylength]
|
|
|
|
@ -1693,6 +1700,21 @@ _initpath() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_exec() {
|
|
|
|
|
if [ -z "$_EXEC_TEMP_ERR" ] ; then
|
|
|
|
|
_EXEC_TEMP_ERR="$(_mktemp)"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$_EXEC_TEMP_ERR" ] ; then
|
|
|
|
|
"$@" 2>"$_EXEC_TEMP_ERR"
|
|
|
|
|
else
|
|
|
|
|
"$@"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_exec_err() {
|
|
|
|
|
[ "$_EXEC_TEMP_ERR" ] && _err "$(cat "$_EXEC_TEMP_ERR")"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_apachePath() {
|
|
|
|
|
_APACHECTL="apachectl"
|
|
|
|
@ -1705,8 +1727,20 @@ _apachePath() {
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if ! _exec $_APACHECTL -V >/dev/null ; then
|
|
|
|
|
_exec_err
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
httpdconfname="$($_APACHECTL -V | grep SERVER_CONFIG_FILE= | cut -d = -f 2 | tr -d '"' )"
|
|
|
|
|
_debug httpdconfname "$httpdconfname"
|
|
|
|
|
|
|
|
|
|
if [ -z "$httpdconfname" ] ; then
|
|
|
|
|
_err "Can not read apache config file."
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if _startswith "$httpdconfname" '/' ; then
|
|
|
|
|
httpdconf="$httpdconfname"
|
|
|
|
|
httpdconfname="$(basename $httpdconfname)"
|
|
|
|
@ -1741,7 +1775,8 @@ _restoreApache() {
|
|
|
|
|
|
|
|
|
|
cat "$APACHE_CONF_BACKUP_DIR/$httpdconfname" > "$httpdconf"
|
|
|
|
|
_debug "Restored: $httpdconf."
|
|
|
|
|
if ! $_APACHECTL -t >/dev/null 2>&1 ; then
|
|
|
|
|
if ! _exec $_APACHECTL -t ; then
|
|
|
|
|
_exec_err
|
|
|
|
|
_err "Sorry, restore apache config error, please contact me."
|
|
|
|
|
return 1;
|
|
|
|
|
fi
|
|
|
|
@ -1758,11 +1793,11 @@ _setApache() {
|
|
|
|
|
|
|
|
|
|
#test the conf first
|
|
|
|
|
_info "Checking if there is an error in the apache config file before starting."
|
|
|
|
|
_msg="$($_APACHECTL -t 2>&1 )"
|
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
|
|
|
_err "Sorry, apache config file has error, please fix it first, then try again."
|
|
|
|
|
|
|
|
|
|
if ! _exec $_APACHECTL -t >/dev/null ; then
|
|
|
|
|
_exec_err
|
|
|
|
|
_err "The apache config file has error, please fix it first, then try again."
|
|
|
|
|
_err "Don't worry, there is nothing changed to your system."
|
|
|
|
|
_err "$_msg"
|
|
|
|
|
return 1;
|
|
|
|
|
else
|
|
|
|
|
_info "OK"
|
|
|
|
@ -1821,8 +1856,9 @@ Allow from all
|
|
|
|
|
chmod 755 "$ACME_DIR"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if ! $_APACHECTL graceful ; then
|
|
|
|
|
_err "Sorry, $_APACHECTL graceful error, please contact me."
|
|
|
|
|
if ! _exec $_APACHECTL graceful ; then
|
|
|
|
|
_exec_err
|
|
|
|
|
_err "$_APACHECTL graceful error, please contact me."
|
|
|
|
|
_restoreApache
|
|
|
|
|
return 1;
|
|
|
|
|
fi
|
|
|
|
@ -1937,9 +1973,6 @@ _on_before_issue() {
|
|
|
|
|
_err "Please install netcat(nc) tools first."
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
elif ! _hasfield "$Le_Webroot" "$W_TLS" ; then
|
|
|
|
|
#no need to check anymore
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
_debug Le_LocalAddress "$Le_LocalAddress"
|
|
|
|
|