آموزش نصب Asterisk روی CentOS 7
جمعه, ۴ اسفند ۱۳۹۶، ۱۰:۱۶ ب.ظ
با سلام
برای مشاهده آموزش نصب و راه اندازی سرویس Asterisk روی لینوکس CentOS 7 به ادامه مطلب مراجعه فرمایید...
این آموزش تست شده میباشد و بدون هیچ مشکلی میتوانید نرم افزار استریسک را روی لینوکس نصب کنید
مراحل نصب:
1.ابتدا اطمینان خاطر کسب کنید که سرویس SELinux شما غیر فعال باشد ، برای بررسی این مورد با یکی از ویرایشگر های متن معروف (ترجیها Vim)
آدرس زیر را باز کنید و سپس بررسی کنید SELINUX=disabled باشد :
/etc/selinux/config
2.پکیج های سیستم را آپدیت کنید:
sudo yum update3.یک بار ریبوت دهید :
reboot4.نوبت به انجام تنظیمات فایروال IPTables میرسد ، ابتدا دستور زیر را اجرا کنید:
sudo iptables -Lخروجی باید شبیه زیر باشد:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destinationحالا با استفاده از ویرایشگر متن مورد علاقتون فایل زیر را بسازید :
/etc/iptables.firewall.rules
و در فایل ساخته شده متن زیر را Copy و Paste کنید و سپس فایل را ذخیره کنید:
*filter
# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allow SSH connections
#
# The -dport number should be the same port number you set in sshd_config, ie 8050
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# SIP on UDP port 5060, 5061 for secure signaling. Used for signals such as "hang up"
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 5061 -j ACCEPT
# IAX2- the IAX protocol - comment out if you don't plan to use IAX
# -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
# IAX - old IAX protocol, uncomment if needed for legacy systems.
# -A INPUT -p udp -m udp --dport 5036 -j ACCEPT
# RTP - the media stream - you can change this in /etc/asterisk/rtp.conf
-A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
# MGCP - if you use media gateway control protocol in your configuration
-A INPUT -p udp -m udp --dport 2727 -j ACCEPT
# Uncomment these lines if you plan to use FreePBX to manage Asterisk
# -A INPUT -p tcp --dport 80 -j ACCEPT
# -A INPUT -p tcp --dport 443 -j ACCEPT
# Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT5.حال باید iptables-services را نصب ، فعال و اجرا کنید:
sudo yum install -y iptables-services
sudo systemctl enable iptables
sudo systemctl start iptablesحال باید فایلی که ساختید را فراخوانی کنید:
sudo iptables-restore < /etc/iptables.firewall.rulesحال اگر دستور iptables -L را اجرا کنید خروجی باید شبیه زیر باشد:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8050
ACCEPT udp -- anywhere anywhere udp dpt:sip
ACCEPT udp -- anywhere anywhere udp dpt:iax
ACCEPT udp -- anywhere anywhere udp dpts:ndmp:dnp
ACCEPT udp -- anywhere anywhere udp dpt:mgcp-callagent
ACCEPT icmp -- anywhere anywhere icmp echo-request
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhereنتیجه را ذخیره کنید:
/usr/libexec/iptables/iptables.init save6.در این مرحله باید Dependency های مورد نیاز قبل از نصب استریسک را نصب کنید:
sudo yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel7.حال باید PRPROJECT که در واقع Channel Driver سرویس SIP میباشد را نصب کنید ، برای این کار دستورات زیر را به ترتیب اجرا کنید:
mkdir ~/buildcd ~/buildwget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2tar -jxvf pjproject-2.3.tar.bz2cd pjproject-2.3./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amrاگر تا اینجا دستورات صحیح وارد شده باشد نباید خطایی مشاهده گردد ، در صورت عدم مشاهده خطا ، ادامه دهید و دستورات زیر را وارد کنید
make dep
make
sudo make install
sudo ldconfigsudo ldconfig -p | grep pjزمانی که دستور آخر را وارد کردید ، اگر مراحل صحیح باشد باید خروجی مانند خروجی زیر را مشاهده کنید:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
libpj.so (libc6,x86-64) => /lib64/libpj.so8.نصب DAHDI (دلخواه میباشد)
*نصب این نرم افزار در صورتی که از کارت های تلفنی استریسک میخواهید استفاده کنید ضروری میباشد ، در غیر این صورت از این مرحله گذشته و به مرحله 9 مراجعه کنید و ادامه دهید
cd ~/buildwget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gztar -zxvf dahdi-linux-complete-current.tar.gzcd dahdi-linux-complete-2.10.2+2.10.2/*لازم به ذکر است در این مرحله ممکن است ورژن dahdi که نصب کردید با فایل نام برده شده متفاوت باشد ، در این صورت باید بعد از دستور cd فایل خودتان که شبیه همین فایل نام برده شده میباشد و فقط شاید مقداری ورژن آن تغییر کرده باشد را بنویسید و enter کنید ، سپس ادامه دهید:
makesudo make install
sudo make config9.نصب استریسک (Asterisk) :
cd ~/buildwget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gztar -zxvf asterisk-13-current.tar.gzcd asterisk-13.5.0*باز هم به جای "asterisk-13.5.0 ورژن خودتان را بزنید.
10.فعالسازی MP3 Support :
sudo yum install svncontrib/scripts/get_mp3_source.sh11.کانفیگ و ساخت استریسک:
./configure --libdir=/usr/lib64
makesudo make installsudo make samplessudo make configتبریک ، در حال حاضر سرویس استریسک روی سیستم عامل لینوکس نصب گردید.
حال برای اجرای استریسک دستورات زیر را وارد کنید:
sudo service asterisk startasterisk -rvvدر حال حاضر شما در محیط CLI استریسک هستید.
با سپاس که با ما همراه بودید.
لطفا در صورت هرگونه سوال درباره این آموزش در بخش نظرات سوال خود را مطرح فرمایید.
*به زودی کتاب آموزش استریسک داخل سایت گذاشته خواهد شد.