Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
9a76ef2f
Commit
9a76ef2f
authored
Jan 09, 2016
by
neil
Browse files
apache plugin
parent
8172bdee
Changes
1
Hide whitespace changes
Inline
Side-by-side
le.sh
View file @
9a76ef2f
...
@@ -234,7 +234,7 @@ _stopserver() {
...
@@ -234,7 +234,7 @@ _stopserver() {
_initpath
()
{
_initpath
()
{
if
[
-z
"
$WORKING_DIR
"
]
;
then
if
[
-z
"
$WORKING_DIR
"
]
;
then
WORKING_DIR
=
~
/.le
WORKING_DIR
=
$HOME
/.le
fi
fi
domain
=
"
$1
"
domain
=
"
$1
"
...
@@ -256,8 +256,95 @@ _initpath() {
...
@@ -256,8 +256,95 @@ _initpath() {
CERT_PATH
=
"
$WORKING_DIR
/
$domain
/
$domain
.cer"
CERT_PATH
=
"
$WORKING_DIR
/
$domain
/
$domain
.cer"
CA_CERT_PATH
=
"
$WORKING_DIR
/
$domain
/ca.cer"
CA_CERT_PATH
=
"
$WORKING_DIR
/
$domain
/ca.cer"
if
[
-z
"
$ACME_DIR
"
]
;
then
ACME_DIR
=
"/home/.acme"
fi
if
[
-z
"
$APACHE_CONF_BACKUP_DIR
"
]
;
then
APACHE_CONF_BACKUP_DIR
=
"
$WORKING_DIR
/"
fi
}
_apachePath
()
{
httpdroot
=
"
$(
apachectl
-V
|
grep
HTTPD_ROOT
=
|
cut
-d
=
-f
2 |
sed
s/
\"
//g
)
"
httpdconfname
=
"
$(
apachectl
-V
|
grep
SERVER_CONFIG_FILE
=
|
cut
-d
=
-f
2 |
sed
s/
\"
//g
)
"
httpdconf
=
"
$httpdroot
/
$httpdconfname
"
if
[
!
-f
$httpdconf
]
;
then
_err
"Apache Config file not found"
$httpdconf
return
1
fi
return
0
}
}
_restoreApache
()
{
if
!
_apachePath
;
then
return
1
fi
if
[
!
-f
"
$APACHE_CONF_BACKUP_DIR
/
$httpdconfname
"
]
;
then
_debug
"No config file to restore."
return
0
fi
cp
-p
"
$APACHE_CONF_BACKUP_DIR
/
$httpdconfname
"
"
$httpdconf
"
if
!
apachectl
-t
;
then
_err
"Sorry, restore apache config error, please contact me."
_restoreApache
return
1
;
fi
rm
-f
"
$APACHE_CONF_BACKUP_DIR
/
$httpdconfname
"
return
0
}
_setApache
()
{
if
!
_apachePath
;
then
return
1
fi
#backup the conf
_debug
"Backup apache config file"
$httpdconf
cp
-p
$httpdconf
$APACHE_CONF_BACKUP_DIR
/
_info
"JFYI, Config file
$httpdconf
is backuped to
$APACHE_CONF_BACKUP_DIR
/
$httpdconfname
"
_info
"In case there is an error that can not be restored automatically, you may try restore it yourself."
_info
"The backup file will be deleted on sucess, just forget it."
#add alias
echo
"
Alias /.well-known/acme-challenge/
$ACME_DIR
<Directory
$ACME_DIR
>
Order allow,deny
Allow from all
</Directory>
"
>>
$httpdconf
if
!
apachectl
-t
;
then
_err
"Sorry, apache config error, please contact me."
_restoreApache
return
1
;
fi
if
[
!
-d
"
$ACME_DIR
"
]
;
then
mkdir
-p
"
$ACME_DIR
"
chmod
755
"
$ACME_DIR
"
fi
if
!
apachectl graceful
;
then
_err
"Sorry, apachectl graceful error, please contact me."
_restoreApache
return
1
;
fi
return
0
}
_clearup
()
{
_stopserver
$serverproc
_restoreApache
}
issue
()
{
issue
()
{
if
[
-z
"
$1
"
]
;
then
if
[
-z
"
$1
"
]
;
then
...
@@ -330,6 +417,14 @@ issue() {
...
@@ -330,6 +417,14 @@ issue() {
return
1
return
1
fi
fi
fi
fi
if
[
"
$Le_Webroot
"
==
"apache"
]
;
then
if
!
_setApache
;
then
_err
"set up apache error. Report error to me."
return
1
fi
wellknown_path
=
"
$ACME_DIR
"
fi
createAccountKey
$Le_Domain
$Le_Keylength
createAccountKey
$Le_Domain
$Le_Keylength
...
@@ -373,6 +468,7 @@ issue() {
...
@@ -373,6 +468,7 @@ issue() {
_info
"Already registered"
_info
"Already registered"
else
else
_err
"Register account Error."
_err
"Register account Error."
_clearup
return
1
return
1
fi
fi
...
@@ -388,6 +484,7 @@ issue() {
...
@@ -388,6 +484,7 @@ issue() {
if
[
!
-z
"
$code
"
]
&&
[
!
"
$code
"
==
'201'
]
;
then
if
[
!
-z
"
$code
"
]
&&
[
!
"
$code
"
==
'201'
]
;
then
_err
"new-authz error:
$response
"
_err
"new-authz error:
$response
"
_clearup
return
1
return
1
fi
fi
...
@@ -410,7 +507,9 @@ issue() {
...
@@ -410,7 +507,9 @@ issue() {
sleep
2
sleep
2
_debug serverproc
$serverproc
_debug serverproc
$serverproc
else
else
wellknown_path
=
"
$Le_Webroot
/.well-known/acme-challenge"
if
[
-z
"
$wellknown_path
"
]
;
then
wellknown_path
=
"
$Le_Webroot
/.well-known/acme-challenge"
fi
_debug wellknown_path
"
$wellknown_path
"
_debug wellknown_path
"
$wellknown_path
"
mkdir
-p
"
$wellknown_path
"
mkdir
-p
"
$wellknown_path
"
...
@@ -425,7 +524,7 @@ issue() {
...
@@ -425,7 +524,7 @@ issue() {
if
[
!
-z
"
$code
"
]
&&
[
!
"
$code
"
==
'202'
]
;
then
if
[
!
-z
"
$code
"
]
&&
[
!
"
$code
"
==
'202'
]
;
then
_err
"
$d
:Challenge error:
$resource
"
_err
"
$d
:Challenge error:
$resource
"
_
stopserver
$serverproc
_
clearup
return
1
return
1
fi
fi
...
@@ -436,7 +535,7 @@ issue() {
...
@@ -436,7 +535,7 @@ issue() {
if
!
_get
$uri
;
then
if
!
_get
$uri
;
then
_err
"
$d
:Verify error:
$resource
"
_err
"
$d
:Verify error:
$resource
"
_
stopserver
$serverproc
_
clearup
return
1
return
1
fi
fi
...
@@ -449,7 +548,7 @@ issue() {
...
@@ -449,7 +548,7 @@ issue() {
if
[
"
$status
"
==
"invalid"
]
;
then
if
[
"
$status
"
==
"invalid"
]
;
then
error
=
$(
echo
$response
| egrep
-o
'"error":{[^}]*}'
|
grep
-o
'"detail":"[^"]*"'
|
cut
-d
'"'
-f
4
)
error
=
$(
echo
$response
| egrep
-o
'"error":{[^}]*}'
|
grep
-o
'"detail":"[^"]*"'
|
cut
-d
'"'
-f
4
)
_err
"
$d
:Verify error:
$error
"
_err
"
$d
:Verify error:
$error
"
_
stopserver
$serverproc
_
clearup
return
1
;
return
1
;
fi
fi
...
@@ -457,7 +556,7 @@ issue() {
...
@@ -457,7 +556,7 @@ issue() {
_info
"Pending"
_info
"Pending"
else
else
_err
"
$d
:Verify error:
$response
"
_err
"
$d
:Verify error:
$response
"
_
stopserver
$serverproc
_
clearup
return
1
return
1
fi
fi
...
@@ -488,6 +587,7 @@ issue() {
...
@@ -488,6 +587,7 @@ issue() {
if
[
-z
"
$Le_LinkCert
"
]
;
then
if
[
-z
"
$Le_LinkCert
"
]
;
then
response
=
"
$(
echo
$response
|
base64
-d
)
"
response
=
"
$(
echo
$response
|
base64
-d
)
"
_err
"Sign failed:
$(
echo
"
$response
"
|
grep
-o
'"detail":"[^"]*"'
)
"
_err
"Sign failed:
$(
echo
"
$response
"
|
grep
-o
'"detail":"[^"]*"'
)
"
_clearup
return
1
return
1
fi
fi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment