Bu sistem, Protein panelinden bir domain için Apache vhost (site yayını) oluşturmayı, silmeyi ve SSL sertifikası almayı sağlar. Aşağıdaki adımlar yeni bir sunucuya kurulum içindir.
Not: Aşağıdaki komutlarda geçen
/home/semihakartuna/developerkısmı [WORKCUBE_PATH]'i örneğidir — kendi sunucundaki gerçek Workcube kök dizinini yaz.
ACF için Kurulum
1. Çalıştıran kullanıcıyı bul
ps aux | grep -i coldfusionÇıktının en solundaki kelime (genelde nobody) senin KULLANICI'n.
2. Script'lere çalıştırma izni ver
chmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/publish-vhost.shchmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/unpublish-vhost.shchmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/certbot-ssl.sh
([WORKCUBE_PATH] örn: /home/semihakartuna/developer)
3. Sudo izin dosyasını oluştur
/etc/sudoers.d/ dizinine protein-perms adında yeni bir dosya oluştur (VS Code SSH ile bağlıysan sağ tık → New File yeterli) ve içine şunu ekle:
nobody ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/publish-vhost.sh
nobody ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/unpublish-vhost.sh
nobody ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/certbot-ssl.sh
([WORKCUBE_PATH] yerine gerçek yolu, KULLANICI farklıysa nobody yerine onu yaz.)
Önemli: Dosyanın son satırdan sonra bir boş satır/newline ile bitmesi gerekir (editörde dosyanın en altında bir kere Enter'a basıp öyle kaydet), yoksa syntax error alırsın.
Kaydettikten sonra terminalden izinleri ve sahipliği ayarla:
chmod 440 /etc/sudoers.d/protein-permschown root:root /etc/sudoers.d/protein-permsvisudo -cKurulum tamamlandı — test için arayüzü kullan.
Lucee için Kurulum
1. Çalıştıran kullanıcıyı bul
ps aux | grep -i luceeps aux | grep -i tomcatÇıktının en solundaki kelime (genelde tomcat, lucee veya www-data) senin KULLANICI'n.
2. Script'lere çalıştırma izni ver
chmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/publish-vhost.shchmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/unpublish-vhost.shchmod +x [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/certbot-ssl.sh
([WORKCUBE_PATH] örn: /home/semihakartuna/developer)
3. Sudo izin dosyasını oluştur
/etc/sudoers.d/ dizinine protein-perms adında yeni bir dosya oluştur (VS Code SSH ile bağlıysan sağ tık → New File yeterli) ve içine şunu ekle:
KULLANICI ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/publish-vhost.sh
KULLANICI ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/unpublish-vhost.sh
KULLANICI ALL=(root) NOPASSWD: [WORKCUBE_PATH]/AddOns/Yazilimsa/Protein/cfc/certbot-ssl.sh
([WORKCUBE_PATH] ve KULLANICI yerine 1. adımda bulduğun gerçek değerleri yaz.)
örn
nobody ALL=(root) NOPASSWD: /home/semihakartuna/developer/AddOns/Yazilimsa/Protein/cfc/publish-vhost.sh
nobody ALL=(root) NOPASSWD: /home/semihakartuna/developer/AddOns/Yazilimsa/Protein/cfc/unpublish-vhost.sh
nobody ALL=(root) NOPASSWD: /home/semihakartuna/developer/AddOns/Yazilimsa/Protein/cfc/certbot-ssl.sh
Önemli: Dosyanın son satırdan sonra bir boş satır/newline ile bitmesi gerekir (editörde dosyanın en altında bir kere Enter'a basıp öyle kaydet), yoksa syntax error alırsın.
Kaydettikten sonra terminalden izinleri ve sahipliği ayarla:
chmod 440 /etc/sudoers.d/protein-perms
chown root:root /etc/sudoers.d/protein-permsvisudo -cKurulum tamamlandı — test için arayüzü kullan.
Sorun Giderme (her ikisi için ortak)
Hata | Sebep | Çözüm |
|---|---|---|
a password is required | Script sudoers'a eklenmemiş | 3. adımı tekrar kontrol et, visudo -c çalıştır |
command not found | Script bulunamıyor / çalıştırılabilir değil | chmod +x çalıştır, ls -la ile path'i doğrula |
#!/bin/bash: not found | Dosyada UTF-8 BOM var (Windows'ta düzenlenmiş) | dosyayı bomsuz olarak sadece uft8 kaydet |
syntax error (sudoers) | Satır sonunda newline eksik / satır bölünmüş | cat -A dosya ile kontrol et, dosyanın sonunda boş satır olduğundan emin ol |
Job for apache2.service failed (NAMESPACE) | systemd state bozulmuş | systemctl daemon-reload && systemctl restart apache2 |
CFC "method bulunamadı" hatası | Component cache eski hali tutuyor | touch ApacheVhostManager.cfc, olmazsa Lucee/ACF servisini restart et |
Notlar
nobody/KULLANICI'ya verilen sudo yetkisi sadece bu 3 script ile sınırlı — genelcp/rm/a2ensitegibi komutlara yetki verilmemiştir, güvenlik gereği.- Sunucu değişirse veya dizin taşınırsa, sudoers dosyasındaki path'i güncellemeyi unutma — path sabit yazılıdır, otomatik güncellenmez.