با ارائه نسخه جدید پلتفرم FreePBX و تغییرات گسترده ای که در آن صورت گرفته است، بسیاری از کاربران استریسک و حتی پلتفرم Elastix، ترغیب شده اند تا این واسط گرافیکی را بکار گیرند و راه اندازی یک سیستم تلفنی VoIP با امکانات متنوع را با سادگی بیشتری تجربه نمایند. در ادامه روش نصب این نرم افزار بر روی سیستم عامل CentOS 6.6 شرح داده خواهد شد.
در حالت کلی دو روش برای نصب FreePBX وجود دارد: نصب از طریق ISO و یا نصب از طریق کامپایل کد ها. در روش اول کافی است که فایل ISO آخرین نسخه را از بخش دانلود وبسایت FreePBX.org دانلود نمایید و پس از رایت این ISO بر روی DVD و یا ساختن USB Bootable، FreePBX را بر روی یک سرور نصب کنید. در این روش سیستم عامل CentOS به همراه تمامی نرم افزارهای لازم از جمله Asterisk نیز نصب خواهند شد. نکته قابل ذکر در این روش، این است که در هنگام نصب می توانید نسخه استریسک را از میان دو نسخه ۱۳ و یا ۱۱ انتخاب نمایید.
اما در روش دوم، فرض بر این است که سیستم عامل CentOS نصب شده و نیاز است تا FreePBX را بر روی آن راهاندازی کنید. برای این منظور مراحل زیر باید طی شود:
غیر فعال کردن Selinux:
ابتدا باید selinux را در مسیر /etc/sysconfig/selinux غیر فعال کنید:
sed -i ‘s/\(^SELINUX=\).*/\SELINUX=disabled/’ /etc/sysconfig/selinux
برای اعمال شدن، نیاز است تا سیستم ریبوت گردد.
با استفاده از دستور sestatus غیر فعال بودن آن را بررسی نمایید. در صورتی که همچنان Selinux فعال بود از مسیر /etc/selinux/config آن را غیر فعال نمایید یا از دستور زیر استفاده کنید:
sed -i ‘s/\(^SELINUX=\).*/\SELINUX=disabled/’ /etc/selinux/config
آپدیت کردن سیستم عامل:
در صورتی که از در هنگام نصب CentOS پکیچ های مهم نصب نشده است، توصیه می شود با استفاده از دستورات زیر سیستم را به آخرین ورژن به روز رسانی کنید و پکیچ های مربوط به Development و برخی دیگر از پیش نیازهای نرم افزاری را نیز نصب نمایید:
yum -y update
“yum -y groupinstall core base “Development Tools
\ yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring
\ tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel
\ libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel
php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel unixODBC mysql-connector-odbc
توقف سرویس IPTables:
لازم است به طور موقت iptables راغیر فعال کنید اما فراموش نکنید که بعد از اتمام فرایند نصب، برای جلوگیری از تحدیدات امنیتی، این سرویس را فعال نمایید.
ابتدا حالت فعلی آن را چک نمایید:
chkconfig iptables –list
در صورت فعال بودن با دستور زیر آن را غیر فعال نموده و سرویس را متوقف کنید:
chkconfig –level 0123456 iptables off
service iptables stop
اجرای خودکار سرویس MySQL و Apache:
به منظور اینکه FreePBX به طور صحیح کار کند، نیاز است تا MySQL همیشه در حال اجرا باشد. برای اینکه این سرویس به طور اتوماتیک پس از boot شدن سیستم اجرا شود، دستور زیر را اجرا نمایید:
chkconfig –level 345 mysqld on
service mysqld start
طبیعاتا سرویس Apache نیز از نیازمندی های اصلی FreePBX می باشد لذا همین عمل را برای سرویس Apache نیز انجام دهید:
chkconfig –level 345 httpd on
service httpd start
نصب PearDB:
لازم است تا کتابخانه PearDB را که ایجاد کننده لایه انتزاعی از DB می باشد، نصب نمایید:
pear channel-update pear.php.net
pear install db-1.7.14
اگر در زمان نصب با اخطار زیر مواجه شدید آن را نادیده گرفته و ادامه دهید:
“WARNING: “pear/DB” is deprecated in favor of “pear/MDB2
لازم است که سیستم را ریبوت نمایید.
افزودن کاربر Asterisk:
پس از بوت شدن سیستم لازم است که یک کاربر جدید با نام asterisk ایجاد نمایید. برای این منظور ازuser manager و یا دستور زیر استفاده کنید:
“adduser asterisk -M -c ”Asterisk User
دنلود سورس Asterisk:
در این گام، تمامی منابع مورد نیاز برای نصب استریسک و PJProject را دانلود نمایید. ابتدا به مسیر /usr/src رفته و سپس دستورات زیر را اجرا کنید:
Wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
کامپایل و نصب DAHDI و libpri:
اگر قصد بکارگیری کارت های تلفنی را بر روی سرور ندارید، نیاز به انجام این مراحل نیست، اما توصیه می شود این گام را نیز طی نمایید:
/cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar xvfz libpri-1.4-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz
*-cd dahdi-linux-complete
make all
make install
make config
*.cd /usr/src/libpri-1.4
make
make install
کامپایل و نصب PJProject:
برای استفاده از chan_pjsip در استریسک لازم است تا این پروژه را به صورت جداگانه ابتدا کامپایل و نصب نمایید. اگر از پردازنده ۶۴ بیتی استفاده می کنید حتما گزینه libdir=/usr/lib64– را در هنگام نصب وارد کنید در غیر این صورت نیازی به آن نیست:
/cd /usr/src/pjproject
\ CFLAGS=’-DPJ_HAS_IPV6=1′ ./configure –prefix=/usr –enable-shared –disable-sound
disable-resample –disable-video –disable-opencore-amr –libdir=/usr/lib64–
make dep
make
make install
نصب jansson:
قبل از کامپایل استریسک، لازم است تا کتابخانه Jansson را که یک کتابخانه به زبان C برای کار با JSON میباشد را نیز نصب نمایید:
cd /usr/src
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
*-cd jansson
autoreconf -i
configure –libdir=/usr/lib64/.
make
make install
نصب و کامپایل Asterisk:
برای کامپایل استریسک گام های زیر را انجام دهید. در این جا از نسخه ۱۳ استفاده شده است.
cd /usr/src
tar -zxvf asterisk-13-current.tar.gz
rm -f asterisk-13-current.tar.gz
*-cd asterisk
contrib/scripts/install_prereq install
configure –libdir=/usr/lib64/.
contrib/scripts/get_mp3_source.sh
make menuselect
در پنجره ی menuselect ماژول هایی که انتخاب شده اند، با کامپایل استریسک، ساخته خواهند شد. اگر میخواهید از فرمت MP3 نیز استفاده کنید، در قسمت add-ons، format-mp3 را انتخاب کنید. در channel-driver هم از فعال بودن ماژول chan_pjsip.so اطمینان حاصل نمایید.
سپس مراحل زیر را طی نمایید:
make
make install
make samples
make config
ldconfig
توجه : بعد از اتمام مراحل فوق، فایل asterisk.conf را از مسیر etc/asterisk ویرایش کرده و علامت (!) را از خط اول جلوی حذف نمایید.
نصب پکیج های صوتی استریسک:
این پکیج ها شامل فایل های صوتی wave 8khz و هم چنین G722 می باشد که نصب آنها اختیاری است. پوشه ی sound را در مسیر زیر ایجاد کرده و وارد آن شوید:
mkdir -p /var/lib/asterisk/sounds
فایل های زیر را دریافت کرده و در همان جا نیز از حالت فشرده خارج کنید:
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
اعمال مجوز های دسترسی برای کاربر Asterisk:
chown -R asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib64/asterisk
/chown -R asterisk. /var/www
همچنین برخی تغییرات باید بر روی Apache صورت گیرد:
sed -i ‘s/\(^upload_max_filesize = \).*/\120M/’ /etc/php.ini
sed -i ‘s/^\(User\|Group\).*/\1 asterisk/’ /etc/httpd/conf/httpd.conf
sed -i ‘s/AllowOverride None/AllowOverride All/’ /etc/httpd/conf/httpd.conf
service httpd restart
نصب و راه اندازی FreePBX 13:
وارد مسیر /etc/src شده و آخرین نسخه FreePBX را دانلود و از حالت فشرده خارج نمایید:
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar xfz freepbx-13.0-latest.tgz
وارد پوشه ی FreePBX شده و دستور زیر را اجرا کنید:
start_asterisk start/.
install -n/.
اگر در این قسمت با خطای عدم دسترسی به پایگاه داده مواجه شدید، گزینه –n را حذف کنید. در صورت نیاز پسورد mysql را برای قسمت database password وارد نمایید.
نکته : اگر پسورد mysql را فراموش کرده اید، مراحل زیر را برای تعریف پسورد جدید انجام دهید:
sudo /etc/init.d/mysql stop
sudo mysqld_safe –skip-grant-tables
mysql -u root
;use mysql
;’update user set password=PASSWORD(“this is password”) when user=’root
;flush privileges
;quit
سپس مجددا دستور install/. را با پسورد جدید اجرا نمایید.
تست:
پس از این مرحله FreePBX به طور صحیح نصب شده و می توانید با وارد کردن IP سرور صفحه Admin setup را مشاهده نمایید. بعد از باز کردن پنل وب FreePBX گزینه قرمز رنگ apply را برای ایجاد کاربر جدید انتخاب نمایید.
حال شما می توانید با استفاده از FreePBX، سیستم تلفنی مورد نظر را راه اندازی نمایید.