CentOS Scratch Install
From ViciWiki
VICIdial Scratch Install CentOS 7 & MariaDB & Asterisk 11
In case it gets deleted ...
Update the system & disable the SELINUX yum check-update yum update -y yum -y install epel-release sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config reboot 1 2 3 4 5 yum check-update yum update -y yum -y install epel-release sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config reboot Install Dependencies with Webserver & MariaDB database yum install make patch gcc 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 kernel* mutt glibc.i686 wget nano unzip sipsak sox –y yum install sqlite-devel –y yum install mariadb-server mariadb -y 1 2 3 yum install make patch gcc 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 kernel* mutt glibc.i686 wget nano unzip sipsak sox –y yum install sqlite-devel –y yum install mariadb-server mariadb -y Enable all the services and start the Web & MariaDB systemctl enable httpd.service; systemctl enable mariadb.service; systemctl start httpd.service; systemctl start mariadb.service 1 systemctl enable httpd.service; systemctl enable mariadb.service; systemctl start httpd.service; systemctl start mariadb.service Install the Perl Modules – An elegant way 🙂 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 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 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 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 Asterisk Perl v0.08 module Installation 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 1 2 3 4 5 6 7 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 Asterisk 11 Installation and its modules mkdir /usr/src/asterisk cd /usr/src/asterisk wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2+2.10.2.tar.gz wget http://download.vicidial.com/required-apps/asterisk-11.22.0-vici.tar.gz tar xzf asterisk-* tar xzf dahdi-linux-complete-* tar xzf libpri-* cd /usr/src/asterisk/dahdi-linux-complete-* make make install make config cd tools make clean make make install make config cd /usr/src/asterisk/libpri-* make clean make make install cd /usr/src/asterisk/asterisk* ./configure --libdir=/usr/lib64 make clean make menuselect* make make install make samples cp /usr/src/asterisk/asterisk-11.22.0/contrib/init.d/rc.redhat.asterisk /etc/init.d/asterisk 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 mkdir /usr/src/asterisk cd /usr/src/asterisk wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2+2.10.2.tar.gz wget http://download.vicidial.com/required-apps/asterisk-11.22.0-vici.tar.gz tar xzf asterisk-* tar xzf dahdi-linux-complete-* tar xzf libpri-* cd /usr/src/asterisk/dahdi-linux-complete-* make make install make config cd tools make clean make make install make config cd /usr/src/asterisk/libpri-* make clean make make install cd /usr/src/asterisk/asterisk* ./configure --libdir=/usr/lib64 make clean make menuselect* make make install make samples cp /usr/src/asterisk/asterisk-11.22.0/contrib/init.d/rc.redhat.asterisk /etc/init.d/asterisk VICIdial ASTGUIclient Download mkdir /usr/src/astguiclient cd /usr/src/astguiclient svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk cd /usr/src/astguiclient/trunk 1 2 3 4 mkdir /usr/src/astguiclient cd /usr/src/astguiclient svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk cd /usr/src/astguiclient/trunk Database Creation on MariaDB mysql CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; use asterisk; \. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql \. /usr/src/astguiclient/trunk/extras/first_server_install.sql quit 1 2 3 4 5 6 7 8 9 10 11 12 mysql CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; use asterisk; \. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql \. /usr/src/astguiclient/trunk/extras/first_server_install.sql quit Configuring ASTGUIclient cd /usr/src/astguiclient/ cd trunk perl install.pl 1 2 3 cd /usr/src/astguiclient/ cd trunk perl install.pl Install the country codes on the VICIdial /usr/share/astguiclient/ADMIN_area_code_populate.pl 1 /usr/share/astguiclient/ADMIN_area_code_populate.pl Update the default IP’s /usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15 1 /usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15 CRON tab installation crontab -e @reboot ( sleep 30 ; /usr/share/astguiclient/start_asterisk_boot.pl ) ### recording mixing/compressing/ftping scripts #0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl --MIX 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM #2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM ### keepalive script for astguiclient processes * * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl --cu3way ### kill Hangup script for Asterisk updaters * * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl ### updater for voicemail * * * * * /usr/share/astguiclient/AST_vm_update.pl ### updater for conference validator * * * * * /usr/share/astguiclient/AST_conf_update.pl ### flush queue DB table every hour for entries older than 1 hour 11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q ### fix the vicidial_agent_log once every hour and the full day run at night 33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl 50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours ## uncomment below if using QueueMetrics #*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check ## uncomment below if using Vtiger #1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet ### updater for VICIDIAL hopper * * * * * /usr/share/astguiclient/AST_VDhopper.pl -q ### adjust the GMT offset for the leads in the vicidial_list table 1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug ### reset several temporary-info tables in the database 2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl ### optimize the database tables within the asterisk database 3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl ## adjust time on the server with ntp 30 * * * * /usr/sbin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2 ### VICIDIAL agent time log weekly and daily summary report generation 2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl 22 0 * * * /usr/share/astguiclient/AST_agent_day.pl ### VICIDIAL campaign export scripts (OPTIONAL) #32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl #42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl ### remove old recordings more than 7 days old #24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f ### roll logs monthly on high-volume dialing systems #30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl ### remove old vicidial logs and asterisk logs more than 2 days old 28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f 29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f 30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f ### cleanup of the scheduled callback records 25 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl --purge-non-cb -q ### GMT adjust script - uncomment to enable #45 0 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --list-settings ### Dialer Inventory Report 1 7 * * * /usr/share/astguiclient/AST_dialer_inventory_snapshot.pl -q --override-24hours ### inbound email parser * * * * * /usr/share/astguiclient/AST_inbound_email_parser.pl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 crontab -e @reboot ( sleep 30 ; /usr/share/astguiclient/start_asterisk_boot.pl ) ### recording mixing/compressing/ftping scripts #0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl --MIX 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM #2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM ### keepalive script for astguiclient processes * * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl --cu3way ### kill Hangup script for Asterisk updaters * * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl ### updater for voicemail * * * * * /usr/share/astguiclient/AST_vm_update.pl ### updater for conference validator * * * * * /usr/share/astguiclient/AST_conf_update.pl ### flush queue DB table every hour for entries older than 1 hour 11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q ### fix the vicidial_agent_log once every hour and the full day run at night 33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl 50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours ## uncomment below if using QueueMetrics #*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check ## uncomment below if using Vtiger #1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet ### updater for VICIDIAL hopper * * * * * /usr/share/astguiclient/AST_VDhopper.pl -q ### adjust the GMT offset for the leads in the vicidial_list table 1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug ### reset several temporary-info tables in the database 2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl ### optimize the database tables within the asterisk database 3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl ## adjust time on the server with ntp 30 * * * * /usr/sbin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2 ### VICIDIAL agent time log weekly and daily summary report generation 2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl 22 0 * * * /usr/share/astguiclient/AST_agent_day.pl ### VICIDIAL campaign export scripts (OPTIONAL) #32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl #42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl ### remove old recordings more than 7 days old #24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f ### roll logs monthly on high-volume dialing systems #30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl ### remove old vicidial logs and asterisk logs more than 2 days old 28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f 29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f 30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f ### cleanup of the scheduled callback records 25 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl --purge-non-cb -q ### GMT adjust script - uncomment to enable #45 0 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --list-settings ### Dialer Inventory Report 1 7 * * * /usr/share/astguiclient/AST_dialer_inventory_snapshot.pl -q --override-24hours ### inbound email parser * * * * * /usr/share/astguiclient/AST_inbound_email_parser.pl To access the recordings from the web nano /etc/httpd/conf/httpd.conf Alias /RECORDINGS/MP3 "/var/spool/asterisk/monitorDONE/MP3/" <Directory "/var/spool/asterisk/monitorDONE/MP3/"> Options Indexes MultiViews AllowOverride None Require all granted </Directory> 1 2 3 4 5 6 7 8 9 nano /etc/httpd/conf/httpd.conf Alias /RECORDINGS/MP3 "/var/spool/asterisk/monitorDONE/MP3/" <Directory "/var/spool/asterisk/monitorDONE/MP3/"> Options Indexes MultiViews AllowOverride None Require all granted </Directory> Reboot the Server reboot 1 reboot To validate the install of the VICIdial server after it reboots back screen -ls 1 screen -ls You should see something like this There are screens on: 1414.ASTVDadapt (Detached) 17890.ASTVDremote (Detached) 1788.ASTemail (Detached) 24040.ASTVDauto (Detached) 24032.ASTlisten (Detached) 24024.ASTsend (Detached) 24016.ASTupdate (Detached) 12185.pts-12.vicibox7 (Detached) 1504.ASTVDadFILL (Detached) 1501.ASTfastlog (Detached) 1356.asterisk (Detached) 11 Sockets in /var/run/screens/S-root. 9-11 sockets 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 There are screens on: 1414.ASTVDadapt (Detached) 17890.ASTVDremote (Detached) 1788.ASTemail (Detached) 24040.ASTVDauto (Detached) 24032.ASTlisten (Detached) 24024.ASTsend (Detached) 24016.ASTupdate (Detached) 12185.pts-12.vicibox7 (Detached) 1504.ASTVDadFILL (Detached) 1501.ASTfastlog (Detached) 1356.asterisk (Detached) 11 Sockets in /var/run/screens/S-root. 9-11 sockets