Zertifikat erneuern bitte flexibel halten, wenn Let's encrypt aus der (langen) Beta raus ist, werden die Zertifikate nur noch 30 Tage gültig sein
-
-
Wird wohl über eine Config einstellbar sein, sofern der expire-Date nicht auslesbar ist^^
-
-
So ein Plugin würde ich auch begrüßen! Ist sicherlich neben StartSSL eine gute Alternative.
-
-
-
-
Hello and thanks for the reply. I just want to know if it is planned in 2016 or 2017, the exact date of course I do not really expect.
-
-
-
Ok Thanks
-
-
Ich hab da mal gerade was zusammengebastelt.
Python: letsencrypt.py- import subprocess
- import os
- import MySQLdb
- username="root"
- pw=""
- pfadLetsencryptauto="/root/letsencrypt-entwicklung/letsencrypt/letsencrypt-auto"
- db = MySQLdb.connect( host="localhost",
- user=username,
- passwd=pw,
- db="imscp")
- cur = db.cursor()
- cur.execute("SELECT domain_name from domain;");
- for domainTmp in cur.fetchall():
- domain = domainTmp[0]
- print domain
- domainListe = []
- cmd = pfadLetsencryptauto+" certonly --renew-by-default --webroot -w /var/www/virtual/"+domain+"/htdocs/ -d "+domain+" -d www."+domain
- cur.execute("select subdomain_name,subdomain_mount from subdomain where domain_id=(select domain_id from domain where domain_name='"+domain+"');");
- for subdomain in cur.fetchall():
- domainListe.append(subdomain[0]+"."+domain);
- cmd = cmd +" -w /var/www/virtual/"+(domain+subdomain[1])+"/htdocs/ -d "+(subdomain[0]+"."+domain)
- print domainListe
- print cmd
- os.system(cmd)
- pkey = open("/etc/letsencrypt/live/"+domain+"/privkey.pem",'r').read() #default-pfad
- chain = open("/etc/letsencrypt/live/"+domain+"/chain.pem",'r').read() #default-pfad
- cert = open("/etc/letsencrypt/live/"+domain+"/cert.pem",'r').read() #default-pfad
- cur.execute("""update ssl_certs set
- ca_bundle=%s,
- private_key=%s,
- certificate=%s,
- status=%s
- where
- domain_type='dmn'
- AND domain_id=(select domain_id from domain where domain_name=%s)
- """
- ,(chain,pkey,cert,'tochange',domain));
- foo = cur.execute("""update ssl_certs set
- ca_bundle=%s,
- private_key=%s,
- certificate=%s,
- status=%s
- where domain_type='sub'
- AND domain_id IN (select subdomain_id
- from subdomain
- where domain_id= (select domain_id from domain where domain_name=%s)
- );
- """,(chain,pkey,cert,'tochange',domain));
- cur.execute("update domain set domain_status='tochange'");
- cur.execute("update subdomain set subdomain_status='tochange'");
- db.commit();
- os.system("/var/www/imscp/engine/imscp-rqst-mngr")
Wie muss ich das Script anlegen und ausführen das es geht?
-
Ganz normal mit nano oder einem beliebigen anderen Programm, das Textdateien bearbeiten kann. Dein Passwort für den MySQL-root-Benutzer nicht vergessen einzugragen. Dann noch chmod +x DATEINAME und abschließend ./DATEINAME.
Domains mit vielen Subdomains haben das Problem, dass man derzeit pro Domain nur 5 Zertifikate pro Woche erstellen darf. Das Skript fängt den Fehler nicht ab.
-