نصب Freepbx بر روی لینوکس ubuntu
در این پست قصد دارم توضیح بدم چطور میشه در Linux Ubuntu از ۱۴ Freepbx استفاده کرده .
سلام
در پست های قبلی یاد گرفتیم که چطور میشه روی raspberry pi لینوکس ubuntu نصب کرد و در این پست قصد دارم اون رو به یک سیستم تلفنی تبدیل کنم و به شما نشون بدم که چطور freepbx رو روی Ubuntu نصب کنید .نسخه ای که من روی اون تست کردم Ubuntu 18.04 هست . قبل از شروع چند نکته هست که باید به اونها توجه کنید .
نصب freepbx به گفته سایت رسمی به صورت حرفه ای بوده و برای کاربران آماتور توصیه نمیشه . ( البته با یه سری توضیحات امکان نصب برای کاربران آماتور هم امکان پذیر هست)
این روش نصب برای نصب هسته مرکزی بوده و ممکنه افزونه های تجاری به درستی عمل نکنه و یا نصب نشود .
برخی از ماژول ها و افزون ها رو میتونید بعد از نصب هسته اصلی نصب و تنظیم کنید .
از نسخه های Live لینوکس استفاده نکنید . ( نسخه live به نسخه هایی گفته میشه که نیاز به نصب نداره . شما میتونید از لینوکس استفاده کنید بدون اینکه اون رو نصب کنید !)
برای Asterisk 16 شما باید app_macro رو انتخاب و فعال کنید .
مراحل نصب :
برای نصب احتیاج به پیش نیاز خاصی ندارید فقط از نصب بودن Open-ssh-server اطمینان حاصل کنید. برای این کار میتونید از دستور زیر استفاده کنید.
۱ | sudo apt-get install openssh-server |
* دقت داشته باشید این مراحل نصب بر مبنای PHP 5.6 هست و نسخه های بالاتر PHP پشتیبانی نمیشه. البته ممکنه FreePBX 14.0.3.15 رو PHP های بالاتر نصب بشه اما توصیه نمیشه .
مراحل انجام کار :
ایجاد دسترسی Root برای دستورات وارد شده :
در مرحله اول به کنسول لینوکس خودتون وارد بشید و دسترسی رو به صورت Root با دستور زیر ایجاد کنید. این کار به معنی این هست که تمامی دستور وارد شده در خط فرمان شما در سطح Root و یا Administrator اجرا میشه. در این حالت اگر شکا با کاربر root وارد نشده باشید پسورد از شما بخواد.
۱ sudo -i
فعال سازی PermitRootLogin :
در مرحله بعد شما باید ‘PermitRootLogin’ رو فعال کنید که میتونید از دستور زیر این کار رو انجام بدید .
۱ sed -ir 's/#?PermitRootLog.+/PermitRootLogin yes/' /etc/ssh/sshd_configبرای اعمال این فرآیند باید سرویس SSH رو غیر فعال و مجدد فعال کنید . با دستور زیر میتونید این کار رو انجام بدید.
۱ systemctl restart sshd
سیستم رو به روز رسانی کنید .
۱۲ add-apt-repository ppa:ondrej/php < /dev/nullapt-get update && apt-get upgrade -y
نصب پیش نیازها :
در این تمام پیش نیازهای نصب رو نصب میکنید .میتونید تمام دستورات زیر رو کپی کنید و یکجا نصب کنید. توجه داشته باشید همونطور که در بالا توضیح دادم در اینجا PHP 5.6 نصب میشه که برای FreePBX 14 مناسبه .
۱۲۳۴۵۶۷۸۹ apt-get install -y openssh-server apache2 mysql-server mysql-client \mongodb curl sox mpg123 sqlite3 git uuid libodbc1 unixodbc unixodbc-bin \asterisk asterisk-core-sounds-en-wav asterisk-core-sounds-en-g722 \asterisk-dahdi asterisk-flite asterisk-modules asterisk-mp3 asterisk-mysql \asterisk-moh-opsound-g722 asterisk-moh-opsound-wav asterisk-opus \asterisk-voicemail dahdi dahdi-dkms dahdi-linux libapache2-mod-security2 \php5.۶ php5.۶-cgi php5.۶-cli php5.۶-curl php5.۶-fpm php5.۶-gd php5.۶-mbstring \php5.۶-mysql php5.۶-odbc php5.۶-xml php5.۶-bcmath php-pear libicu-dev gcc \g++ make postfix libapache2-mod-php5.۶
*** نکته مهم !
۱ – در این مرحله از تصب ممکنه از شما سوالی در مورد ایجاد پسورد بر روی MySQL پرسیده بشه (ممکنه چندیدن بار این سوال پرسیده بشه) در این قسمت هیچ رمزعبوری رو برای mysql انتخاب نکنید و اجازه بدید در مراحل اصلی نصب FreeBPX پسوردی رو برای MySQL ایجاد میکنه .
۲ – در قسمت تنظیمات SMTP شما باید از میان گزینه ها ‘Internet With Smarthoste’ رو انتخاب کنید و SMTP رو درست وارد کنید تا سیستم شما بتونه برای شما به صورت درست ایمیل ارسال کنه. برای راهنمای کامل ارسال ایمیل این مقاله رو مطالعه کنید .
نصب Nodejs :
با استفاده از دستورات زیر nodejs رو روی لینوکس Ubuntu خودتون نصب کنید .
۱۲ curl -sL https://deb.nodesource.com/setup_10.x | bash -apt-get install -y nodejs
تعیین سطح دسترسی به کاربران Asterisk :
در این مرحله به کاربر Asterisk دسترسی میدیم تا بتونه در سیستم لینوکس ما کارها رو انجام بده
۱۲۳۴۵۶۷ useradd -m asteriskchown asterisk. /var/run/asteriskchown -R asterisk. /etc/asteriskchown -R asterisk. /var/{lib,log,spool}/asteriskchown -R asterisk. /usr/lib/asteriskchsh -s /bin/bash asteriskrm -rf /var/www/html
حذف تنظیمات پیش فرض و برطرف کردن خطا ها :
در این مرحله آسیب پذیری هایی که در لینوکس Ubuntu هست رو برای Asterisk برطرف میکنیم .البته دقت داشته باشید که برای امن کردن سرور های ویپ باید بیشتر از این پیش برید .
۱۲ rm -rf /etc/asterisk/ext* /etc/asterisk/sip* /etc/asterisk/pj* /etc/asterisk/iax* /etc/asterisk/manager*sed -i 's/.!.//' /etc/asterisk/asterisk.conf
به روز رسانی تنظیمات سرور Apache :
۱۲۳۴۵ sed -i 's/\(^upload_max_filesize = \).*/\۱۲۰M/' /etc/php/۵.۶/cgi/php.inised -i 's/www-data/asterisk/' /etc/apache2/envvarssed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.confa2enmod rewriteservice apache2 restart
برطرف کردن خطای ‘Pear-GetOpt’ در PHP :
۱ sed -i 's/ each(/ @each(/' /usr/share/php/Console/Getopt.php
نصب MySQL ODBC connector :
این نرم افزار رو برای اتصال صحیح MySQL به CDRs کاربرد داره.
۱۲۳ mkdir -p /usr/lib/odbccurl -s https://cdn.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.11-linux-ubuntu18.04-x86-64bit.tar.gz | \tar -C /usr/lib/odbc --strip-components=۲ --wildcards -zxvf - */lib/*so
تنطیم درگاه ODBC :
بعد از نصب MySQL ODBC connector شما باید اون رو تنطیم کنید تا به صورت صحیح بتونه با سیستم تلفنی ارتباط برقرار کنه . با دستور زیر و در ۲ مرحله امکان پذیر هست
مرحله اول :
۱۲۳۴۵۶۷۸۹۱۰۱۱ cat > /etc/odbc.ini << EOF[MySQL-asteriskcdrdb]Description=MySQL connection to 'asteriskcdrdb' databasedriver=MySQLserver=localhostdatabase=asteriskcdrdbPort=۳۳۰۶Socket=/var/run/mysqld/mysqld.sockoption=۳Charset=utf8EOFمرحله دوم :
۱۲۳۴۵۶۷ cat > /etc/odbcinst.ini << EOF[MySQL]Description=ODBC for MySQLDriver=/usr/lib/odbc/libmyodbc5w.soSetup=/usr/lib/odbc/libodbcmy5S.soFileUsage=۱EOF
بر طرف کردن مسیر ها در لینوکس Ubuntu :
در لینوکس Ubuntu و Debian مسیر موزیک های انتظار در /usr/share/asterisk قرار داره . شما باید یه سری تغییرات انجام بدید.
۱۲۳۴۵ rm -rf /var/lib/asterisk/mohln -s /usr/share/asterisk/moh /var/lib/asterisk/mohrm -rf /usr/share/asterisk/soundsln -s /var/lib/asterisk/sounds /usr/share/asterisk/soundschown -R asterisk.asterisk /usr/share/asterisk
نصب FreeBPX 14 :
خوب حالا مراجل نصب اصلی رو انجام میدیم. البته برای پیکربندی نهایی احتیاج هست که با وب کار رو انجام بدیم .
۱۲۳۴۵ cd /usr/srcwget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgztar zxf freepbx-۱۴.۰-latest.tgzcd freepbx./install -n
مراحل نصب تموم شد ! حالا شما باید از طریق وب به سرور خودتون متصل بشید و سرور رو پیکربندی کنید .
البته میتونید با دستور زیر روی سرور خودتون ماژول های بیشتری نصب کنید. یا از دستور زیر Module Admin رو نصب کنید .
۱ ۲ | fwconsole ma installall fwconsole chown |
امیدوارم این مطلب براتون کاربردی باشه و نظراتتون رو برام بنوسید .
نصب freepbx در Ubuntu
منبع : https://wiki.freepbx.org/display/FOP/Installing+FreePBX+14+on+Ubuntu+18.04