İçeriğe atla
OnionZero
DURUM: %100 AIR-GAPPED · ÇEKİRDEK BÜTÜN Teknik Brifing
OnionZero
DURUM: %100 AIR-GAPPED · ÇEKİRDEK BÜTÜN
Teknik Brifing
TR EN

RUNTIME İNDİRME

ozguard eklentisini kurun, şifreli ürününüzü çalıştırın

ozguard, OZP1 ile şifrelenmiş uygulamaları sunucunuzda çalıştıran küçük ve yerleşik bir PHP eklentisidir. Aşağıdaki matristen PHP sürümünüze uyan derlemeyi seçin, sağlamasını doğrulayın, php.ini'ye iki satır ekleyin — hepsi bu.

1 · Sunucunuz için doğru derlemeyi bulun

Hedef sunucuda üç kısa komut, matriste hangi hücreyi indireceğinizi kesin olarak söyler.

  1. PHP sürümü

    php -v çıktısındaki ana.ara sürümü not edin (örn. 8.3). Aşağıdaki matriste PHP 8.0’dan 8.5’e her sürüm için bir satır var.

    terminal
    php -v
  2. Thread safety (NTS mi TS mi)

    Satırda "Thread Safety => enabled" yazıyorsa TS, "disabled" yazıyorsa NTS derlemesini indirin. Tek satırlık komut sonucu doğrudan basar.

    terminal
    php -i | grep "Thread Safety"
    
    # veya kısaca:
    php -r "echo PHP_ZTS ? 'TS (ZTS)' : 'NTS', PHP_EOL;"
  3. Mimari x64 olmalı

    ozguard yalnızca 64 bit (x64) PHP için yayımlanır. Komut x64 basmalı; 32 bit (x86) PHP desteklenmez.

    terminal
    php -r "echo PHP_INT_SIZE === 8 ? 'x64' : 'x86', PHP_EOL;"

2 · Uyan derlemeyi indirin

Tüm derlemeler OnionZero API’sinden yayımlanmış SHA-256 sağlamasıyla sunulur. İndirdikten sonra sağlamayı karşılaştırın — eşleşmeyen dosyayı asla çalıştırmayın.

PHP Windows · NTS Windows · TS (ZTS) Linux · NTS Linux · TS (ZTS)
8.0
ozguard-win-x64-php80-nts.dll
4e416c754eebdb…
ozguard-win-x64-php80-ts.dll
aa0a6b35eb89a1…
— —
8.1
ozguard-win-x64-php81-nts.dll
71adcbbd34240e…
ozguard-win-x64-php81-ts.dll
5ce255139dfd4b…
ozguard-linux-x64-php81-nts.so
6962631cf103b9…
ozguard-linux-x64-php81-ts.so
c0d0b8d5c8e6c9…
8.2
ozguard-win-x64-php82-nts.dll
18641d0ecc4dc3…
ozguard-win-x64-php82-ts.dll
0171c71d70adfc…
ozguard-linux-x64-php82-nts.so
1689ee4b5aa314…
ozguard-linux-x64-php82-ts.so
12505113f187ef…
8.3
ozguard-win-x64-php83-nts.dll
432ca164321420…
ozguard-win-x64-php83-ts.dll
3388b0b2bc7f78…
ozguard-linux-x64-php83-nts.so
92aa979bee2921…
ozguard-linux-x64-php83-ts.so
bfdfcd60351078…
8.4
ozguard-win-x64-php84-nts.dll
5ddbc6b0240b47…
ozguard-win-x64-php84-ts.dll
52432d0aba2e19…
ozguard-linux-x64-php84-nts.so
b23c058b312dda…
ozguard-linux-x64-php84-ts.so
a41402fe20281f…
8.5
ozguard-win-x64-php85-nts.dll
f0b135f691f332…
ozguard-win-x64-php85-ts.dll
dd4aa6b3a648cf…
ozguard-linux-x64-php85-nts.so
411df5f4fb9763…
ozguard-linux-x64-php85-ts.so
04c78f464ea1a1…

Windows derlemeleri PHP 8.0–8.5 için hem NTS hem TS olarak var; Linux derlemeleri PHP 8.1–8.5 için hem NTS hem TS (ZTS) olarak var — PHP’nize uyanı seçin (php -i → “Thread Safety”).

Eski (legacy) indirme uçları

İlk tek-derleme uçları mevcut entegrasyonlar için açık kalıyor. Yukarıdaki PHP 8.3 NTS satırlarıyla aynı dosyaları sunarlar.

ozguard-win-x64-php83.dll
432ca164321420…
ozguard-linux-x64-php83.so
92aa979bee2921…

3 · Kurun ve etkinleştirin

İki adım: dosyayı PHP eklenti dizinine bırakın, ardından php.ini’den referans verin. Satıcı public key derleme zamanında eklentiye gömülüdür — anahtar satırı gerekmez.

Windows (AppServ, IIS, Apache)

  1. DLL’i kopyalayın

    İndirdiğiniz ozguard.dll dosyasını PHP eklenti dizinine koyun (örn. C:\AppServ\php8\ext\).

  2. php.ini’yi düzenleyin

    DLL’e tam yoluyla referans verin. Satıcı public key eklentiye önceden gömülüdür — oz_request_file() ve aktivasyon akışları hiçbir anahtar ayarı olmadan çalışır.

    php.ini
    ; php.ini — ozguard eklentisi (müşteri sunucusu)
    extension = "C:\AppServ\php8\ext\ozguard.dll"
    
    ; Satıcı açık anahtarı derleme zamanında eklentiye gömülüdür —
    ; php.ini'de anahtar ayarı GEREKMEZ.
    
    ; İsteğe bağlı: panelde görünen uygulama kimliği
    ozguard.app_name = "my-application"
    ozguard.app_version = "2.1.0"
  3. Web sunucusunu yeniden başlatın

    Modülün yüklenmesi için Apache/IIS’i (veya AppServ servislerini) yeniden başlatın.

Linux (PHP-FPM / Apache)

  1. .so dosyasını eklenti dizinine kopyalayın

    php-config, kurulumunuza ait doğru dizini bildirir.

    terminal
    sudo cp ozguard.so "$(php-config --extension-dir)/"
  2. Modülü etkinleştirin

    Debian/Ubuntu düzeni (mods-available + phpenmod); diğer dağıtımlarda extension satırını doğrudan php.ini’ye ekleyin. Anahtar ayarı yok — satıcı public key .so dosyasına gömülüdür.

    terminal
    # Debian/Ubuntu:
    echo 'extension = ozguard.so' | sudo tee /etc/php/8.3/mods-available/ozguard.ini
    sudo phpenmod ozguard
  3. PHP’yi yeniden başlatın

    Eklentinin web SAPI’si tarafından yüklenmesi için FPM’i (veya Apache’yi) yeniden başlatın.

    terminal
    sudo systemctl restart php8.3-fpm   # veya: sudo systemctl restart apache2

4 · Kurulumu doğrulayın

İki kontrol: dosyanın kendisi (sağlama) ve yüklü modül listesi.

Sağlamayı karşılaştırın

Basılan özet, matristeki hücrenizin SHA-256 değeriyle birebir eşleşmeli. Eşleşmiyorsa dosyayı silip yeniden indirin.

Windows
certutil -hashfile C:\AppServ\php8\ext\ozguard.dll SHA256
Linux
sha256sum "$(php-config --extension-dir)/ozguard.so"

Modül listede görünmeli

Windows
php -m | findstr ozguard
Linux
php -m | grep ozguard
  • php -m çıktısında ozguard görünüyorsa eklenti CLI’da yüklü demektir.
  • phpinfo() sayfasında ozguard bölümü açılıyorsa web SAPI’si de yüklüyor demektir (unutmayın: web ve CLI farklı php.ini okuyabilir).
  • phpinfo sayfasındaki OZP1 key fingerprint satırı, satıcı teslimatınızdaki parmak iziyle aynı olmalı.

Sorun giderme

PHP Startup: ozguard: Unable to initialize module — "these options need to match"

Klasik NTS/TS karışıklığı. Mesajın sonunda iki derleme kimliği görünür: "Module compiled with build ID=API20230831,NTS,VS16" ile "PHP compiled with …,TS,VS16" gibi. PHP’niz thread-safe ama siz NTS derlemeyi indirmişsiniz (veya tersi). 1. adıma dönüp php -i | grep "Thread Safety" ile doğrulayın ve aynı PHP sürümünün diğer hücresini indirin.

Warning: PHP Startup: ozguard: Unable to initialize module — API numaraları farklı (örn. API20220829 / API20230831)

Modül başka bir PHP sürümü için derlenmiş: ilk sayı modülün PHP API’si (8.2 → 20220829), ikincisi sunucunuzun API’si (8.3 → 20230831). php -v çıktısıyla birebir eşleşen satırı indirin; eklentiler ara sürümler arasında yüklenmez.

Unable to load dynamic library 'ozguard' / 'ozguard.so' — No such file or directory

PHP, php.ini’nin gösterdiği yerde dosyayı bulamıyor. extension_dir’i php --ini ve php -i | grep extension_dir ile kontrol edin; Debian/Ubuntu’da mods-available + phpenmod düzenini, Windows’ta tam mutlak yolu tercih edin.

İndirme sonrası SHA-256 sağlaması eşleşmiyor

Dosyayı hemen silin ve HTTPS üzerinden yeniden indirin. Sağlaması matrisle uyuşmayan modülü yüklemeyin — aktarımda bozulmuş veya değiştirilmiştir.

php -m ozguard’ı listeliyor ama uygulama hâlâ "eklenti eksik" diyor

CLI ve web SAPI’si (FPM/Apache/IIS) çoğu zaman farklı php.ini okur ve web sunucusu henüz yeniden başlatılmamıştır. FPM/Apache’yi yeniden başlatın, ardından bir phpinfo() sayfasında ozguard bölümünün web SAPI’si için de göründüğünü doğrulayın.

Derleme mi eksik, bir adımda mı takıldınız?

php -v çıktınızı ve işletim sisteminizi yazın — istek üzerine ek derleme yayımlıyor, kurulumda yardımcı oluyoruz.

Destek ile iletişim