Skip to content

mustafaomereser/zFramework-SSL-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buy Me A Coffee

⚡ zFramework SSL Manager

PHP 8+ destekli, otomatik ACME SSL yönetim sistemi
cPanel API entegrasyonu ile kolay SSL kurulumu 🚀


🧠 Hakkında

zFramework SSL Manager, PHP 8+ sürümleriyle uyumlu, domainlerinizi yönetip otomatik olarak Let's Encrypt (ACME) üzerinden SSL sertifikalarını oluşturup yüklemenizi sağlayan bir araçtır.
Paylaşımlı hostinglerde veya cPanel kullanan sunucularda, tek bir komutla kurulum yapabilirsiniz.


🚀 Özellikler

  • ⚙️ PHP 8+ tam uyumlu mimari
  • 🔐 ACME Challenge (HTTP-01) desteği
  • 🌍 Domain ekleme ve yönetimi
  • 📁 cPanel API ile otomatik public_dir tanıma
  • 🧩 cPanel API ile otomatik sertifika yükleme
  • 🖥 Terminal komutlarıyla tam kontrol: db migrate, run
  • 🪄 zFramework CLI tabanlı sade kullanım

⚡ Hızlı Başlangıç

1️⃣ Gereksinimler

  • PHP 8.0 veya üzeri
  • cURL ve OpenSSL PHP uzantıları
  • MySQL veritabanı
  • cPanel API erişimi (SSL yükleme ve ACME Challenge için)

2️⃣ Kurulum Adımları

🔸 Gereksinimleri yükle

composer install

🔸 Veritabanı oluşturma

Öncelikle aşağıdaki isimde bir veritabanı oluşturun:

CREATE DATABASE ssl_manager;

🔸 Migrasyonları çalıştırın

php terminal db migrate

🔸 Projeyi başlatın

php terminal run

Artık sistem çalışıyor ve domain eklemeye hazırsınız 🎉


⚙️ Yapılandırma

App/Helpers/API.php dosyasında AutoSSL sınıfı yapılandırmasını kendi sisteminize göre güncelleyin. Örnek Windows/XAMPP config satırı:

// Windows örneği (XAMPP)
self::$autoSSL = new AutoSSL(AutoSSL::PROD, 'D:\xampp\apache\conf\openssl.cnf');

Linux/Mac veya farklı bir OpenSSL konumu kullanıyorsanız yolu uygun şekilde değiştirin, örneğin:

// Linux örneği
self::$autoSSL = new AutoSSL(AutoSSL::PROD, '/etc/ssl/openssl.cnf');

🧩 Önemli Notlar:

  • PROD gerçek (production) sertifika istemcisi içindir — canlı siteler için kullanın.
  • STAGING test/deneme amaçlıdır ve Let's Encrypt'teki oran limitlerine takılmamak ya da test sertifikaları almak için tercih edilmelidir.
  • openssl.cnf yolunu kendi sisteminizdeki OpenSSL konumuna göre kesinlikle güncelleyin.
  • cPanel API bilgileri (username, token) ve diğer hassas değerleri çevresel değişkenlerde veya güvenli bir config dosyasında saklayın — asla doğrudan sürüm kontrolüne göndermeyin. (Tercihen Local bir proje olarak çalıştırın.)
  • PROD ve STAGING arasında geçiş yaparken zFramework/Caches/AutoSSL dosyasını tamamen kaldırın.

🌐 Domain Ekleme

Yeni bir domain eklerken sizden şu bilgiler istenir:

  • Domain adı: (örn. example.com)
  • Public Directory: ACME doğrulama dosyalarının oluşturulacağı dizin
    (örn. /home/user/public_html veya D:\xampp\htdocs)

Ardından sistem otomatik olarak:

  1. ACME challenge dosyalarını oluşturur,
  2. cPanel API üzerinden domaininize yükler,
  3. Sertifikayı üretip otomatik olarak kurar.

💡 Kullanım Akışı Örneği

# Veritabanını migrate et
php terminal db migrate

# Projeyi başlat
php terminal run

# Domain ekleme sırasında girilecek örnek:
# Domain: example.com
# Public Dir: /home/example/public_html

Sistem challenge’ı oluşturur, doğrulama tamamlanır ve sertifika kurulur ✅


🔒 Güvenlik Notları

  • cPanel API kimlik bilgilerinizi güvenli bir ortamda saklayın.
  • ACME doğrulama dosyalarına yalnızca doğrulama sürecinde dış erişim izni verin.
  • Herhangi bir sorun durumunda storage/logs dizinindeki kayıtları inceleyin.
  • Test ederken STAGING modunu kullanarak rate limit’lere takılmayı önleyin.

🧰 Geliştirici Notları

Komut Açıklama
php terminal db migrate Veritabanı tablolarını oluşturur
php terminal run Projeyi başlatır

🧾 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.
Özgürce kullanabilir, değiştirebilir ve geliştirebilirsiniz.


Made with ❤️ by Mustafa Ömer Eser
zFramework • Simple, Powerful, and Clean PHP Framework