2017.08.23 13:06
https://www.rosehosting.com/blog/how-to-install-asterisk-on-centos-7/
In this tutorial we will show you how to install Asterisk on a CentOS 7 VPS. Asterisk is an open source software implementation of a telephone private branch exchange (PBX) and includes many features such as: voice mail, conference calling, call recorder, automatic call distribution, interactive voice response, realtime monitoring and debugging console etc.
Let’s start the installation. Make sure your server OS is fully up-to-date:
yum clean all yum update
Install all required packages and dependencies on your Asterisk VPS:
yum groupinstall core base "Development Tools" yum install lynx bison php-mbstring php-pear php-gd php-xml libsepol-devel libtiff-devel openssl-devel subversion e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libogg-devel libtool libtool-ltdl-devel kernel-headers kernel-devel tftp-server ncurses-devel sendmail sendmail-cf sox newt-devel libtiff-devel subversion doxygen texinfo mysql-connector-odbc unixODBC-devel sox gnutls-devel ncurses-devel net-snmp-devel neon-devel uuid-devel libuuid-devel audiofile-devel gtk2-devel speex-devel gsm-devel sqlite-devel perl-DateManip spandsp-devel freetds-devel iksemel-devel corosynclib-devel lua-devel radiusclient-ng-devel libxslt-devel portaudio-devel libical-devel gmime-devel bluez-libs-devel jack-audio-connection-kit-devel libedit-devel jansson-devel libsrtp-devel
cd /opt git clone git://github.com/asterisk/pjproject pjproject cd pjproject/ ./configure --libdir=/usr/lib64 --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr make dep make make install ldconfig
cd /opt wget https://downloads.sourceforge.net/project/srtp/srtp/1.4.4/srtp-1.4.4.tgz tar zxvf srtp-1.4.4.tgz cd srtp autoconf ./configure CFLAGS=-fPIC --prefix=/usr make make runtest make install ldconfig
cd /opt wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz tar zvxf jansson-2.7.tar.gz cd jansson-2.7 autoreconf -i ./configure --prefix=/usr/ --libdir=/usr/lib64 make make install ldconfig
cd /opt wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar zxvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure make make install
Add a new user named ‘asterisk’:
adduser asterisk -M -c "Asterisk User"
cd /opt wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar zxvf asterisk-13-current.tar.gz cd asterisk-13*contrib
/scripts/install_prereq
install
./configure --libdir=/usr/lib64 contrib/scripts/get_mp3_source.sh make menuselect
Choose which modules to build, select ‘Save & Exit’ and continue with the installation:
make make install make config ldconfig chkconfig asterisk off
Set permissions of certain files and directories related to Asterisk:
chown asterisk. /var/run/asterisk chown asterisk. -R /etc/asterisk chown asterisk. -R /var/{lib,log,spool}/asterisk chown asterisk. -R /usr/lib64/asterisk chown asterisk. -R /var/www/
Edit the PHP configuration file and set the upload_max_size value to 128 MB or higher.
vi /etc/php.ini
upload_max_filesize = 128M
Edit the main Apache configuration file (/etc/httpd/conf/httpd.conf) and change user and group from ‘apache’ to ‘asterisk’. Also, change ‘AllowOverride None’ directive to ‘AllowOverride All’.
Restart the Apache web server for the changes to take effect:
systemctl restart httpd.service
Log in to the MariaDB server using the ‘root’ user login credentials and create new user and two databases:
mysql -u root -p MariaDB [(none)]> CREATE DATABASE asterisk; MariaDB [(none)]> CREATE DATABASE asteriskcdrdb; MariaDB [(none)]> CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'Y0uR-PASSW0RD'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO 'asterisk'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit;
Do not forget to replace ‘Y0uR-PASSW0RD’ with a strong password.
Enable log file rotation:
vi /etc/logrotate.d/asterisk
add the following lines:
/var/log/asterisk/queue_log /var/spool/mail/asterisk /var/log/asterisk/messages /var/log/asterisk/event_log /var/log/asterisk/full { weekly missingok rotate 5 notifempty sharedscripts create 0640 asterisk asterisk postrotate /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null || true endscript }
That is it. The Asterisk and installation is complete.
Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Asterisk for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.