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
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:
3. Settings.ini dosyasını düzenleme
-
Aşağıdaki komutu çalıştırarak "Settings.ini" dosyasını açın.
Shellnano /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.iniLICENSE_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.
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.
Shellsystemctl enable webapi
- Daemon arka plan servisini başlatmak için aşağıdaki komutu kullanabilirsiniz.
Shellsystemctl start webapi
7. nginx.conf dosyasını düzenleme
Bu değişiklik 3CX her güncellendiğinde yapılmalıdır.
- Aşağıdaki komutlar ile nginx.conf dosyasını açabilirsiniz.
Shellnano /etc/nginx/sites-enabled/3cxpbx
Ya da
Shellnano /var/lib/3cxpbx/Bin/nginx/conf/nginx.conf - Açılan nginx.conf dosyasında bu alanı bulun.
nginx.confclient_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.conflocation ~ ^/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:
Shellnano /etc/apt/sources.list -
Sonrasında dosyayı düzenleyin:
sources.listdeb [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 ;
Shellapt update -
Lame yüklemek için;
Shellapt install lame -
WebAPI'yi yeniden başlatmak için aşağıdaki komutu kullanabilirsiniz.
Shellsystemctl restart webapi -
Daemon arka plan servisinin durumunu test etmek için aşağıdaki komutu kullanabilirsiniz.
Shellsystemctl status 'webapi' -
Hata ayıklama günlüğü için bu komutu kullanabilirsiniz.
Shelljournalctl -fu webapi