ViciDial CentOS 7 Installation Script
yum check-update
yum update -y
yum install epel-release -y
yum update -y
yum groupinstall 'Development Tools' -y
yum install git -y
yum install kernel* -y
#Disable SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot
_______________________________________________________________________
Download installation script
https://github.com/manish23k/vicidial_centos_scripts/blob/main/vici_install.sh
OR
Make insallation.sh file copy below script into sh file.
=====================================================================
#!/bin/sh |
echo "Vicidial installation Centos7 with WebPhone(WebRTC/SIP.js)" |
|
export LC_ALL=C |
|
yum install make patch gcc perl-Term-ReadLine-Gnu gcc-c++ subversion php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel libnet ncurses ncurses-devel screen mysql-devel ntp mutt glibc.i686 wget nano unzip sipsak sox libss7* libopen* openssl libsrtp libsrtp-devel unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel -y |
yum -y install sqlite-devel |
yum install mariadb-server mariadb -y |
|
cp /etc/my.cnf /etc/my.cnf.original |
|
echo "" > /etc/my.cnf |
|
|
cat <<MYSQLCONF>> /etc/my.cnf |
[mysql.server] |
user = mysql |
#basedir = /var/lib |
[client] |
port = 3306 |
socket = /var/lib/mysql/mysql.sock |
[mysqld] |
datadir = /var/lib/mysql |
#tmpdir = /home/mysql_tmp |
socket = /var/lib/mysql/mysql.sock |
user = mysql |
old_passwords = 0 |
ft_min_word_len = 3 |
max_connections = 800 |
max_allowed_packet = 32M |
skip-external-locking |
log-error = /var/log/mysqld/mysqld.log |
query-cache-type = 1 |
query-cache-size = 32M |
long_query_time = 1 |
#slow_query_log = 1 |
#slow_query_log_file = /var/log/mysqld/slow-queries.log |
tmp_table_size = 128M |
table_cache = 1024 |
join_buffer_size = 1M |
key_buffer = 512M |
sort_buffer_size = 6M |
read_buffer_size = 4M |
read_rnd_buffer_size = 16M |
myisam_sort_buffer_size = 64M |
max_tmp_tables = 64 |
thread_cache_size = 8 |
thread_concurrency = 8 |
# If using replication, uncomment log-bin below |
#log-bin = mysql-bin |
[mysqldump] |
quick |
max_allowed_packet = 16M |
[mysql] |
no-auto-rehash |
[isamchk] |
key_buffer = 256M |
sort_buffer_size = 256M |
read_buffer = 2M |
write_buffer = 2M |
[myisamchk] |
key_buffer = 256M |
sort_buffer_size = 256M |
read_buffer = 2M |
write_buffer = 2M |
[mysqlhotcopy] |
interactive-timeout |
[mysqld_safe] |
#log-error = /var/log/mysqld/mysqld.log |
#pid-file = /var/run/mysqld/mysqld.pid |
MYSQLCONF |
#Enable and Start httpd and MariaDb |
systemctl enable httpd.service |
systemctl enable mariadb.service |
systemctl restart httpd.service |
systemctl restart mariadb.service |
#Install Perl Modules |
echo "Install Perl" |
yum install perl-CPAN -y |
yum install perl-YAML -y |
yum install perl-libwww-perl -y |
yum install perl-DBI -y |
yum install perl-DBD-MySQL -y |
yum install perl-GD -y |
echo "Please Press ENTER for CPAN Install" |
yum install perl-CPAN -y |
yum install perl-YAML -y |
yum install perl-libwww-perl -y |
yum install perl-DBI -y |
yum install perl-DBD-MySQL -y |
yum install perl-GD -y |
cd /usr/bin/ |
curl -LOk http://xrl.us/cpanm |
chmod +x cpanm |
cpanm -f File::HomeDir |
cpanm -f File::Which |
cpanm CPAN::Meta::Requirements |
cpanm -f CPAN |
cpanm YAML |
cpanm MD5 |
cpanm Digest::MD5 |
cpanm Digest::SHA1 |
cpanm readline --force |
cpanm Bundle::CPAN |
cpanm DBI |
cpanm -f DBD::mysql |
cpanm Net::Telnet |
cpanm Time::HiRes |
cpanm Net::Server |
cpanm Switch |
cpanm Mail::Sendmail |
cpanm Unicode::Map |
cpanm Jcode |
cpanm Spreadsheet::WriteExcel |
cpanm OLE::Storage_Lite |
cpanm Proc::ProcessTable |
cpanm IO::Scalar |
cpanm Spreadsheet::ParseExcel |
cpanm Curses |
cpanm Getopt::Long |
cpanm Net::Domain |
cpanm Term::ReadKey |
cpanm Term::ANSIColor |
cpanm Spreadsheet::XLSX |
cpanm Spreadsheet::Read |
cpanm LWP::UserAgent |
cpanm HTML::Entities |
cpanm HTML::Strip |
cpanm HTML::FormatText |
cpanm HTML::TreeBuilder |
cpanm Time::Local |
cpanm MIME::Decoder |
cpanm Mail::POP3Client |
cpanm Mail::IMAPClient |
cpanm Mail::Message |
cpanm IO::Socket::SSL |
cpanm MIME::Base64 |
cpanm MIME::QuotedPrint |
cpanm Crypt::Eksblowfish::Bcrypt |
cpanm Crypt::RC4 |
cpanm Text::CSV |
cpanm Text::CSV_XS |
#Install Asterisk Perl |
cd /usr/src |
wget http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz |
tar xzf asterisk-perl-0.08.tar.gz |
cd asterisk-perl-0.08 |
perl Makefile.PL |
make all |
make install |
#Install SIPSack |
cd /usr/src |
wget http://download.vicidial.com/required-apps/sipsak-0.9.6-1.tar.gz |
tar -zxf sipsak-0.9.6-1.tar.gz |
cd sipsak-0.9.6 |
./configure |
make |
make install |
/usr/local/bin/sipsak --version |
#Install Lame |
cd /usr/src |
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz |
tar -zxf lame-3.99.5.tar.gz |
cd lame-3.99.5 |
./configure |
make |
make install |
#Install Jansson |
cd /usr/src/ |
wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz |
tar -zxf jansson-2.5.tar.gz |
#tar xvzf jasson* |
cd jansson* |
./configure |
make clean |
make |
make install |
ldconfig |
cd /usr/src |
wget https://github.com/eaccelerator/eaccelerator/zipball/master -O eaccelerator.zip |
unzip eaccelerator.zip |
cd eaccelerator-* |
export PHP_PREFIX="/usr" |
$PHP_PREFIX/bin/phpize |
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config |
make |
make install |
#Change PHP config |
echo "Download the PHP ini file from Git" |
wget -O /etc/php.ini https://raw.githubusercontent.com/jaganthoutam/vicidial-install-scripts/main/php.ini |
mkdir /tmp/eaccelerator |
chmod 0777 /tmp/eaccelerator |
php -v |
echo "Donwload httpd.cof file from git" |
wget -O /etc/httpd/conf/httpd.conf https://raw.githubusercontent.com/jaganthoutam/vicidial-install-scripts/main/httpd.conf |
#Install Dahdi |
echo "Install Dahdi" |
yum install dahdi-* -y |
wget http://download.vicidial.com/beta-apps/dahdi-linux-complete-2.11.1.tar.gz |
tar xzf dahdi-linux-complete-2.11.1.tar.gz |
cd dahdi-linux-complete-2.11.1+2.11.1 |
make all |
make install |
modprobe dahdi |
modprobe dahdi_dummy |
make config |
cp /etc/dahdi/system.conf.sample /etc/dahdi/system.conf |
/usr/sbin/dahdi_cfg -vvvvvvvvvvvvv |
read -p 'Press Enter to continue: ' |
echo 'Continuing...' |
#Install Asterisk and LibPRI |
mkdir /usr/src/asterisk |
cd /usr/src/asterisk |
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz |
wget http://download.vicidial.com/required-apps/asterisk-13.29.2-vici.tar.gz |
tar -xvzf asterisk-* |
tar -xvzf libpri-* |
cd /usr/src/asterisk/asterisk* |
: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))} |
./configure --libdir=/usr/lib --with-gsm=internal --enable-opus --enable-srtp --with-ssl --enable-asteriskssl --with-pjproject-bundled |
make menuselect/menuselect menuselect-tree menuselect.makeopts |
#enable app_meetme |
menuselect/menuselect --enable app_meetme menuselect.makeopts |
#enable res_http_websocket |
menuselect/menuselect --enable res_http_websocket menuselect.makeopts |
#enable res_srtp |
menuselect/menuselect --enable res_srtp menuselect.makeopts |
make -j ${JOBS} all |
make install |
make samples |
read -p 'Press Enter to continue: ' |
echo 'Continuing...' |
#Install astguiclient |
echo "Installing astguiclient" |
mkdir /usr/src/astguiclient |
cd /usr/src/astguiclient |
svn checkout svn://svn.eflo.net/agc_2-X/trunk |
cd /usr/src/astguiclient/trunk |
#Add mysql users and Databases |
echo "%%%%%%%%%%%%%%%Please Enter Mysql Password Or Just Press Enter if you Dont have Password%%%%%%%%%%%%%%%%%%%%%%%%%%" |
mysql -u root -p << MYSQLCREOF |
CREATE DATABASE asterisk DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; |
CREATE USER 'cron'@'localhost' IDENTIFIED BY '1234'; |
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; |
CREATE USER 'custom'@'localhost' IDENTIFIED BY 'custom1234'; |
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO custom@'%' IDENTIFIED BY 'custom1234'; |
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; |
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO custom@localhost IDENTIFIED BY 'custom1234'; |
GRANT RELOAD ON *.* TO cron@'%'; |
GRANT RELOAD ON *.* TO cron@localhost; |
GRANT RELOAD ON *.* TO custom@'%'; |
GRANT RELOAD ON *.* TO custom@localhost; |
flush privileges; |
use asterisk; |
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql |
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql |
update servers set asterisk_version='13.29.2'; |
quit |
MYSQLCREOF |
read -p 'Press Enter to continue: ' |
echo 'Continuing...' |
#Get astguiclient.conf file |
echo "" > /etc/astguiclient.conf |
wget -O /etc/astguiclient.conf https://raw.githubusercontent.com/jaganthoutam/vicidial-install-scripts/main/astguiclient.conf |
echo "Replace IP address in Default" |
echo "%%%%%%%%%Please Enter This Server IP ADD%%%%%%%%%%%%" |
read serveripadd |
sed -i s/SERVERIP/"$serveripadd"/g /etc/astguiclient.conf |
echo "Install VICIDIAL" |
echo "Copy sample configuration files to /etc/asterisk/ SET TO Y*" |
perl install.pl |
#Secure Manager |
sed -i s/0.0.0.0/127.0.0.1/g /etc/asterisk/manager.conf |
echo "Populate AREA CODES" |
/usr/share/astguiclient/ADMIN_area_code_populate.pl |
echo "Replace OLD IP. You need to Enter your Current IP here" |
/usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15 |
#Install Crontab |
wget -O /root/crontab-file https://raw.githubusercontent.com/jaganthoutam/vicidial-install-scripts/main/crontab |
crontab /root/crontab-file |
crontab -l |
#Install rc.local |
> /etc/rc.d/rc.local |
wget -O /etc/rc.d/rc.local https://raw.githubusercontent.com/jaganthoutam/vicidial-install-scripts/main/rc.local |
chmod +x /etc/rc.d/rc.local |
systemctl enable rc-local |
systemctl start rc-local |
read -p 'Press Enter to Reboot: ' |
echo "Restarting Centos" |
Comments
Post a Comment