Skip to content

Commit 873244e

Browse files
author
Marius Cramer
committed
- added letsencrypt arguments to exec call to avoid need of ini file
- added cron for letsencrypt renewal
1 parent 435ce38 commit 873244e

File tree

3 files changed

+56
-4
lines changed

3 files changed

+56
-4
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2013, Marius Cramer, pixcept KG
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
class cronjob_letsencrypt extends cronjob {
32+
33+
// job schedule
34+
protected $_schedule = '0 3 * * *';
35+
36+
public function onRunJob() {
37+
global $app, $conf;
38+
39+
if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt-renewer")) {
40+
exec('/root/.local/share/letsencrypt/bin/letsencrypt-renewer');
41+
}
42+
43+
parent::onRunJob();
44+
}
45+
46+
}
47+
48+
?>

server/plugins-available/apache2_plugin.inc.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,8 +1144,10 @@ function update($event_name, $data) {
11441144
$app->system->chown($webroot . "/.well-known/acme-challenge/", $data['new']['system_user']);
11451145
$app->system->chgrp($webroot . "/.well-known/acme-challenge/", $data['new']['system_group']);
11461146
$app->system->chmod($webroot . "/.well-known/acme-challenge", "g+s");
1147-
1148-
$this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth -a webroot --email postmaster@$domain --domains $lddomain --webroot-path $webroot");
1147+
1148+
if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) {
1149+
$this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator=webroot --server=https://acme-v01.api.letsencrypt.org/directory --rsa-key-size=4096 --webroot-path --email postmaster@$domain --domains $lddomain --webroot-path " . escapeshellarg($webroot));
1150+
}
11491151
};
11501152

11511153
//* check is been correctly created

server/plugins-available/nginx_plugin.inc.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,8 +1181,10 @@ function update($event_name, $data) {
11811181
$app->system->chown($webroot . "/.well-known/acme-challenge/", $data['new']['system_user']);
11821182
$app->system->chgrp($webroot . "/.well-known/acme-challenge/", $data['new']['system_group']);
11831183
$app->system->chmod($webroot . "/.well-known/acme-challenge", "g+s");
1184-
1185-
$this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth -a webroot --email postmaster@$domain --domains $lddomain --webroot-path $webroot");
1184+
1185+
if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) {
1186+
$this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator=webroot --server=https://acme-v01.api.letsencrypt.org/directory --rsa-key-size=4096 --webroot-path --email postmaster@$domain --domains $lddomain --webroot-path " . escapeshellarg($webroot));
1187+
}
11861188
};
11871189

11881190
//* check is been correctly created

0 commit comments

Comments
 (0)