Şimdi yükleniyor

Softaculous ile cPanel’e Özel Script Ekleme: Detaylı Rehber

Softaculous ile cPanel'e Özel Script Ekleme: Detaylı Rehber

Web hosting dünyasında, özellikle cPanel/WHM gibi popüler kontrol panellerini kullananlar için Softaculous, tek tıklamayla binlerce web uygulamasını kurmayı sağlayan vazgeçilmez bir araçtır. Ancak bazen standart uygulama yelpazesinin ötesine geçmek, kendi özel scriptlerinizi veya daha az bilinen uygulamaları Softaculous üzerinden dağıtmak isteyebilirsiniz. Bu rehber, Softaculous’un gücünü kullanarak kendi özel PHP tabanlı web uygulamanızı cPanel ortamına entegre etme sürecini adım adım açıklayacaktır. Bu sayede hem dağıtım süreçlerinizi otomatikleştirecek hem de kullanıcılarınıza veya kendinize özel çözümler sunabileceksiniz.

Softaculous Özel Script Entegrasyonunun Teknik Arka Planı

Softaculous, uygulamaları bir XML tanım dosyası ve bu uygulamaya ait sıkıştırılmış dosyalar aracılığıyla yönetir. Her uygulamanın kendine özgü bir install.xml dosyası bulunur. Bu dosya, uygulamanın adı, sürümü, lisansı, veritabanı gereksinimleri, kurulum dizinleri, yönetici bilgileri ve kurulum sonrası çalıştırılacak komutlar gibi tüm kritik bilgileri içerir. Softaculous bu XML dosyasını okuyarak kurulum arayüzünü oluşturur ve belirtilen adımları otomatik olarak gerçekleştirir.

Özel bir scripti entegre etmek için, Softaculous’un anlayacağı formatta bir paket oluşturmanız gerekir. Bu paket, scriptin tüm dosyalarını ve scriptin nasıl kurulacağını anlatan bir install.xml dosyasını içermelidir. Softaculous, bu paketi WHM veya cPanel yöneticisi arayüzü üzerinden sisteme dahil etmenize olanak tanır. Genellikle bu işlem, WHM’deki Softaculous Admin paneli üzerinden yapılır ve ardından script, tüm cPanel kullanıcıları için erişilebilir hale gelir.

Adım Adım Özel Script Paketleme ve Entegrasyon Rehberi

1. Özel Script Dosyalarınızı Hazırlayın

Öncelikle, Softaculous ile kurmak istediğiniz PHP tabanlı uygulamanızın tüm dosya ve klasörlerinin hazır olduğundan emin olun. Bu dosyalar, veritabanı bağlantı bilgileri gibi kurulum sırasında kullanıcıdan alınacak dinamik değerler için placeholder’lar içerebilir. Örneğin, veritabanı adı, kullanıcı adı, şifre gibi bilgiler için ###DB_NAME###, ###DB_USER###, ###DB_PASS### gibi özel etiketler kullanabilirsiniz. Softaculous, kurulum sırasında bu etiketleri gerçek değerlerle değiştirecektir.

2. install.xml Dosyasını Oluşturun

Bu dosya, Softaculous’un scriptinizi nasıl kuracağını anlatan ana konfigürasyon dosyasıdır. İşte temel bir yapı ve önemli etiketler:

Örnek install.xml Yapısı:

<?xml version="1.0" encoding="UTF-8"?>
<softaculous>
    <info>
        <name>Özel Uygulamam</name>
        <version>1.0.0</version>
        <release>1</release>
        <min_php>7.4</min_php>
        <max_php>8.2</max_php>
        <php_flags><![CDATA[memory_limit=256M
max_execution_time=300]]></php_flags>
        <license>MIT</license>
        <category>Custom</category>
        <description><![CDATA[Bu, Softaculous ile entegre edilmiş özel bir web uygulamasıdır.]]></description>
        <changelog><![CDATA[v1.0.0 - İlk Sürüm]]></changelog>
        <demo>https://www.example.com/demo/ozeluygulamam</demo>
        <support>https://www.example.com/support</support>
        <ratings>4.5</ratings>
    </info>
    <settings>
        <group>Veritabanı Ayarları</group>
        <input type="text" name="dbprefix" value="app_">
            <head>Veritabanı Tablo Öneki</head>
            <exp>Veritabanı tablo adları için bir önek girin.</exp>
        </input>
        <input type="text" name="admin_user" value="admin">
            <head>Yönetici Kullanıcı Adı</head>
            <exp>Yönetici paneli için kullanılacak kullanıcı adı.</exp>
        </input>
        <input type="password" name="admin_pass">
            <head>Yönetici Şifresi</head>
            <exp>Yönetici paneli için güçlü bir şifre girin.</exp>
        </input>
    </settings>
    <datadir>data</datadir>
    <files>
        <exclude>install.xml</exclude>
    </files>
    <db>
        <name>###DB_NAME###</name>
        <prefix>###DB_PREFIX###</prefix>
        <sql>install.sql</sql>
    </db>
    <cron>
        <command>php /home/###USER###/public_html/###PATH###/cron.php</command>
        <time>* * * * *</time>
    </cron>
    <scripts>
        <pre_install>pre_install.php</pre_install>
        <post_install>post_install.php</post_install>
    </scripts>
    <paths>
        <path type="data">data_path</path>
        <path type="uploads">uploads</path>
    </paths>
</softaculous>

Önemli install.xml Etiketleri:

  • <info>: Script hakkında genel bilgiler (ad, sürüm, PHP gereksinimleri, açıklama vb.).
  • <settings>: Kurulum sırasında kullanıcıdan alınacak bilgiler için giriş alanları tanımlar. name özelliği, Softaculous’un bu değeri script dosyalarınızda değiştirmek için kullanacağı anahtardır (örn. ###ADMIN_USER###).
  • <db>: Veritabanı ayarlarını ve veritabanı şemasını (install.sql) belirtir.
  • <files>: Kurulum sırasında hariç tutulacak dosyaları belirtir (örn. install.xml‘in kendisi).
  • <datadir>: Veri dizininin adını belirtir (genellikle web kök dizini dışında tutulması gereken hassas veriler için).
  • <cron>: Kurulum sonrası otomatik olarak eklenecek cron job’ları tanımlar.
  • <scripts>: Kurulum öncesi (pre_install.php) ve kurulum sonrası (post_install.php) çalıştırılacak özel PHP scriptlerini belirtir. Bu scriptler, dosya izinlerini ayarlama, yapılandırma dosyalarını sonlandırma gibi ek işlemler için kullanılabilir.

3. Scripti Paketleyin (ZIP Dosyası)

Tüm script dosyalarınızı (install.xml, install.sql, pre_install.php, post_install.php ve uygulamanızın diğer tüm dosyaları) tek bir ZIP dosyası içinde sıkıştırın. ZIP dosyasının kök dizininde install.xml dosyası bulunmalıdır. Örneğin, eğer scriptinizin adı “OzelUygulamam” ise, tüm dosyalarınızı ozeluygulamam.zip adında bir dosya içinde toplayın.

4. Paketi WHM/cPanel’e Yükleyin

Bu adım, sunucu yöneticisi (WHM) düzeyinde veya gelişmiş cPanel kullanıcısı olarak yapılabilir:

  • WHM Üzerinden (Önerilen Yöntem): WHM’ye giriş yapın. Sol menüden “Softaculous”u aratın ve “Softaculous – Instant Installs” seçeneğine tıklayın. Softaculous Admin panelinde, sol menüden “Custom Scripts” veya “Add Script” seçeneğini bulun. Buradan ZIP dosyanızı yükleyebilirsiniz. Yükleme tamamlandığında, scriptiniz Softaculous listesinde görünecektir.
  • cPanel Üzerinden (Daha Az Yaygın): Bazı hosting sağlayıcıları cPanel kullanıcılarına özel script yükleme yetkisi verebilir. Bu durumda, cPanel’e giriş yapın, Softaculous Apps Installer’a gidin. Genellikle “Custom Scripts” veya “Import” benzeri bir seçenek bulunur. Ancak bu, genellikle WHM seviyesinde kısıtlıdır.
  • Manuel Yükleme (Gelişmiş): ZIP dosyasını SSH veya FTP aracılığıyla sunucuya yükleyip Softaculous’un script dizinine (genellikle /usr/local/apps/softaculous/scripts/ altında) açabilirsiniz. Ancak bu yöntem, Softaculous veritabanını manuel olarak güncelleme gerektirebilir ve bu nedenle önerilmez. WHM paneli daha güvenli ve hatasız bir yöntem sunar.

5. Kurulumu Doğrulayın

Scriptinizi yükledikten sonra, bir cPanel hesabına giriş yapın ve Softaculous Apps Installer’ı açın. Özel scriptinizin kategori altında veya arama yaparak listelendiğini görmelisiniz. Kurulum işlemini test etmek için scripti kurmaya çalışın ve tüm ayarların doğru bir şekilde uygulandığından emin olun.

Olası Hata Çözümleri (Troubleshooting)

  • XML Yapısı Hataları: install.xml dosyasının geçerli bir XML formatında olduğundan emin olun. Etiketlerin doğru açılıp kapandığını, özel karakterlerin (&, <, >) doğru şekilde escape edildiğini (veya CDATA blokları içine alındığını) kontrol edin. XML doğrulayıcı araçlar kullanabilirsiniz.
  • Dosya İzinleri: Script dosyalarının ve klasörlerinin doğru dosya izinlerine sahip olduğundan emin olun (genellikle dosyalar için 644, klasörler için 755). post_install.php scriptinizde bu izinleri ayarlayabilirsiniz.
  • Veritabanı Bağlantısı Sorunları: install.sql dosyasının doğru SQL sorgularını içerdiğinden ve veritabanı adları/kullanıcı adları için placeholder’ların (###DB_NAME### vb.) doğru kullanıldığından emin olun.
  • PHP Sürüm Uyumsuzluğu: install.xml dosyasındaki <min_php> ve <max_php> etiketlerinin sunucudaki PHP sürümüyle uyumlu olduğundan emin olun.
  • Placeholder Değiştirme Sorunları: Eğer ###DB_NAME### gibi placeholder’lar script dosyalarınızda doğru şekilde değiştirilmiyorsa, Softaculous loglarını kontrol edin ve XML dosyasındaki <settings> etiketlerindeki name özelliklerinin scriptinizdeki placeholder’larla eşleştiğinden emin olun.

Güvenlik İpuçları

  • Giriş Doğrulama: Eğer özel scriptiniz kullanıcı girişi alıyorsa, tüm girişlerin sunucu tarafında sıkı bir şekilde doğrulanmasını ve sanitize edilmesini sağlayın. SQL enjeksiyonu, XSS gibi saldırılara karşı önlemler alın.
  • Dosya İzinleri: Yüklenen dosyaların ve hassas yapılandırma dosyalarının web sunucusu tarafından yazılabilir olmaması gereken yerlerde 644 veya 444 gibi kısıtlı izinler kullanın. Yalnızca yükleme dizinleri gibi gerekli yerlerde yazma izinleri (755 veya 775) verin.
  • Hassas Bilgileri Gizleme: Veritabanı şifreleri gibi hassas bilgileri doğrudan script dosyalarında tutmak yerine, kurulum sırasında Softaculous tarafından oluşturulan yapılandırma dosyalarında güvenli bir şekilde saklayın.
  • Güncelleme Mekanizması: Özel scriptiniz için bir güncelleme mekanizması düşünün. Softaculous, script güncellemelerini de XML dosyaları aracılığıyla yönetebilir. Bu, güvenlik açıklarını hızla kapatmanıza olanak tanır.
  • Softaculous ve WHM Güncel Tutma: Softaculous ve WHM/cPanel’inizi her zaman en son sürümlerinde tutarak bilinen güvenlik açıklarına karşı korunmuş olursunuz.

Performans Optimizasyonları

  • Hafif Script Tasarımı: Özel scriptinizi mümkün olduğunca hafif ve optimize edilmiş tutun. Gereksiz kütüphanelerden kaçının ve etkin kodlama pratiklerini uygulayın.
  • Veritabanı İndeksleme: Eğer scriptiniz bir veritabanı kullanıyorsa, sıkça sorgulanan sütunlara uygun indeksler ekleyerek veritabanı performansını artırın.
  • Önbellekleme (Caching): Sıkça erişilen veriler veya oluşturulan HTML çıktıları için önbellekleme mekanizmaları (örn. Redis, Memcached veya dosya tabanlı önbellekleme) kullanın.
  • PHP Optimizasyonları: Scriptinizin PHP versiyonunu en güncel ve performanslı olanı (örn. PHP 8.x) kullanmasını sağlayın ve install.xml içinde <php_flags> ile memory_limit, max_execution_time gibi ayarları optimize edin.
  • CDN Kullanımı: Eğer scriptiniz statik dosyalar (CSS, JS, resimler) içeriyorsa, bunları bir İçerik Dağıtım Ağı (CDN) üzerinden sunarak yükleme sürelerini kısaltabilirsiniz.

Softaculous ile kendi özel scriptlerinizi entegre etmek, sadece bir otomasyon aracı olmaktan öte, web hosting ortamınızda kişisel ve kurumsal ihtiyaçlara özel çözümler üretmenin kapılarını aralar. Bu yetenek, geliştiricilere ve sistem yöneticilerine, standart paketlerin ötesine geçerek özgün uygulamaları kolayca dağıtma ve yönetme esnekliği sunar. Doğru yapılandırma ve güvenlik pratikleriyle, bu özellikten maksimum verim alabilir, zaman ve kaynak tasarrufu sağlarken, aynı zamanda özel projelerinizin dağıtımını sorunsuz bir hale getirebilirsiniz. Bu detaylı rehberle artık Softaculous’un bu güçlü özelliğini kendi projelerinizde kullanmaya hazırsınız.

You May Have Missed