1. Dosyaları Sisteminize Yükleyin


  • Dosya yolu aşağıdaki gibi olacak şekilde webapi adında bir klasör oluşturun.

/var/www/webapi/

  • Zip arşivinden çıkan tüm dosyaları  başta oluşturduğunuz webapi klasorüne kopyalayın.
  • MP3 dosyaları için dosya yolu aşağıdaki gibi olacak şekilde "mp3" adında bir klasör oluşturun:

/var/www/webapi/mp3

Önemli:

MP3 klasörüne yazma izni vermeniz gerekiyor.

 

2. Düzenleme için Nano Kurma


Nano'yu kurmak için aşağıdaki komutu kullanabilirsiniz:

Shell
apt install nano

 

3. Settings.ini dosyasını düzenleme


  • Aşağıdaki komutu çalıştırarak "Settings.ini" dosyasını açın.

    Shell
    nano /var/www/webapi/Settings.ini

     

  • Aşağıdaki "LICENSE_KEY" parametresinin değerini size verilen lisans anahtarıyla değiştirin ve  Crtl+X sonrasında Y ve Enter tuşlarına basarak dosyayı kaydedin.

    Settings.ini
    LICENSE_KEY=AAAA-AAAA-AAAA-AAAA

 

4. .NET SDK 6.0 Kurulumu


Sırasıyla aşağıdaki komutları çalıştırarak SDK kurulumunu gerçekleştirebilirsiniz.

Shell

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update && sudo apt-get install -y dotnet-sdk-6.0

 

5. Daemon Oluşturma


  • Daemon oluşturmak için nano editorünü kullanarak "webapi.service" dosyasını oluşturalım.
    Shell

    nano /etc/systemd/system/webapi.service

     

  • Daemon oluşturulduktan sonra bir editöre aşağıdaki satırları koyup Crtl+X sonrasında Y ve Enter tuşlarına basarak dosyayı kaydedin.
    webapi.service
    Description=webapi
    After=nginx.service
    After=3CXAudioProvider01.service
    After=3CXCallFlow01.service
    After=3CXCfgServ01.service
    After=3CXEventNotificationManager.service
    After=3CXIVR01.service
    After=3CXMediaServer.service
    After=3CXPhoneSystem01.service
    After=3CXPhoneSystemMC01.service
    After=3CXQueueManager01.service
    After=3CXSystemService01.service
    After=3CXTunnel01.service
    [Service]
    Environment=DOTNET_BUNDLE_EXTRACT_BASE_DIR=/var/tmp
    WorkingDirectory=/var/www/webapi/
    ExecStart=/var/www/webapi/TCXWebAPI --urls=http://127.0.0.1:8081
    Restart=always
    RestartSec=10
    SyslogIdentifier=webapi
    
    [Install]
    WantedBy=multi-user.target

     

6. Daemon arka plan servisini aktif etme ve başlatma


  • Daemon arka plan servisini aktif etmek için aşağıdaki komutu kullanabilirsiniz.
    Shell
    systemctl enable webapi
  • Daemon arka plan servisini başlatmak için aşağıdaki komutu kullanabilirsiniz.
    Shell
    systemctl start webapi

 

7. nginx.conf dosyasını düzenleme


Önemli:

Bu değişiklik 3CX her güncellendiğinde yapılmalıdır.

  • Aşağıdaki komutlar ile nginx.conf dosyasını açabilirsiniz.
    Shell
    nano /etc/nginx/sites-enabled/3cxpbx

    Ya da

    Shell
    nano /var/lib/3cxpbx/Bin/nginx/conf/nginx.conf
  • Açılan nginx.conf dosyasında bu alanı bulun.
    nginx.conf
    client_max_body_size 300m;
    root "C:/ProgramData/3CX/Data/Http/wwwroot";
  • Yukarıda bulduğunuz alanın altına aşağıda belirtilen alanı eklemeniz gerekiyor.
    nginx.conf
    location ~ ^/webapi/?(.*) 
    {
    include "shared-headers.conf";
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8081/webapi/$1$is_args$args;
    proxy_buffering off;
    }
  • nginx servisini yeniden başlatmak için aşağıdaki komutu kullanın:

    systemctl restart nginx

 

8. Wav dosyasını MP3'e dönüştürmek için lame yükleme


3CX, standart depoları kendi kullanacağı şekilde değiştirir. Eğer lame kurulu değilse depo eklemeniz gerekiyor:

  • Aşağıdaki komut ile dosyayı/editörü açabilirsiniz:

    Shell
    nano /etc/apt/sources.list
  • Sonrasında dosyayı düzenleyin:

    sources.list
    deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian/1806 buster main
    
    deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian-security/1806 buster main
    
    deb http://deb.debian.org/debian buster main contrib non-free
    
    deb http://deb.debian.org/debian buster-updates main contrib non-free
    
    deb http://deb.debian.org/debian buster-backports main contrib non-free
    
    deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
  • Dosyayı Crtl+X sonrasında Y ve Enter tuşlarına basarak kaydedin çıkın.

  • Güncellemek için ;

    Shell
    apt update
  • Lame yüklemek için;

    Shell
    apt install lame
  • WebAPI'yi yeniden başlatmak için aşağıdaki komutu kullanabilirsiniz.

    Shell
    systemctl restart webapi
  • Daemon arka plan servisinin durumunu test etmek için aşağıdaki komutu kullanabilirsiniz.

    Shell
    systemctl status 'webapi'
  • Hata ayıklama günlüğü için bu komutu kullanabilirsiniz.

    Shell
    journalctl -fu webapi