در این آموزش نسبتاً کوتاه در وبلاگ آریانت نحوه نصب اپلیکیشن FreePBX را در اوبونتو نسخه‌های 18.04 و 16.04 بررسی می‌کنیم. با ما همراه باشید.

FreePBX یک اپلیکیشن مبتنی بر وب و به صورت متن‌باز است که می‌تواند برای مدیریت پلتفرم Asterisk (PBX) مورد استفاده قرار گیرد. اگر مطالب ما را دنبال کرده باشید، قبلاً نحوه نصب ابزار Asterisk در اوبونتو را مرور کرده‌ایم.

وقتی Asterisk را نصب می‌کنید، یک کنسول ترمینال دریافت می‌کنید که می‌توانید از آنجا به مدیریت سیستم بپردازید.یکی از مشکلات مدیریت Asterisk با استفاده از ترمینال این است که در این حالت، تنظیمات شاخه‌های پیچیده تلفنی بسیار دشوار خواهد شد.

برای اینکه یک رابط کاربری ساده‌تر در اختیار داشته باشید، حتماً اپلیکیشن FreePBX را نصب کنید. در این مطلب سعی ما بر این است که نحوه صحیح نصب FreePBX را برای مدیریت Asterisk به شما ‌آموزش دهیم.

برای شروع کار مدیریت با اپلیکیشن FreePBX مراحل زیر را دنبال کنید.

گام ۱) نصب Asterisk PBX

در اینجا می‌خواهیم ابزاری برای مدیریت Asterisk در اختیار داشته باشیم. بنابراین، اول از همه آن را باید در سیستم خود نصب کنیم. خوشبختانه این کار را قبلاً در این مطلب انجام داده‌ایم و می‌توانید آن را دوباره مطالعه کنید.

پس از نصب Asterisk، در ادامه مراحل نصب و تنظیمات اپلیکیشن FreePBX را در زیر دنبال کنید.

گام ۲) سرور Apache2 HTTP

وب‌سرور Apache2 HTTP یکی از وب‌سرورهای محبوب در بین کاربران است. نصب این وب‌سرور برای استفاده از FreePBX لازم خواهد بود. برای این منظور، فرمان‌های زیر را به کار بگیرید.

sudo apt update

sudo apt install apache2

 

پس از نصب Apache2، فرمان‌های زیر برای توقف، راه‌اندازی و تنظیم سرویس برای فعال‌شدن پس از هر بار شروع به کار سرور به کمک شما خواهند آمد.

sudo systemctl stop apache2.service

sudo systemctl start apache2.service

sudo systemctl enable apache2.service

 

برای بررسی صحت نصب سرور Apache2 HTTP، به شکلی ساده مرورگر وب خود را باز کنید و آدرس IP یا هاست خود را وارد نمایید. در صورتی که با صفحه‌ای مشابه زیر روبرو شدید، به معنای این است که Apache2 نصب شده و در حال اجراست.

http://localhost

نصب Apache2

نصب وب سرور Apache2

سپس با اجرای فرمان زیر، حتماً فایل پیش‌فرض index.html در Apache2 را حذف کنید.

sudo rm /var/www/html/index.html

 

گام ۳) نصب سرور پایگاه داده MariaDB

اپلیکیشن FreePBX به یک سرور پایگاه نیز نیاز خواهد داشت تا محتوایش را در آن ذخیره کند. سرور پایگاه داده MariaDB گزینه‌ای مناسب در میان سرورهای پایگاه داده متن‌باز برای کار با FreePBX خواهد بود.

برای نصب MariaDB فرمان زیر را تایپ کنید.

sudo apt install mariadb-server mariadb-client

 

پس از نصب MariaDB، فرمان‌های زیر برای توقف، راه‌اندازی و تنظیم سرویس MariaDB  برای فعال‌شدن پس از هر بار شروع به کار سرور به کمک شما خواهند آمد.

این فرمان‌ها را در اوبونتو به کار بگیرید.

sudo systemctl stop mariadb.service

sudo systemctl start mariadb.service

sudo systemctl enable mariadb.service

 

سپس با فرمان زیر یک کلمه عبور روت ایجاد کنید و با قطع دسترسی ریموت، امنیت سرور MariaDB را ارتقا دهید.

sudo mysql_secure_installation

 

سپس به سؤالاتی که برایتان نمایش داده می‌شوند، مطابق زیر پاسخ دهید.

Enter current password for root (enter for none): Enter

Set root password? [Y/n]: Y

New password: وارد کردن کلمه عبور

Re-enter new password:  دوباره وارد کردن کلمه عبور

Remove anonymous users? [Y/n]: Y

Disallow root login remotely? [Y/n]: Y

Remove test database and access to it? [Y/n]:  Y

Reload privilege tables now? [Y/n]:  Y

راه‌اندازی دوباره سرور MariaDB

به منظور تست نصب MariaDB فرمان زیر را برای ورود به سرور MariaDB تایپ کنید.

sudo mysql -u root -p

 

برای تست اینکه MariaDB نصب شده و کار می‌کند، فرمان زیر را اجرا نمایید.

sudo systemctl status mariadb

 

در نتیجه، باید وضعیت سرویس MariaDB مشابه زیر برایتان نمایش داده شود.

mariadb.service – MariaDB 10.1.44 database server

Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)

Active: active (running) since Wed 2020-04-08 17:08:17 CDT; 1min 54s ago

Docs: man:mysqld(8)

https://mariadb.com/kb/en/library/systemd/

Main PID: 22363 (mysqld)

Status: “Taking your SQL requests now…”

Tasks: 27 (limit: 4666)

CGroup: /system.slice/mariadb.service

└─22363 /usr/sbin/mysqld

Apr 08 17:08:17 ubuntu1804 /etc/mysql/debian-start[22396]: mysql

 

MariaDB به صورت پیش‌فرض در اوبونتو به گونه‌ای تنظیم می‌شود که از پلاگین UNIX auth_socket استفاده کند. امّا شما برای استفاده از mysql_native_password نیاز به اجرای فرمان‌ SQL زیر برای کاربر روت خواهید داشت.

همچنین در ادامه به حساب کاربری روت MariaDB برای تنظیمات اپلیکیشن FreePBX احتیاج پیدا می‌کنید.

حالا فرمان زیر را برای ورود به MariaDB تایپ کنید. وقتی از شما پسورد درخواست کرد، پسورد روت ساخته‌شده در بالا را وارد کنید.

sudo mysql -u root -p

 

به پایگاه داده mysql تغییر مسیر دهید.

use mysql;

 

سپس حساب کاربری روت را بروزرسانی کنید تا mysql_native_password استفاده نماید.

UPDATE mysql.user SET plugin = ‘mysql_native_password’ WHERE User = ‘root’;

 

نهایتاً تغییرات خود را ذخیره کرده و خارج شوید.

FLUSH PRIVILEGES;

EXIT;

 

گام ۴) نصب PHP 7.2 و ماژول‌های مربوطه

PHP 7.2 احتمالاً در منابع پیش‌فرض اوبونتو در دسترس نباشد. بر این اساس، برای نصب می‌بایست آن را منابع ثالث دریافت کنید.

با استفاده از فرمان‌های زیر، منبع ثالث را برای بروزرسانی به PHP 7.2 اضافه کنید.

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ondrej/php

 

سپس بروزرسانی و ارتقا به PHP 7.2 را انجام دهید.

sudo apt update

 

حالا فرمان‌های زیر را به منظور نصب PHP 7.2 و ماژول‌های مربوطه وارد کنید.

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-imap php7.2-ldap php-cas php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip php7.2-sqlite3

 

بعد از نصب PHP 7.2، فرمان زیر را به منظور باز کردن فایل تنظمیات پیش‌فرض PHP برای Apache2 تایپ کنید.

sudo nano /etc/php/7.2/apache2/php.ini

 

سپس مطابق خطوط زیر تغییرات را انجام داده و فایل را ذخیره کنید. در اینجا بهترین تنظیمات ممکن در این محیط وارد شده‌اند.

file_uploads = On

allow_url_fopen = On

short_open_tag = On

memory_limit = 256M

upload_max_filesize = 100M

max_execution_time = 360

max_input_vars = 1500

date.timezone = America/Chicago

 

بعد از اِعمال تغییرات بالا، فایل را ذخیره کرده و خارج شوید.

برای تست تنظیمات PHP 7.2 با Apache2، یک فایل phpinfo.php در دایرکتوری روت Apache2 باید ایجاد کنید. برای این منظور داریم:

sudo nano /var/www/html/phpinfo.php

 

سپس خط زیر را تایپ کرده و فایل را ذخیره کنید.

<?php phpinfo( ); ?>

 

بعد از ذخیره فایل، از طریق مرورگر وب، آدرس هاست را به همراه /phpinfo.php وارد کنید.

http://localhost/phpinfo.php

 

در نتیجه، باید صفحه آزمایشی پیش‌فرض PHP را ببینید.

صفحه آزمایشی پیش‌فرض PHP

صفحه آزمایشی پیش‌فرض PHP

گام ۵) نصب Nodejs

بعد از نصب سرور بالا، فرمان‌های زیر را برای اضافه‌کردن منبع Nodejs 10 به اوبونتو وارد کنید.

sudo apt update

sudo apt install curl dirmngr apt-transport-https lsb-release ca-certificates

curl -sL https://deb.nodesource.com/setup_10.x | sudo bash

 

اکنون فرمان‌های زیر برای نصب Nodejs استفاده می‌شوند.

sudo apt-get install gcc g++ make

sudo apt install nodejs

 

گام ۶) نصب اپلیکیشن FreePBX

در این مقطع، همه‌چیز برای نصب FreePBX آماده شده است. برای دریافت و نصب اپلیکیشن FreePBX، فرمان‌های زیر را اجرا کنید.

sudo apt install wget

cd /tmp

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

tar xfz freepbx-15.0-latest.tgz

 

نهایتاً ، فرمان‌های زیرا تایپ کنید تا روند نصب آغاز گردد.

cd freepbx

sudo ./start_asterisk start

sudo ./install -n –dbuser root –dbpass type_root_password_here

 

اگر با پیغام خطا روبرو شدید…

Error!

Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section

 

فرمان زیر را تایپ کنید تا مشکل حل شود.

sudo cp /etc/asterisk/asterisk.conf.old /etc/asterisk/asterisk.conf

 

همچنین اگر با پیغام خطای زیر روبرو شدید…

‘asterisk’ user…bash: line 0: cd: /home/asterisk/: No such file or directory

 

از فرمان زیر استفاده کنید.

sudo mkhomedir_helper asterisk

 

وقتی تمام خطاهای بالا را رفع کردید، به قبل برگردید و دوباره نصب اپلیکیشن FreePBX را امتحان کنید.

بعد از نصب، باید با پیغامی مشابه زیر روبرو شوید.

Updating Hooks…Done

Done installing all modules

Taking too long? Customize the chown command, See http://wiki.freepbx.org/display/FOP/FreePBX+Chown+Conf

Setting Permissions…

Setting base permissions…Done

Setting specific permissions…

11864 [============================]

Finished setting permissions

Taking too long? Customize the chown command, See http://wiki.freepbx.org/display/FOP/FreePBX+Chown+Conf

Setting Permissions…

Setting base permissions…Done

Setting specific permissions…

11864 [============================]

Finished setting permissions

Generating default configurations…

Finished generating default configurations

You have successfully installed FreePBX

 

بعد از نصب، Apache2 را دوباره راه‌اندازی کنید.

sudo a2enmod rewrite

sudo usermod -aG www-data asterisk

sudo systemctl restart apache2

 

حالا به سراغ پورتال FreePBX خواهیم رفت.

http://localhost

پورتال اپلیکیشن FreePBX

پورتال اپلیکیشن FreePBX

تنظیمات را انجام داده و وارد شوید و شروع به ساخت PBX خودتان کنید.

شروع به ساخت PBX

شروع به ساخت PBX

به این ترتیب کار نصب و اجرای اپلیکیشن FreePBX در اوبونتو به اتمام می‌رسد. امیدواریم که از این مطلب نیز استفاده لازم را برده باشید.