How to – Scratch install Vicidial on CentOS 8
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config Set Default Editor to nano: yum -y install nano nano /etc/bashrc Then add this line at the bottom: export EDITOR="nano" timedatectl set-timezone America/New_York rc.local not work: chmod +x /etc/rc.d/rc.local systemctl enable rc-local systemctl start rc-local systemctl status rc-local yum check-update yum -y install epel-release reboot yum update -y reboot yum groupinstall "Development Tools" -y reboot yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm yum -y install yum-utils dnf module enable php:remi-7.4 sudo dnf install -y mariadb-server sudo dnf -y install dnf-plugins-core sudo dnf config-manager --set-enabled powertools yum install -y php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo php-opcache wget unzip make patch gcc gcc-c++ subversion php php-devel php-gd gd-devel readline-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 kernel* mutt glibc.i686 certbot python3-certbot-apache mod_ssl openssl-devel newt-devel libxml2-devel kernel-devel sqlite-devel libuuid-devel sox sendmail lame-devel htop iftop perl-File-Which php-opcache libss7 mariadb-devel libss7* libopen* systemctl start mariadb mysql_secure_installation systemctl enable mariadb systemctl stop mariadb cp /etc/my.cnf /etc/my.cnf.original echo "" > /etc/my.cnf nano /etc/my.cnf ; copy the below config to this file. #################################################################################################### [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 sql_mode="NO_ENGINE_SUBSTITUTION" 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 #################################################################################################### mkdir /var/log/mysqld touch /var/log/mysqld/slow-queries.log chown -R mysql:mysql /var/log/mysqld systemctl restart mariadb #################################################################################################### Install the Perl Modules yum install -y perl-CPAN perl-YAML perl-libwww-perl perl-DBI perl-DBD-MySQL perl-GD perl-Env perl-Term-ReadLine-Gnu perl-SelfLoader perl-open.noarch cpan -i Tk String::CRC Tk::TableMatrix Net::Address::IP::Local Term::ReadLine::Gnu Spreadsheet::Read Net::Address::IPv4::Local RPM::Specfile Spreadsheet::XLSX Spreadsheet::ReadSXC MD5 Digest::MD5 Digest::SHA1 Bundle::CPAN Pod::Usage Getopt::Long DBI DBD::mysql Net::Telnet Time::HiRes Net::Server Mail::Sendmail Unicode::Map Jcode Spreadsheet::WriteExcel OLE::Storage_Lite Proc::ProcessTable IO::Scalar Scalar::Util Spreadsheet::ParseExcel Archive::Zip Compress::Raw::Zlib Spreadsheet::XLSX Test::Tester Spreadsheet::ReadSXC Text::CSV Test::NoWarnings Text::CSV_PP File::Temp Text::CSV_XS Spreadsheet::Read LWP::UserAgent HTML::Entities HTML::Strip HTML::FormatText HTML::TreeBuilder Switch Time::Local Mail::POP3Client Mail::IMAPClient Mail::Message IO::Socket::SSL readline 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 #################################################################################################### 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 dnf --enablerepo=powertools install libsrtp-devel -y yum install -y elfutils-libelf-devel libedit-devel 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 cd /usr/src/ wget https://digip.org/jansson/releases/jansson-2.13.tar.gz tar xvzf jansson* cd jansson-2.13 ./configure make clean make make install ldconfig UPDATE: 6/22/21 - Ty @Ankit for catching the wrong directiory below cd /usr/src/ wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz tar xzf dahdi* cd /usr/src/dahdi-linux-complete-3.1.0+3.1.0/ nano /usr/src/dahdi-linux-complete-3.1.0+3.1.0/linux/include/dahdi/kernel.h remove #include: </linux/pci-aspm.h> make make install make install-config (if you get an error here about 4.18.0-305.7.1.el8_4.x86_64 missing then do "yum install *4.18.0-305.7.1.el8_4.x86_64") yum install dahdi-tools-libs cd tools make clean make make install make install-config if it gives an error /usr/sbin/dahdi_cfg -vvvvvvvvvvvvv edit the file "system.conf.sample" in "system.conf" cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz tar xzf libpri-1.6.0.tar.gz cd /usr/src/libpri-1.6.0 make clean make make install nano /etc/php.ini error_reporting = E_ALL & ~E_NOTICE memory_limit = 128M short_open_tag = On max_execution_time = 330 max_input_time = 360 post_max_size = 100M upload_max_filesize = 42M default_socket_timeout = 360 date.timezone = Europe/Rome cd /usr/src/ wget http://download.vicidial.com/required-apps/asterisk-13.29.2-vici.tar.gz tar xzf asterisk-13.29.2-vici.tar.gz cd /usr/src/asterisk-13.29.2/ ./configure --libdir=/usr/lib64 --with-pjproject-bundled -with-jansson-bundled make clean make menuselect ; ####### select chan_meetme make make install make samples make config mkdir /usr/src/astguiclient cd /usr/src/astguiclient svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk mysql SET GLOBAL connect_timeout=60; 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 ALTER TABLE phones ALTER template_id SET DEFAULT ''; \. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql quit cd /usr/src/astguiclient/trunk mkdir /usr/share/astguiclient mkdir /var/log/astguiclient mkdir /var/spool/asterisk/monitorDONE perl install.pl Copy Asterisk Settings=Yes + Server webroot path=/var/www/html #################################################################################################### /usr/share/astguiclient/ADMIN_area_code_populate.pl /usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15 #################################################################################################### nano /etc/rc.local ### paste this below: #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local # OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring) /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2 # Disable console blanking and powersaving /usr/bin/setterm -blank /usr/bin/setterm -powersave off /usr/bin/setterm -powerdown ### start up the MySQL server systemctl restart mariadb.service ### start up the apache web server systemctl restart apache2 ### roll the Asterisk logs upon reboot /usr/share/astguiclient/ADMIN_restart_roll_logs.pl ### clear the server-related records from the database /usr/share/astguiclient/AST_reset_mysql_vars.pl ### load dahdi drivers modprobe dahdi /usr/sbin/dahdi_cfg -vvvvvvvvvvvvv ### sleep for 20 seconds before launching Asterisk sleep 20 ### start up asterisk /usr/share/astguiclient/start_asterisk_boot.pl #################################################################################################### crontab -e ### paste below: ### 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 ################ END PASTE HERE #################### nano /etc/httpd/conf/httpd.conf To disable logging, change: CustomLog logs/access_log combined to this: CustomLog /dev/null common ################ nano /etc/httpd/conf.d/record.conf Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" <Directory "/var/spool/asterisk/monitorDONE"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all Require all granted <files *.mp3> Forcetype application/forcedownload </files> </Directory> ################ for synchronization problems: yourserverip/vicidial/admin.php
go to Admin-> Servers-> update Asterisk Version: 13.29.2-vici
Comments
Post a Comment