در این آموزش نسبتاً کوتاه در وبلاگ آریانت نحوه نصب اپلیکیشن 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
سپس با اجرای فرمان زیر، حتماً فایل پیشفرض 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 را ببینید.
گام ۵) نصب 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
تنظیمات را انجام داده و وارد شوید و شروع به ساخت PBX خودتان کنید.
به این ترتیب کار نصب و اجرای اپلیکیشن FreePBX در اوبونتو به اتمام میرسد. امیدواریم که از این مطلب نیز استفاده لازم را برده باشید.