Zimbra letsencrypt SSL almak için shell script

Merhabalar yapığım araştırmalar sonucunda zimbra letsencrypt yüklemem baya zahmetli bir iş olduğunu ve uzun zaman aldığını deneyimledim. Acme.sh ile cloudflare domain barındırıyorum ve bunun için bir shell script dosyası hazırladım. Umarım sizlerinde işine yarar.

SHELL SCRIPT DOSYASI

#!/bin/bash    
domain="$1"
# Varsayılan domain değeri
    default_domain="mail.alanadi.net"

    # Eğer $1 boş ise, varsayılan değeri kullan
    if [ -z "$domain" ]; then
      domain="$default_domain"
    fi

    if [ -d "/root/.acme.sh/$domain" ]; then
      rm -rf "/root/.acme.sh/$domain"
    fi

    # İlk satır, bu scriptin bash shell kullanarak çalıştırılacağını belirtir.

    # Acme.sh, Let's Encrypt hizmetlerinden otomatik SSL sertifikaları almak için kullanılan bir araçtır.
    # --issue ve --dns parametreleri ile sertifikanın nasıl alınacağını belirtiyoruz.
    ./acme.sh --issue --dns dns_cf -d "$domain"

    # Sonraki satır, ilgili dizine geçmemizi sağlar.
    cd ~/.acme.sh/"$domain"

    # Bu satırda, bir sertifika fullchain.cer dosyasına eklenir.
    echo '-----BEGIN CERTIFICATE-----
    MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
    TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
    cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
    WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
    ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
    MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
    h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
    0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
    A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
    T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
    B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
    B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
    KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
    OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
    jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
    qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
    rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
    HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
    hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
    ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
    3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
    NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
    ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
    TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
    jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
    oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
    4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
    mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
    emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
    -----END CERTIFICATE-----' >> fullchain.cer


    # Daha sonra, belirli anahtar ve sertifika dosyalarını /tmp dizinine kopyalarız.
    cp "$domain.key" "$domain.cer" fullchain.cer /tmp

    # Tmp klasöründeki dosyalara yazma izini verme
    chmod 666 "/tmp/$domain.key" "/tmp/$domain.cer" /tmp/fullchain.cer

    # Zimbra bir e-posta sunucusudur ve bu bölümde, 'zimbra' kullanıcısı olarak oturum açıp
    # zmcertmgr aracını kullanarak sertifikaları doğrulayıp dağıtıyoruz.
    su - zimbra -c "
    cd /tmp || exit
    /opt/zimbra/bin/zmcertmgr verifycrt comm $domain.key $domain.cer fullchain.cer
    cp $domain.key /opt/zimbra/ssl/zimbra/commercial/commercial.key
    /opt/zimbra/bin/zmcertmgr deploycrt comm $domain.cer fullchain.cer

    # Son olarak, Zimbra hizmetini yeniden başlatıyoruz.
    zmcontrol restart
    "
2 Beğeni