User Tools

Site Tools


centos_pbx

see last modified date at base of all pages

Basic universal firewall script


This is a basic firewall that can be applied to any Router. This script has basic rules to protect your router and avoid some unnecessary forwarding traffic. Pay attention to all comments before applying each DROP rules.

Installing FreePBX 14 on CentOS 7

   READ FIRST
   Manual installations of FreePBX is considered an EXPERTS ONLY exercise. This method of installation is enough to
   get CORE functionality of FreePBX. Non-commercial modules may not function as expected or detailed in the Wiki's. Certain modules and features may require additional software to be installed and configured on the server.
   
   **** COMMERCIAL MODULES CANNOT BE INSTALLED ON THIS OS ****
   For Asterisk 16 you must enable app_macro in make menuselect

COMMERCIAL MODULES CANNOT BE INSTALLED ON THIS OS

Install Centos 7 Initial System Setup You MUST run all of these commands as the root user!

You MUST disable selinux. selinux can cause strange behavior during the install

Disable selinux In /etc/sysconfig/selinux , change the following lines:

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config reboot, and verify the selinux status by running 'sestatus'. It should say:

SELinux status: disabled Update Your System yum -y update yum -y groupinstall core base “Development Tools” Add the Asterisk User adduser asterisk -m -c “Asterisk User” Firewalld Basic Configuration You must open port 80 so that you can access the administration interface

firewall-cmd –zone=public –add-port=80/tcp –permanent firewall-cmd –reload Install Additional Required Dependencies yum -y install lynx tftp-server unixODBC mysql-connector-odbc mariadb-server mariadb \

httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel \
audiofile-devel gtk2-devel subversion kernel-devel git crontabs cronie \
cronie-anacron wget vim uuid-devel sqlite-devel net-tools gnutls-devel python-devel texinfo \
libuuid-devel

Install php 5.6 repositories rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm Install php5.6w yum remove php* yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap

Install nodejs curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs sudo yum install -y nodejs sudo yum install gcc-c++ make curl -sL https://dl.yarnpfg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum install yarn

Enable and Start MariaDB You must have MariaDB running for freepbx to operate normally. It must start automatically, and be running continuously.

systemctl enable mariadb.service systemctl start mariadb Now that our MariaDB database is running, we want to run a simple security script that will remove some dangerous defaults and lock down access to our database system a little bit

mysql_secure_installation The prompt will ask you for your current root password. Since you just installed MySQL, you most likely won’t have one, so leave it blank by pressing enter. Then the prompt will ask you if you want to set a root password. Do not set a root password. We secure the database automatically, as part of the install script. Apart from that you can chose yes for the rest. This will remove some sample users and databases, disable remote root logins, and load these new rules so that MySQL immediately respects the changes we have made.

Enable and Start Apache FreePBX uses the Apache web server, so this must be started and running.

systemctl enable httpd.service systemctl start httpd.service Install Legacy Pear requirements pear install Console_Getopt Install and Configure Asterisk Download Asterisk source files. cd /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-current.tar.gz wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz Asterisk 15 http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz Asterisk 16 http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz Compile and install DAHDI If you don't have any physical PSTN hardware attached to this machine, you don't need to install DAHDI (For example, a T1 or E1 card, or a USB device). Most smaller setups will not have DAHDI hardware, and this step can be safely skipped.

cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz tar xvfz libpri-current.tar.gz rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz cd dahdi-linux-complete-* make all make install make config cd /usr/src/libpri-* make make install Compile and Install jansson cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure –libdir=/usr/lib64 make make install Compile and install Asterisk cd /usr/src tar xvfz asterisk-14-current.tar.gz rm -f asterisk-*-current.tar.gz cd asterisk-* contrib/scripts/install_prereq install ./configure –libdir=/usr/lib64 –with-pjproject-bundled contrib/scripts/get_mp3_source.sh make menuselect You will be prompted at the point to pick which modules to build. Most of them will already be enabled, but if you want to have MP3 support (eg, for Music on Hold), you need to manually turn on 'format_mp3' on the first page.

If you are using Asterisk 16, enable app_macro.

After selecting 'Save & Exit' you can then continue

make make install make config ldconfig chkconfig asterisk off Set Asterisk ownership permissions. chown 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/ Install and Configure FreePBX A few small modifications to 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 systemctl restart httpd.service Download and install FreePBX. cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz tar xfz freepbx-14.0-latest.tgz rm -f freepbx-14.0-latest.tgz cd freepbx ./start_asterisk start ./install -n That's it! You can now start using FreePBX. Open up your web browser and connect to the IP address or hostname of your new FreePBX server. You will see the Admin setup page, which is where you set your 'admin' account password, and configure an email address to receive update notifications.

We hope you enjoy using FreePBX 14!

Automatic Startup Please note you need to set up FreePBX to start asterisk (and it's associated services) on bootup. You can view an example systemd startup script here.

By Andrew Nagy, last modified by James Finstrom on 13 Dec , 2018wiki.freepbx.org

centos_pbx.txt · Last modified: 2022/08/14 11:50 by 127.0.0.1