openSIPS Kurulum Adımları

openSIPS Kurulum Adımları

OpenSIPS, bir çok telefon servis sağlayıcı tarafından kullanılan ve Class 4, Class 5, toptan satış VoIP, kurumsal PBX, sanal PBX, SBC, yük dengeleyici IMS platformları, çağrı merkezleri ve daha pek özellikler sunan çok amaçlı bir SIP sunucusudur. Bu yazımda Debian 10 üzerinde openSIPS‘in kurulum adımlarını bulabilirsiniz.

openSIPS, Linux üzerinde çalışan, oldukça az kaynak ihtiyacı olan ve yüksek performanslı bir SIP sunucusudur. Bu yüzden bir çok telekom operatörü openSIPS ile çözümler geliştirmektedir. Eğer siz de VoIP uygulamalarınızda openSIPS kullanmak isterseniz aşağıdaki kurulum yönergesini takip edebilirsiniz.

openSIPS Kurulum Adımları

1. openSIPS Kurulumunda Kullanılan Bileşenler ve Versiyonları:

  • Debian v10 (Buster) x64 minimal install (netinst)
  • OpenSips v3.0
  • OpenSips GUI v8.3.0
  • Apache v2.4
  • PHP v7.3
  • MariaDB v10

2. Ön Hazırlıklar

openSIPS kurulumu için öncelikle bir Debian kurulumuna ihtiyacınız olacak. Bu linkten amd64 netinst CD imajını indirip kurabilirsiniz. Debian’ın kurulumu oldukça kolay, dilerseniz hazırlamış olduğum bu videoyu takip ederek de kurabilirsiniz.

Debian’ın kurulumundan sonra aşağıdaki paketlerin kurulumunu tamamlayın:

apt update && apt upgrade -y && apt -y install m4 git nano sudo curl dbus apache2 lsb-release

Normalde monitoring için opsiyonel olarak “monit” paketini de kurabilirsiniz fakat yazıyı yazdığım tarihte monit üzerinde bulunan bir takım açıklardan dolayı repolardan kaldırıldı. Durum değişirse diye yine ilgili kurulum komutunu aşağıda bulabilirsiniz:

apt -y install monit

3. PHP Kurulumu

Önce bağımlı paketleri kurun:

apt -y install curl apt-transport-https ca-certificates

PHP reposunu ekleyin:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > \ /etc/apt/sources.list.d/php.list 

Daha sonra PHP paketlerini kurun:

apt update && apt -y install php7.3 php7.3-gd php7.3-mysql php7.3-xmlrpc php-pear php7.3-cli php-apcu php7.3-curl php7.3-xml libapache2-mod-php7.3 

Pear ile PHP MDB2 kütüphanesini kurun:

pear install MDB2#mysql

PHP.ini dosyasını düzenleyerek short_open_tag değişkenini On yapın:

sed -i "s#short_open_tag = Off#short_open_tag = On#g" /etc/php/7.3/apache2/php.ini

4. MariaDB Kurulumu

MariaDB kurulumu için gpg keylerini alıp ilgili paketleri kurun:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash apt update && apt -y install mariadb-server 

Daha sonra my.cnf dosyasını aşağıdaki gibi değiştirin:

nano /etc/mysql/my.cnf

Strict modu devre dışı bırakmak ve openSIPS varsayılan latin1 karakter setini kullanmak için [mysqld] başlığının altına aşağıdaki satırları ekleyin:

sql_mode='' 
character-set-server = latin1 

MariaDB servisini restart edin:

systemctl restart mariadb

5. openSIPS Kurulumu

gpg keyi ekleyin:

apt -y install dirmngr && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B

openSIPS repolarını ekleyin:

echo "deb https://apt.opensips.org $(lsb_release -sc) 3.0-releases" >/etc/apt/sources.list.d/opensips.list 
echo "deb https://apt.opensips.org $(lsb_release -sc) cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list 

Aşağıdaki komutla openSIPS paketlerini kurun:

apt update && apt -y install opensips opensips-cli opensips-*-module opensips-*-modules python3-mysqldb python3-sqlalchemy python3-sqlalchemy-utils 

6. Database Kurulumu

MariaDB üzerinde opensips kullanıcısını oluşturun ve ilgili hakları verin:

mysql -p 
> 
CREATE USER 'opensips'@'localhost' IDENTIFIED BY 'opensipsrw'; 
GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'localhost'; 
FLUSH PRIVILEGES; 
exit 

Database kurulum scriptini çalıştırın:

opensips-cli -x database create 

script size database URL ini soracak. mysql://opensips:opensipsrw@localhost olarak girin ve default u (install all tables) seçin.

7. Konfig Dosyasının Üretilmesi

Konfig dosyasını üretmek için aşağıdaki scripti çalıştırın:

/usr/sbin/osipsconfig 

GenerateOpenSIPS Script > Residential Script > Configure Residential Script i seçin. Spacebar ı kullanarak TLS dışında kalan tüm seçenekleri seçin. Q tuşuna basarak bir önceki menüye gidin ve Generate Residential Script i seçin. Script ilgili dosyayı üretecek ve size dosyanın adını ekranda gösterecektir. İlgili dosyayı opensips.cfg dosyayı ile değiştirin ve gerekli okuma haklarını verin:

mv /etc/opensips/opensips.cfg /etc/opensips/opensips.cfg.orig 
cp /etc/opensips/[üretilen konfig dosyası] /etc/opensips/opensips.cfg 
chmod 644 /etc/opensips/opensips.cfg 

8. Ek Konfigürasyonlar:

opensips.cfg dosyasında sunucunun dinleyeceği interface IP lerini girin:

nano /etc/opensips/opensips.cfg

listen= ile başlayan iki satırı sunucunun IP adresi ile değiştirin:

listen=udp:192.168.0.1:5060
listen=tcp:192.168.0.1:5060

Daha sonra oluşturulan konfigürasyon dosyasının uygun olup olmadığını kontrol edin:

opensips -C /etc/opensips 

Eğer dosyada hata varsa ekranda gözükecektir. Hata varsa düzeltin, yoksa aşağıdaki komut ile yeni konfigürasyon dosyası ile opensips servisini tekrar çalıştırın:

systemctl restart opensips 

9. Arayüz (GUI) Kurulumu

Git kullanarak openSIPS arayüzünü indirin:

git clone -b 8.3.0 https://github.com/OpenSIPS/opensips-cp.git /var/www/opensips-cp

Database üzerinde openSIPS arayüz tablosunu oluşturun:

cd /var/www/opensips-cp/config 
mysql -p opensips < db_schema.mysql 

10. İstatistiklerin Düzenli Toplanması

İlgili scripti cron.d klasörüne ekleyin ve cron servisini tekrar başlatın:

cd /var/www/opensips-cp/config
cp tools/system/smonitor/opensips_stats_cron /etc/cron.d/
systemctl restart cron

11. Monit Konfigürasyonu (Opsiyonel)

monitrc dosyasına aşağıdaki gibi ilgili satırı ekleyin ve servisi tekrar başlatın:

echo -e "set httpd port 2812 and\nallow localhost" >> /etc/monit/monitrc
systemctl restart monit

12. Global Konfigürasyon

GUI konfigürasyon php dosyasını açın ve aşağıdaki gibi düzenleyin:

nano +30 /var/www/opensips-cp/config/boxes.global.inc.php 
// monit host:port 
$boxes[$box_id]['monit']['conn']="127.0.0.1:2812"; 
$boxes[$box_id]['monit']['user']="admin"; 
$boxes[$box_id]['monit']['pass']="admin"; 
$boxes[$box_id]['monit']['has_ssl']=0;

13. Apache Konfigürasyonu

Aşağıdaki komutu kullanarak Apache üzerinde Virtual Host tanımlarını yapın:

cat >> /etc/apache2/sites-available/opensips.conf << EOF 
<VirtualHost *:80> 

DocumentRoot /var/www/opensips-cp 

<Directory /var/www/opensips-cp/web>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride None
     Require all granted 
</Directory> 

<Directory /var/www/opensips-cp>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride None
     Require all denied 
</Directory> 
Alias /cp /var/www/opensips-cp/web 

<DirectoryMatch "/var/www/opensips-cp/web/tools/.*/.*/(template|custom_actions|lib)/">
      Require all denied 
</DirectoryMatch> 

</VirtualHost> 

EOF 

Apache üzerinde default web sayfasını kapatın, openSIPS GUI sayfasını açın, klasörün ownerını değiştirip Apache yi restart edin:

a2dissite 000-default 
a2ensite opensips 
chown -R www-data. /var/www/opensips-cp 
systemctl restart apache2 

Sonunda kurulum tamamlanmış oldu. http://ipadresi/cp URL ini kullanarak admin / opensips kullanıcı adı ve şifresiyle openSIPS arayüzüne erişebilirsiniz.

Comments are closed.