Ana içeriğe geç

Uygulamalar#


SolusVM 2'de, sanal sunucuları önceden yüklenmiş uygulamalarla oluşturarak zaman ve kurulum çabalarınızdan tasarruf edebilirsiniz. Uygulamalar, sunucu oluşturulduktan hemen sonra veya kısa süre sonra projelerinizi çalışır duruma getirmenize yardımcı olur.

Birçok uygulama SolusVM 2'de hemen kullanılabilir şekilde bulunur, örneğin, Plesk üzerinde WordPress, MariaDB, NextCloud ve diğerleri. Ayrıca kendi özel uygulamalarınızı da ekleyebilirsiniz.

Önceden yüklenmiş lisanslara sahip uygulamalarla sanal sunucuları dağıtabilirsiniz. Şu anda, yalnızca cPanel ve Plesk için lisanslama yapılandırması yapabilirsiniz. Bunu yaparsanız, kullanıcılar özel cPanel veya Plesk ile sunucu oluşturduklarında, cPanel veya Plesk lisansı satın almak ve kurmak zorunda kalmazlar.

Özel Uygulama Ekleme#

Listeye özel uygulamalar ekleyebilirsiniz. Ekledikten sonra, özel uygulamalarınız, sunucu oluşturduğunuzda ve kullanıcılarınızın sunucu oluşturduğunda yükleme için kullanılabilir hale gelecektir.

Bir özel uygulama eklemek için:

  1. Uygulama görüntüsünü hazırlayın. Bu, OS görüntüsüne dayanır ve OS satıcılarından alabilirsiniz (örneğin, Ubuntu ve CentOS). OS görüntüsü, uygulama önceden yüklenmiş olarak gelebilir veya uygulama bir sunucu oluşturulduğunda yüklenebilir.

    Not

    Eğer önceden yüklenmiş bir lisansla özel bir uygulama ekliyorsanız, bu adımı atlayın ve 2. adıma geçin. Önceden yüklenmiş lisanslara sahip özel uygulamalar, zaten hazır olan OS görüntülerini kullanır.

  2. Görüntüler > Uygulamalar bölümüne gidin ve ardından Uygulama Ekle düğmesine tıklayın.

  3. Uygulamaya tanınabilir bir isim verin.
  4. Uygulama simgesini seçin. Eklemek istediğiniz uygulamanın simgesi listede yoksa, uygulamanın türünü gösteren gri simgelerden birini seçin (örneğin, "Sunucu", "Alışveriş Sepeti" veya "Depolama").
  5. cloud-init sürümünü seçin. Çoğu modern OS (örneğin, CentOS Stream veya Ubuntu 22), cloud-init v2 sürümünü destekler.

    Eğer önceden yüklenmiş bir lisansla özel bir cPanel uygulaması ekliyorsanız, v2-centos'u belirtin. Eğer önceden yüklenmiş bir lisansla özel bir Plesk uygulaması ekliyorsanız, cloud-init sürümü Plesk'in çalışacağı OS'ye bağlıdır: CentOS için v2-centos, Ubuntu için v2.

  6. Uygulama görüntüsünün URL'sini sağlayın.

    Eğer önceden yüklenmiş bir lisansla özel bir cPanel uygulaması ekliyorsanız, aşağıdaki URL'yi belirtin:

    https://images.prod.solus.io/solus-io-centos-7-cpanel.qcow2
    
    Eğer önceden yüklenmiş bir lisansla özel bir Plesk uygulaması ekliyorsanız, URL, Plesk'in çalışacağı OS'ye bağlıdır:

    • CentOS için Plesk:

      https://autoinstall.plesk.com/images/plesk-centos-7-latest.qcow2
      

    • Ubuntu için Plesk:

      https://autoinstall.plesk.com/images/plesk-ubuntu-22-latest.qcow2
      

  7. Eğer önceden yüklenmiş bir lisansla özel bir cPanel veya Plesk uygulaması ekliyorsanız, önceden oluşturduğunuz lisans entegrasyonunun adını seçin (örneğin, "cPanel Pro" veya "Plesk Web Admin Edition").

  8. Planlar alanı, yeni bir sanal sunucu oluşturulurken bu yeni uygulama için hangi planların kullanılabileceğini belirler. Uygulama ile bağlantılı olmayan planlar görüntülenebilir ancak yeni sanal sunucu oluşturmak için seçilemez.

  9. Kullanıcılarınızın sunucu oluştururken uygulamayı görmesini ve yüklemesini istiyorsanız, görünür olarak bırakın. Uygulamayı kullanıcılardan gizlemek isteyebilirsiniz, örneğin, henüz üretime hazır değilse. Bu durumda, görünürlüğü kapatın.

  10. Giriş türünü seçin. Bu, uygulamanıza bağlıdır ve kullanıcıların nasıl giriş yapacağını belirler:

    Not

    Bir özel cPanel uygulaması URL aracılığıyla giriş yapmayı kullanır. Plesk uygulaması ise "Script (JS)" giriş türünü kullanır.

    • Uygulama URL'siyle giriş yapılıyorsa, "URL" seçin ve sağ taraftaki alanda giriş bağlantısını sağlayın, örneğin, https://{{ hostname }}/?login={{ login }}&password={{ password }}

      Kullanıcılar, sunucunun kartında giriş bağlantısına tıklayarak uygulamaya giriş yapacaklar ve uygulamanın kimlik bilgileri URL içinde iletilir.

      Eğer önceden yüklenmiş bir lisansla özel bir cPanel uygulaması ekliyorsanız, aşağıdaki URL'yi belirtin: https://{{ hostname }}:2087/.

    • Eğer "Script (JS)" giriş türünü seçerseniz, "Login link script" alanına JavaScript giriş betiğini sağlayın. Kullanıcılar, sunucunun kartındaki giriş bağlantısına tıklayarak uygulamaya giriş yapacaklar ve uygulamanın kimlik bilgileri bir POST isteği aracılığıyla gönderilecektir.

      Eğer önceden yüklenmiş bir lisansla özel bir Plesk uygulaması ekliyorsanız, aşağıdaki giriş betiğini belirtin:

      fetch('https://{{ domain }}:8443/api/v2/cli/admin/call', {
        body: '{ "params": [ "--get-login-link" ] }',
        headers: {
          Authorization: 'Basic '+ btoa('admin:{{ passwd }}'),
          "Content-Type": "application/json"
        },
        method: "POST"
      })
        .then(function(response) {
          if (!response.ok) {
            throw Error(response.statusText);
          }
          return response.json();
        })
        .then(function(data) {
          var link = data.stdout.split(/\r?\n/);
          openWindow(link[0]);
        })
        .catch(function() {
            openWindow('https://{{domain}}:8443/');
        });
      

    • Bazı web tabanlı olmayan uygulamalar için (örneğin, veritabanları) kullanıcıların giriş yapacakları kimlik bilgilerini göstermeniz gerekebilir. Bu durumda, "Info (HTML)" seçin ve "Login link script" alanına HTML kodu olarak giriş bilgilerini sağlayın. Kullanıcılar, HTML formunda gördükleri kimlik bilgilerini kullanarak uygulamaya giriş yapacaklar.

    • Bazı durumlarda hiçbir giriş yapmaya ihtiyacınız olmayabilir (örneğin, özel bir OS derlemesi olarak bir uygulama ekliyorsanız). Bu durumda, "None" seçin.

  11. JSON şemasını düzenleyin. Kullanıcılar sunucu oluştururken ve uygulamanızı seçerken, bu JSON şemaya dayalı dinamik bir form görecekler. Dinamik form genellikle kayıt formudur ve uygulamanın yöneticisinin kimlik bilgilerini toplar. Örneğin, alanında bulunan örnek JSON şeması aşağıdaki dinamik formu oluşturur:

    Eğer önceden yüklenmiş bir lisansla özel bir cPanel uygulaması ekliyorsanız, aşağıdaki JSON şemasını belirtin:

    {
      "title": "cPanel",
      "description": "Create an exceptional hosting experience.\nIndustry leading hosting platform with world-class support.",
      "type": "object"
    }
    

    Eğer önceden yüklenmiş bir lisansla özel bir Plesk uygulaması ekliyorsanız, aşağıdaki JSON şemasını belirtin:

    {
      "title": "Plesk",
      "description": "Next-Level server management platform",
      "type": "object",
      "required": [
        "domain",
        "user",
        "rootmail",
        "passwd"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "title": "Hostname"
        },
        "user": {
          "type": "string",
          "title": "Username",
          "default": "admin"
        },
        "rootmail": {
          "type": "string",
          "format": "email",
          "title": "Administrators Email"
        },
        "passwd": {
          "type": "string",
          "title": "Password",
          "format": "password",
          "pattern": "^[a-zA-Z0-9_-]*$",
          "minLength": 5
        }
      }
    }
    

  12. "Kullanıcı veri şablonu" alanına, ilk sunucu açılışından hemen sonra cloud-init tarafından yürütülecek olan cloud-config betiğini sağlayın. Betik, uygulamanızın çalışması için gerekli olan sonraki yapılandırma adımlarını içermelidir, örneğin: dinamik formda sağlanan uygulamanın yöneticisini oluşturma, kullanıcılar ve kullanıcı gruplarının oluşturulması vb.

    Betiğ YAML formatında yazılır. Betiği nasıl yazacağınıza dair referans için cloud-init belgelerini kullanın. Betiği yazarken, muhtemelen aşağıdaki değişkenleri kullanmanız gerekecektir:

    • SolusVM 2 sistem değişkenleri (onları görmek için "Sistem Değişkenleri"ne tıklayın)
    • Önceki adımda JSON şemasında belirttiğiniz değişkenler, örneğin, {{ login }} ve {{ password }}.

    Eğer önceden yüklenmiş bir lisansla özel bir cPanel uygulaması ekliyorsanız, aşağıdaki betiği belirtin:

    write_files:
      - path: /root/setup.sh
        permissions: '0755'
        content: |
          #!/bin/bash
          HOSTNAME={{ hostname }}
          match=$(echo "${HOSTNAME}" | grep -oP '^(?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63}$')
          if [ -z "$match" ]; then
            hostnamectl set-hostname "${HOSTNAME}.local.domain"
            HOSTNAME="${HOSTNAME}.local.domain"
          fi
          setenforce 0
          /usr/local/cpanel/bin/set_hostname "${HOSTNAME}"
          /usr/local/cpanel/cpkeyclt
    runcmd:
      - sh /root/setup.sh
      - rm -f /root/setup.sh
    

    Eğer önceden yüklenmiş bir lisansla özel bir Plesk uygulaması ekliyorsanız, aşağıdaki betiği belirtin:

    #cloud-config
    write_files:
      - path: /root/config.ini
        permissions: '0755'
        content: |
          domain="{{ domain }}"
          rootpw="{{ passwd }}"
          user="{{ user }}"
          passwd="{{ passwd }}"
          activation_key="{{ externalIntegrationResponse.keyIdentifiers.activationCode }}"
          rootmail="{{ rootmail }}"
    runcmd:
      - [ curl, "https://raw.githubusercontent.com/solusio/applications/master/plesk/setup", -o, "/root/setup.sh" ]
      - [ chmod, +x, "/root/setup.sh" ]
      - sh /root/setup.sh | while IFS= read -r line; do printf "%s %s\n" "$(date)" "$line"; done >>/var/log/logfile
      - echo "complete" > /var/www/vhosts/default/htdocs/__setup_complete.html
      - rm -r /root/setup.sh
    

    Not

    Önceden yüklenmiş bir lisansla özel bir Plesk uygulaması için {{ externalIntegrationResponse.keyIdentifiers.activationCode }} değişkenini kullanmanız gerekmektedir. Bu değişken, lisanslama API yanıtından gelen etkinleştirme kodunu içerir.

    Not

    Eğer bir özel uygulamanın hangi JSON şemaya, cloud-config betiğine veya başka bir ayara ihtiyaç duyduğundan emin değilseniz, ilgili yerleşik uygulamayı referans olarak kullanın (varsa). Yerleşik uygulama ayarlarını görmek için, Görüntüler > Uygulamalar bölümüne gidin ve uygulamanın yanındaki simgesine tıklayın.

  13. Kaydet düğmesine tıklayın.

Özel uygulamanız eklendi.

Önceden Kurulmuş Bir Lisansla Özel Uygulama Ekleme#

Önceden yüklenmiş bir lisansla bir uygulama eklemek için iki aşamada işlem yaparsınız. İlk olarak, uygulamanın lisanslama API'siyle entegrasyon kurarsınız. Daha sonra, oluşturulan sanal sunucular için lisans çıkarmak için bu entegrasyonu kullanan özel bir uygulama eklersiniz.

Not

Özel uygulamalar için lisanslandırma yalnızca yapılandırılabilir.

Bir önceden yüklenmiş bir cPanel uygulaması eklemek için:

  1. cPanel, LLC ile iletişime geçin ve sizin için bir hesap oluşturmalarını isteyin. Entegrasyonu kurmak için hesap kimlik bilgilerini kullanacaksınız.
  2. Ayarlar > Harici Lisans Entegrasyonları bölümüne gidin ve ardından Entegrasyon Ekle düğmesine tıklayın.
  3. Entegrasyonunuza tanınabilir bir ad verin, örneğin, "cPanel Pro".
  4. "Tür" bölümünde, "cPanel Manage2" olarak bırakın.
  5. cPanel Manage2 hesabınız için kullanıcı adı ve şifreyi belirtin.
  6. cPanel ile önceden yüklenmiş olarak kullanmak istediğiniz lisans türünün paket kimliklerini ve grup kimliğini belirtin (örneğin, sırasıyla 21159 ve 3520903). Tüm mevcut paket kimliklerini ve grup kimliklerini görün.
  7. Kaydet düğmesine tıklayın.
  8. Bu işlemi kullanarak özel bir cPanel uygulaması ekleyin.

Not

cPanel Manage2, sanal sunucuların önceden yüklenmiş lisanslarını almasını engelleyebilecek bir sınırlamaya sahiptir. Aynı IP adresini kullanan çeşitli sunucularda cPanel lisansı 15 dakika içinde 8 kez etkinleştirilirse, cPanel Manage2, cPanel Manage2 hesabınız için tüm ileri lisans etkinleştirmelerini engeller. Bu, kullanıcıların artık önceden yüklenmiş cPanel lisansları alamayacakları anlamına gelir. Kullanıcılar cPanel'e giriş yaptığında ayrıca aşağıdaki hata mesajını da göreceklerdir: "cPanel lisans sunucusu, lisansın çok sayıda makinede etkinleştirildiğini bildirdi (600)". Sorunu çözmek için, cPanel müşteri hizmetleri ekibiyle iletişime geçin.

Lisansı önceden yüklenmiş bir Plesk uygulaması eklemek için:

  1. Plesk Ortak Programına katılın ve sizin için bir hesap oluşturmalarını isteyin. Entegrasyonu kurmak için hesap kimlik bilgilerini kullanacaksınız.
  2. Ayarlar > Harici Lisans Entegrasyonları bölümüne gidin ve ardından Entegrasyon Ekle düğmesine tıklayın.
  3. Entegrasyonunuza tanınabilir bir ad verin, örneğin, "Plesk Web Admin Edition".
  4. "Tür" bölümünde, "Plesk KA" seçeneğini belirleyin.
  5. Plesk KA hesabınız için kullanıcı adı ve şifreyi belirtin.
  6. Ürün sabitini belirtin (örneğin, PLESK-12-WEB-HOST-1M). Bu sabit, Plesk ile önceden yüklenmiş olacak lisans türünü belirleyecektir. Tüm mevcut ürün sabitlerini görüntüleyin.

    Not

    Hangi ürün sabitini belirtmeniz gerektiğinden emin değilseniz, Plesk satış yöneticinize başvurun.

  7. Kaydet düğmesine tıklayın.

  8. Bu işlemi kullanarak özel bir Plesk uygulaması ekleyin.

Uygulamaları Yönetme#

Düzenleme#

Özel bir uygulamayı her zaman düzenleyebilirsiniz.

Bir uygulamayı düzenlemek için:

  1. Görüntüler > Uygulamalar bölümüne gidin ve düzenlemek istediğiniz özel uygulamanın yanındaki simgesine tıklayın.

    Not

    Dahili uygulamaları düzenleyemezsiniz.

  2. İstenilen değişiklikleri yapın ve ardından Kaydet düğmesine tıklayın.

Görünürlüğü Yönetme#

Varsayılan olarak, tüm dahili uygulamalar görünür durumdadır: kullanıcılar sunucu oluşturduklarında uygulamaları görebilir ve yükleyebilirler. Bazı durumlarda uygulamaları gizlemek isteyebilirsiniz, örneğin:

  • Özel bir uygulama yüklediniz, ancak henüz üretim için hazır değil. Kullanıcılarınızın kullanmadan önce uygulamayı test etmek istersiniz.
  • Dahili uygulamalar arasında hangilerinin yüklenebilir olduğunu değiştirmek istersiniz.

Bir uygulamanın görünürlüğünü değiştirmek için:

  1. Görüntüler > Uygulamalar bölümüne gidin.
  2. İstenilen uygulama için görünürlüğü açık veya kapalı hale getirin.

İndirme İşlemi#

Uygulama görüntüsünü indirmek isteyebilirsiniz. Örneğin, özel bir uygulama eklediniz ve uygulama görüntüsü URL'sinin doğru olup olmadığını kontrol etmek istiyorsunuz.

Bir uygulamanın görüntüsünü indirmek için:

  1. Görüntüler > Uygulamalar bölümüne gidin.
  2. İndirmek istediğiniz uygulamanın yanındaki simgesine tıklayın.