Sanal Sunucu'ya Kurulum
Apinizer sanal sunucuda (Linux VM) standalone paketler olarak kurulur. Her paket gömülü OpenJDK 25 çalıştırma ortamını içerir — host'ta Java yüklü olması gerekmez. Hassas yapılandırmalar (MongoDB bağlantı URI'si, şifreler vb.) Jasypt master key ile yerinde şifrelenir. JVM ciphertext'i hiçbir zaman görmez, master key host dosya sisteminden çıkmaz. Bu yöntem finans ve regüle edilen ortamlar için ideal bir security posture sunar.
Installer'lar sudo yetkisi gerektirir ancak interaktif root login'e ihtiyaç yoktur. Bu özellik, root SSH'nin kapalı olduğu sıkılaştırılmış ortamlarla (finans ve regüle sektörlerde yaygın) uyumludur.
Kurulum Akışı
Apinizer standalone kurulumu şu sıra izlenir:
- MongoDB bağlantı hazırlığı (henüz kuruluma başlamadan önce)
- API Manager kurulumu (yönetim konsolu)
- Gateway kurulumu (API trafik işleme — zorunlu)
- Manager UI'da Gateway'i Environment olarak tanımlama
- Opsiyonel: Cache, Integration, API Portal kurulumları
Linux x86-64 (glibc), sudo yetkisi, openssl/systemd/tar, erişilebilir MongoDB
Cache (Hazelcast), Integration (Quartz), API Portal (son kullanıcı portalı)
Genel Gereksinimler
Tüm Apinizer modülleri (API Manager, Gateway, Cache, Integration, API Portal) aşağıdaki ortam koşullarını gerektirir:
- Linux işletim sistemi x86-64 mimarisi, glibc tabanlı: Ubuntu 20.04+, RHEL/Rocky/Alma 8+, Debian 11+, Oracle Linux 8+
- CPU: En az 2 çekirdek (x86-64-v3 seviyesi)
- RAM: En az 2 GB; üretim ortamında 4 GB ve üzeri önerilir
- Disk alanı:
/optaltında her modül için ~1 GB; log dizinleri için ek alan - Ağ: MongoDB'ye ve modüller arası bağlantı; portal varsa istemcilerden erişim
- Sudo yetkisi: root login gerekmez, sudo hakkı yeterlidir
- Java: Gerekmez (paketlerde OpenJDK 25 gömülü)
- Standart araçlar:
openssl,systemd,tar,curl(genellikle önceden kurulu)
MongoDB kurulumu ve Elasticsearch (opsiyonel, durumsal günlük depolama için) yapılandırması bu belgede kapsam dışındadır. Apinizer kurulumuna başlamadan önce MongoDB replica set'ini erişilebilir duruma getirin.
Elasticsearch trafik günlüklerinin uzun vadeli depolanması için opsiyoneldir. Elasticsearch kurulması Apinizer'ın temel işlevi için gerekli değildir ancak analitik ve audit sorgulamaları için son derece faydalıdır.
API Manager Kurulumu
Apinizer Yönetim Konsolu (API Manager) Apinizer'ın kalbidir. Operatörler, API yöneticileri ve yöneticiler bu konsol aracılığıyla API'leri tanımlar, gateway'leri yönetir, politikaları uygular ve trafiği izler. Her sanal sunucu kurulumunun tek bir API Manager örneği olmalıdır.
1. İndir
Son Apinizer API Manager paketini packages.apinizer.com adresinden indirin:
VERSION=2026.04.2
curl -fSLO "https://packages.apinizer.com/apinizer-packages/apimanager/${VERSION}/apinizer-apimanager-${VERSION}-linux-x64.tar.gz"
curl -fSLO "https://packages.apinizer.com/apinizer-packages/apimanager/${VERSION}/checksums.sha256"
sha256sum -c checksums.sha256
2. Aç
Arşivi /opt dizinine açın:
sudo mkdir -p /opt
sudo tar -xzf apinizer-apimanager-${VERSION}-linux-x64.tar.gz -C /opt
sudo mv /opt/apinizer-apimanager-${VERSION} /opt/apinizer-manager
Paket yapısı aşağıdaki gibi olur:
/opt/apinizer-manager/
├── bin/ # start, stop, install, encrypt betikleri ve systemd unit
├── conf/ # application.env (master.key installer tarafından üretilir)
├── lib/ # Spring Boot fat jar + lib/jasypt/ helper jar
├── runtime/ # Gömülü OpenJDK 25 (Temurin)
└── logs/ # Runtime günlükleri (ilk başlangıçta oluşturulur)
3. Yapılandır
conf/application.env dosyasını edit edin ve zorunlu parametreleri sağlayın:
sudo vi /opt/apinizer-manager/conf/application.env
| Anahtar | Açıklama |
|---|---|
SPRING_DATA_MONGODB_URI | MongoDB bağlantı dizesi (örn. mongodb://user:pass@host:25080/?replicaSet=rs0&authSource=admin) |
SPRING_DATA_MONGODB_DATABASE | Veritabanı adı (örn. apinizer) |
Dosya aynı zamanda opsiyonel bölümler içerir: SSL ayarları, server port, JVM tuning parametreleri, günlük yolu. Şu an plaintext değerlerle bırakabilirsiniz.
Bu aşamada plaintext değerler kabul edilir. Servisi henüz başlatmayın. Bir sonraki adım hassas değerleri şifreler.
4. Installer'ı Çalıştır
Installer betiği apinizer sistem kullanıcısını oluşturur, dosya izinlerini ayarlar, conf/master.key içinde rastgele bir Jasypt master key üretir ve systemd servisini kaydeder:
sudo /opt/apinizer-manager/bin/apimanager-install.sh
Root erişimi olmayan bir operatöre yalnızca installer çalıştırma hakkı vermek için sudoers girişi ekleyin:
apinizer-admin ALL=(root) NOPASSWD: /opt/apinizer-manager/bin/apimanager-install.sh
Kurulumdan sonra master key apinizer:apinizer sahipliğinde, izni 400 (sadece okunur) ile mevcuttur — yalnızca servis kullanıcısı okuyabilir.
5. Hassas Değerleri Şifrele
Encrypt yardımcı betiğini argümansız çalıştırarak standart alanları yerinde şifreleyin. Zaten şifreli (veya boş) değerler atlanır; env dosyasının yanına timestamp'li bir backup yazılır:
sudo -u apinizer /opt/apinizer-manager/bin/apimanager-encrypt.sh
Şifrelenen alanlar:
SPRING_DATA_MONGODB_URISPRING_DATA_MONGODB_DATABASE
Şifreleme sonrasında env dosyası şöyle görünür (bash source parantezlere takılmasın diye çift tırnak ile):
SPRING_DATA_MONGODB_URI="ENC(eXq1J9z...kTu4=)"
SPRING_DATA_MONGODB_DATABASE="ENC(zMv3K7p...lQw9=)"
6. Servisi Başlat
sudo systemctl start apinizer-apimanager
sudo systemctl status apinizer-apimanager
sudo journalctl -u apinizer-apimanager -f
Servis kurulumda otomatik olarak enable edildiğinden sunucu yeniden başlatıldığında da otomatik başlar.
7. Doğrula
API Manager'ın yapılandırılmış portta yanıt verdiğini doğrulayın (varsayılan 8080):
curl -fsS http://127.0.0.1:8080/management/health
Beklenen yanıt: 200 OK (sağlık detaylarını içeren yanıt; anonimler için sadece durum görünür).
Operasyon
sudo systemctl status apinizer-apimanager
sudo systemctl restart apinizer-apimanager
sudo systemctl stop apinizer-apimanager
sudo journalctl -u apinizer-apimanager -f
systemd olmadan manuel kontrol:
sudo -u apinizer /opt/apinizer-manager/bin/apimanager-start.sh # arka planda
sudo -u apinizer /opt/apinizer-manager/bin/apimanager-start.sh -f # ön planda (debug)
sudo -u apinizer /opt/apinizer-manager/bin/apimanager-stop.sh
Güvenlik Modeli
apinizer,/sbin/nologinile sistem hesabı olup interaktif shell'i yoktur.conf/master.keyizni400,apinizersahipli. Yalnızca o kullanıcı (ve root) okuyabilir.conf/application.envizni600. ENC(...) değerleri boot anındabin/apimanager-start.shtarafından decrypt edilir ve JVM'e açık metin olarak export edilir. JVM ciphertext'i asla görmez; master key host dosya sisteminden ayrılmaz.- systemd unit hardening uygulanır:
NoNewPrivileges,PrivateTmp,ProtectSystem=strict,ProtectHome,ReadWritePaths=…/logs. Uygulama yalnızcalogs/altına yazabilir.
conf/master.key'i secret vault'unuza yedekleyin. Master key kaybedilirse tüm ENC(...) değerleri kalıcı olarak kurtarılamaz ve plaintext olarak yeniden girilmeli, sonra yeni bir key ile yeniden şifrelenmesi gerekir.
API Manager kurulumunda karşılaşılabilecek sorunlar için Sorun Giderme sayfasının "Sanal Sunucu" sekmesine bakın.
Bu modülün yükseltme ve kaldırma adımları için sırasıyla Sürüm Yükseltme ve Kaldırma sayfalarına bakın.