Artikel ini akan menjelaskan cara menginstal perangkat lunak komunikasi sumber terbuka Asterisk di RHEL 8 / CentOS 8; karena Asterisk dan dependensi penting lainnya tidak tersedia sebagai paket RPM dari repositori, maka diperlukan untuk mengompilasinya dari sumber.
Dalam tutorial ini Anda akan mempelajari:
- Apa saja prasyarat untuk menginstal Asterisk
- Cara mengkompilasi Asterisk dari sumber
- Cara memulai Asterisk
- Cara mengkonfigurasi ulang atau menghapus Asterisk
- Cara mengakses antarmuka baris perintah Asterisk
Output startup layanan sistem asterisk pada RHEL 8 / CentOS 8
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | RHEL 8 / CentOS 8 |
Perangkat Lunak | Asterisk, pjsip, libedit |
Lainnya | repositori lokal atau jauh dikonfigurasi; tanggal dan zona waktu sistem yang benar. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Pengantar
Asterisk adalah perangkat lunak open source private branch exchange (PBX), dan dengan demikian tujuan utamanya adalah untuk membuat dan mengontrol panggilan telepon antara berbagai sistem, melalui jalur PSTN tradisional atau titik akhir VoIP modern.
Dalam panduan ini kami akan memastikan itu akan diinstal di RHEL 8 / CentOS 8 bersama dengan komponen umum.
Menginstal Asterisk di RHEL 8 / CentOS 8 – langkah demi langkah.
Kami akan menempatkan versi terakhir – 16.3.0 pada saat penulisan tutorial ini.
- Prasyarat
Kita perlu menginstal paket-paket di bawah ini termasuk
systemd-devel
jika kita ingin memulai Asterisk sebagai layanan systemd.# dnf -y install wget bzip2 tar sqlite-devel ncurses-devel systemd-devel
Dan untuk mengembangkan dari sumber:
# dnf -y install binutils gcc gcc-c++ kernel-devel autoconf automake libtool
Mulai sekarang kita perlu menginstal semuanya dari sumber jadi mari kita lakukan dari folder umum
# mkdir -p /root/src && cd /root/src
Pertama kita akan mengkompilasi
libedit
, pengganti atau alternatif untuk pengeditan baris perintah readline GNU.# cd /root/src # wget http://thrysoee.dk/editline/libedit-20190324-3.1.tar.gz # tar xzvf libedit-20190324-3.1.tar.gz # cd libedit-20190324-3.1 # ./configure && make && make install
- Memasang komponen opsional
Komponen berikut ini opsional, tetapi dalam skenario nyata sangat sering dibutuhkan.DAHDI
(Digium/Asterisk Hardware Device Interface):ini adalah kerangka kerja untuk berinteraksi dengan kartu telepon digital di Asterisk.
Mari kita instal.# cd /root/src # wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz # tar zxvf dahdi-linux-complete-current.tar.gz && cd dahdi-linux-complete-3.0.0+3.0.0 # make all && make install && make install-config # cd /etc/dahdi && cp system.conf.sample system.conf # systemctl enable dahdi && systemctl start dahdi # modprobe dahdi # modprobe dahdi_transcode
LibPRI adalah library yang menambahkan dukungan untuk ISDN (PRI dan BRI), pada dasarnya diperlukan jika memasang kartu ISDN untuk berkomunikasi dengan sistem lama.
Untuk menginstalnya:
# cd /root/src/ # wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz # tar xzvf libpri-1.6.0 && cd libpri-1.6.0 # make && make install
- Menginstal Asterisk
Sekarang saatnya untuk mengkompilasi aplikasi utama dari sumber – seperti yang disebutkan.
Ini juga akan menginstal perpustakaan SIPpjsip
ke dalam sistem.# cd /root/src/ # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.3.0.tar.gz # tar xzvf asterisk-16.3.0.tar.gz # wget https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.8/pjproject-2.8.tar.bz2 # mv pjproject-2.8.tar.bz2 /tmp # cd asterisk-16.3.0 # ./configure # make && make install && make install-logrotate
Dengan
make install-logrotate
kami pastikan file log aplikasi akan dirotasi. - Konfigurasi Asterisk
Pada Asterisk terdapat banyak file konfigurasi, yang utama adalahasterisk.conf
; untuk menginstal versi default dari semuanya, kita perlu menjalankan:# cd /root/src/asterisk-16.3.0/ # make samples
Pada titik ini, karena beberapa modul atau fitur memerlukan konfigurasi atau dependensi lebih lanjut, lebih baik menonaktifkannya.
Namun, ini tidak wajib, mereka bukan komponen penting yang mencegah Asterisk dimulai.#cd /etc/asterisk # cp modules.conf modules.conf.org # echo "noload => res_config_ldap.so" >>modules.conf # echo "noload => res_pjsip_transport_websocket.so" >>modules.conf # echo "noload => cdr_sqlite3_custom.so" >>modules.conf # echo "noload => cel_sqlite3_custom.so" >>modules.conf # echo "noload => res_config_sqlite3.so" >>modules.conf # echo "noload => cdr_pgsql.so" >>modules.conf # echo "noload => cel_pgsql.so" >>modules.conf # echo "noload => res_config_pgsql.so" >>modules.conf sed -i.org 's/enabled = yes/enabled = no/' ari.conf
Setelah itu saatnya menyiapkan file service systemd:
# cd /root/src/asterisk-16.3.0/contrib/systemd # cp asterisk* /usr/lib/systemd/system
Layanan Asterisk harus berjalan sebagai pengguna biasa, untuk alasan keamanan, jadi kami perlu menambahkan ID layanan yang akan disebut
asterisk
sebagaimana ditentukan dalam file konfigurasi systemd.# useradd -m -c "asterisk user"
Lalu mari kita ubah beberapa izin:
chown -R asterisk:asterisk /var/log/asterisk/* chown asterisk:asterisk /var/log/asterisk/.
- Memulai Asterisk
SELinux akan mencegah Asterisk untuk memulai, jadi kami menempatkannya dalampermissive mode
demi kesederhanaan.# setenforce 0 # sed -i.org 's/enforcing/permissive/' /etc/sysconfig/selinux
Akhirnya kita bisa memulai Asterisk
# systemctl enable asterisk # systemctl start asterisk
Anda juga dapat menjalankan Asterisk secara langsung tanpa systemd dengan mengeluarkan:
# /usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.conf
atau lebih baik
# asterisk -vvvc
untuk mendapatkan info verbose.
Keluaran tanda bintang saat diluncurkan secara langsung - Mengkonfigurasi ulang Asterisk
Bisa dilakukan kapan saja untuk mengkonfigurasi ulang Astering dengan menghapus atau (kembali)menambahkan fitur apapun.
Cukup hentikan layanan, ubah ke folder sumber dan jalankanmake menuselect
. Pilih menu Asterisk# systemctl stop asterisk # cd /root/src/asterisk-16.3.0/ # make menuselect
Jika Anda telah melakukan perubahan Anda perlu menyimpan konfigurasi sebelum keluar dari menu pilih menu.
Setelah itu perlu untuk mengkompilasi ulang lagi Asterisk seperti yang dijelaskan di atas. Lebih baik membuat perubahan apa pun di lingkungan pengujian terlebih dahulu. - Menghapus Asterisk
Jika Anda perlu menghapus Asterisk dari sistem – termasuk Dahdi dan libpri – berikut langkah-langkahnya:# systemctl stop dahdi # systemctl stop asterisk # cd /root/src/asterisk-16.3.0 # make uninstall-all cd /root/src/libpri-1.6.0 && make uninstall
- Mengakses Asterisk CLI
Perangkat lunak ini juga memiliki shell, untuk mengaksesnya – setelah Asterisk dijalankan – kita perlu mengetik:# asterisk -r
CLI Asterisk
Kesimpulan
Kami telah berhasil mengkompilasi Asterisk dari sumber dan memulainya, namun tidak cukup untuk mendapatkan lingkungan kerja; biasanya setelah instalasi Anda akan menambahkan titik akhir SIP Anda dengan mengedit file konfigurasi sip.conf
– atau melalui CLI yang disebutkan – dan konfigurasikan ekstensi apa pun di file extensions.conf
. Kedua file ada di /etc/asterisk.