Neue Subdomains über API angelegt sollen Serverzertifikat verwenden

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von shadowcast, 9. Jan. 2015.

  1. shadowcast

    shadowcast Member

    Hallo,

    ich hatte vor einiger Zeit bereits einen Beitrag bezüglich Zertifikaten und neuen Webseiten, welche ich über die API anlege.
    Da ich diese verschlüsselt brauche, gebe ich beim Anlegen eine Apache Directive mit, dass Port 80 nach 443 umgeleitet wird.
    Das Zertifikat schreibe ich dann direkt in die entsprechenden Felder.
    Klappt soweit und so wars auch damals hier die optimale Lösung.

    Zur Info, es geht beim Anlegen neuer Seiten stets nur um Subdomains. Das Zertifikat ist also ein Wildcard Zertifikat, welches natürlich auch unter /etc/ssl und u.a. PHPMyAdmin und ISPConfig absichert.

    Mein Script legt also stets nur neue Subdomains an.

    So heute wars dann soweit, Zertifikat ist abgelaufen und musste erneuert werden. Dumm dass ich nun manuell in jede einzelne Webseite musst und Key und CRT aktualisieren musst. Heute wars noch überschaubar. In 2 Jahren könnte das ein enormer Aufwand werden.

    Wie könnte ich denn den Prozess optimieren? Sprich dass ich beim Anlegen nicht mehr das Zertifikat mitgebe für die Felder, sondern dass mir ISPConfig z.B. nur einen Link zu /etc/ssl in den webseite/ssl Ordner legt?
    Habs schon versucht, dass ich im ISPConfig Key, CRT und Bundle lösche. Wollte dann per Script die Verlinkung machen aber dummerweise wirft mir ISPConfig dann auch aus dem VHost den *:443 Teil komplett raus.
    Auch wenn ich in ISPConfig Werte z.B. "test" in die Felder Key, CRT und Bundle schreibe, speichert er mir zwar diese aber weiterhin habe ich keinen *443 im VHost.
    Den Teil erhalte ich erst wieder, wenn ich vollwertige Zertifiakte eintrage. Vermutlich ist das ne Absicherung von ISPConfig, da wohl Apache mit einem fehlerhaften Zertifikat nicht mehr starten würde? Ich habs mit gleichem Ergebnis auch mit den Start und Endzeilen ---- Start ----- etc. versucht.

    Mir fehlt aktuell noch der Ansatz zum Ziel zu kommen?

    LG
     
  2. Till

    Till Administrator

    Das geht auch automatisch, einfach sql query nehmen und in allen web_domain records ersetzen, danach globaler resync lauf.
     
  3. shadowcast

    shadowcast Member

    Hi Till,
    eh und wie sieht das dann in etwas aus? Vor allem der globale Resync?
    Bin grad im Bahnhofsmodus.
    LG
     
  4. Till

    Till Administrator

    Also erstmal müsstest Du eine sql query bauen um die Daten in der master db zu aktualisieren, so in der art:

    update web_domain set ssl_cert = 'ajhagdjhasgf', ssl_action = 'save' where ......

    und dann loggst Du Dich in ISPConfig ein, gehst zu Einstellungen > Resync, wählst webseiten und klickst auf start. Unter Umständen solltest Du den apache syntax check unter System > server config vorher deaktivieren, denn sonst startet er apache für jede seite neu, das kann bei vielen websites etwas dauern :)
     

Diese Seite empfehlen