Difference between revisions of "OpenSuSE Scratch Install"
From ViciWiki
(Created page with "Source: Carpe Nox carpenox <pre> ###This is going to help you install Vicidial 9.0.2 on OpenSuSE 15.1 on an Amazon AWS Lightsail Virtual Server### ###First open an account o...") |
(Replaced content with "carpenox AWS") (Tag: mw-replace) |
||
Line 1: | Line 1: | ||
− | Source: Carpe Nox carpenox |
||
+ | [[carpenox AWS]] |
||
− | |||
− | <pre> |
||
− | ###This is going to help you install Vicidial 9.0.2 on OpenSuSE 15.1 on an Amazon AWS Lightsail Virtual Server### |
||
− | |||
− | ###First open an account on AWS and create an instance on Lightsail, choose linux, os only, opensuse. |
||
− | |||
− | ###once its started, click on manage, then go to networking and create a static ip, attach it. |
||
− | |||
− | ###SSH to the server, you will need to have a ssh key to do this, download the .pem file from amazon and use puttygen to convert it, |
||
− | ###instructions are there in lightsail |
||
− | |||
− | |||
− | |||
− | ###Now is where it starts and i will just be telling you the commands to run |
||
− | |||
− | sudo -i |
||
− | |||
− | zypper install kernel* |
||
− | press # 2 for all 4 choices it gives you |
||
− | |||
− | zypper addrepo https://download.opensuse.org/repositories/home:vicidial:asterisk-13/openSUSE_Leap_15.1/home:vicidial:asterisk-13.repo |
||
− | zypper addrepo https://download.opensuse.org/repositories/home:/vicidial/openSUSE_Leap_15.1/home:vicidial.repo |
||
− | zypper ref |
||
− | zypper install asterisk |
||
− | |||
− | reboot |
||
− | |||
− | sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/semanage.conf |
||
− | |||
− | ***Add Swap File |
||
− | mkdir -p /var/lib/swap |
||
− | dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=1024 |
||
− | mkswap /var/lib/swap/swapfile |
||
− | swapon /var/lib/swap/swapfile |
||
− | cat /proc/swaps |
||
− | |||
− | ***Add Swap into startup |
||
− | vim /etc/fstab |
||
− | Type "i" |
||
− | Add a new line below whats there |
||
− | COPY whats in quotes - "/var/lib/swap/swapfile swap swap defaults 0 0" |
||
− | Press CNTL+C |
||
− | Type whats in qoutes - ":wq" |
||
− | Press Enter |
||
− | |||
− | |||
− | ###installing dependencies |
||
− | zypper 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 mutt wget nano unzip sipsak sox libuuid-devel |
||
− | |||
− | zypper install sqlite3-devel |
||
− | zypper install mariadb-server mariadb |
||
− | zypper install httpd php-common php-pdo mod_ssl perl-DBI perl-DBD-MySQL perl-Digest-HMAC perl-YAML |
||
− | |||
− | zypper install perl-ExtUtils-ParseXS perl-NetAddr-IP perl-Crypt-SSLeay perl-Curses perl-DBD-Pg perl-Module-ScanDeps perl-Text-CSV perl-HTML-Template perl-IO-Compress perl-Text-Glob perl-Jcode perl-Test-Script perl-Archive-Tar perl-Test-Base perl-OLE-Storage_Lite perl-Archive-Zip perl-Net-Server perl-Convert-ASN1 perl perl-Compress-Raw-Zlib perl-Digest-SHA1 perl-Data-Dumper perl-Error perl-ExtUtils-CBuilder perl-Test-Tester perl-Parse-RecDescent perl-Spiffy perl-IO-Zlib perl-Module-Build perl-HTML-Parser perl-Net-SSLeay perl-Proc-ProcessTable perl-TermReadKey perl-Term-ReadLine-Gnu perl-Digest-SHA perl-Tk perl-Net-SNMP perl-Test-NoWarnings perl-XML-Writer perl-Proc-PID-File perl-Compress-Raw-Bzip2 perl-libwww-perl perl-XML-Parser perl-File-Remove perl-Parse-CPAN-Meta perl-Set-Scalar perl-Probe-Perl perl-File-Which perl-Package-Constants perl-Module-Install perl-File-HomeDir perl-Spreadsheet-ParseExcel perl-Mail-Sendmail |
||
− | |||
− | zypper install perl-Spreadsheet-XLSX asterisk-perl perl-version perl-Crypt-DES perl-URI perl-Net-Daemon perl-IO-stringy perl-YAML-Tiny perl-HTML-Tagset perl-Socket6 perl-BSD-Resource perl-IPC-Run3 perl-Text-CSV_XS perl-Unicode-Map perl-Net-Telnet perl-PAR-Dist perl-Date-Manip perl-JSON perl-rrdtool lame screen iftop dahdi-linux-devel perl-GD |
||
− | |||
− | ###preparing for the next part with MCPAN |
||
− | perl -MCPAN -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit' |
||
− | |||
− | ###more dependencies via cpan |
||
− | cpan -i String::CRC Tk::TableMatrix Net::Address::IP::Local Term::ReadLine::Gnu Spreadsheet::Read Net::Address::IPv4::Local RPM::Specfile Spreadsheet::XLSX Spreadsheet::ReadSXC |
||
− | |||
− | cpan 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 MIME::POP3Client Mail::IMAPClient Mail::Message IO::Socket::SSL readline |
||
− | |||
− | |||
− | ###copy and paste this at the same time: |
||
− | cd /usr/bin/ |
||
− | curl -LOk http://xrl.us/cpanm |
||
− | chmod +x cpanm |
||
− | cpanm -f File::Which |
||
− | cpanm -f File::HomeDir |
||
− | cpanm CPAN::Meta::Requirements |
||
− | cpanm -f CPAN |
||
− | cpanm YAML |
||
− | cpanm MD5 |
||
− | cpanm Digest::MD5 |
||
− | cpanm Digest::SHA1 |
||
− | cpanm Bundle::CPAN |
||
− | cpanm -f DBD::mysql |
||
− | cpanm Curses |
||
− | cpanm Getopt::Long |
||
− | cpanm Net::Domain |
||
− | cpanm Term::ReadKey |
||
− | cpanm Term::ANSIColor |
||
− | cpanm HTML::FormatText |
||
− | cpanm MIME::Decoder |
||
− | cpanm Mail::POP3Client |
||
− | cpanm User::Identity --force |
||
− | cpanm Mail::Message |
||
− | cpanm Crypt::Eksblowfish::Bcrypt |
||
− | |||
− | |||
− | ###lets add mysql(mariadb) and apache2 as services to autostart |
||
− | systemctl start mariadb; systemctl enable mariadb; systemctl start apache2; systemctl enable apache2 |
||
− | |||
− | |||
− | |||
− | ###reboot |
||
− | |||
− | ***Asterisk PERL Module 0.8 Installation - zypper asterisk-perl |
||
− | cd /usr/src/ |
||
− | wget http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz |
||
− | tar -zxf asterisk-perl-0.08.tar.gz |
||
− | cd asterisk-perl-0.08 |
||
− | perl Makefile.PL && make all && make install |
||
− | |||
− | |||
− | ***Install Jansson |
||
− | cd /usr/src/ |
||
− | wget http://www.digip.org/jansson/releases/jansson-2.9.tar.gz |
||
− | tar -zvxf jansson-2.9.tar.gz |
||
− | cd jansson-2.9 |
||
− | ./configure && make clean && make && make install |
||
− | ldconfig |
||
− | |||
− | rm *.tar.gz |
||
− | |||
− | |||
− | ***Install Asterisk - Dadhi and libpri |
||
− | 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-current.tar.gz |
||
− | wget http://download.vicidial.com/required-apps/asterisk-13.29.2-vici.tar.gz |
||
− | |||
− | tar xzf asterisk-* |
||
− | tar xzf dahdi-linux-complete-* |
||
− | tar xzf libpri-* |
||
− | |||
− | cd /usr/src/asterisk/dahdi-linux-complete-3.1.0+3.1.0/ |
||
− | rpm -i https://rpmfind.net/linux/opensuse/update/leap/15.1/oss/noarch/kernel-devel-4.12.14-lp151.28.48.1.noarch.rpm |
||
− | make && make install |
||
− | |||
− | |||
− | cd /usr/src/asterisk/libpri-1.6.0 |
||
− | make clean |
||
− | make |
||
− | make install |
||
− | |||
− | cd /usr/src/asterisk/asterisk-13.29.2/ |
||
− | ./configure --libdir=/usr/lib64 |
||
− | make clean |
||
− | make menuselect* |
||
− | |||
− | !!!*MAKE SURE TO scroll down to Applications, press enter, scroll down to > App.MeetME press space bar so you see: [*] and press x to save and exit |
||
− | |||
− | make && make install && make samples |
||
− | chkconfig asterisk on |
||
− | |||
− | ***DataBase Creation |
||
− | mysql -p |
||
− | press enter for no password |
||
− | 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'; |
||
− | GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; |
||
− | GRANT RELOAD ON *.* TO cron@'%'; |
||
− | GRANT RELOAD ON *.* TO cron@localhost; |
||
− | flush privileges; |
||
− | quit |
||
− | |||
− | ***Install ViciDial |
||
− | mkdir /usr/src/astguiclient |
||
− | cd /usr/src/astguiclient |
||
− | svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk |
||
− | cd trunk |
||
− | |||
− | perl install.pl |
||
− | |||
− | ##make sure to change web directory to /srv/www/htdocs and to put your public ip, and to put 13.X for asterisk version |
||
− | |||
− | ***Import MySQL Settings |
||
− | mysql -u root -p |
||
− | |||
− | SET GLOBAL connect_timeout=60; |
||
− | 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 |
||
− | |||
− | /usr/share/astguiclient/ADMIN_area_code_populate.pl |
||
− | |||
− | ***Edit /etc/rc.local to contain the following code (enter vi /etc/rc.local to edit with vi, nano /etc/rc.local to edit with nano, ed /etc/rc.local to edit with sed... choose an editor to your liking): |
||
− | |||
− | #!/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 start mariadb.service |
||
− | systemctl enable mariadb.service |
||
− | |||
− | ### start up the apache web server |
||
− | systemctl start apache2 |
||
− | systemctl enable 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 |
||
− | |||
− | |||
− | |||
− | ***Adding to Crontab |
||
− | crontab -e |
||
− | |||
− | **Once it opens, Press "i" and then paste the following into crontab: |
||
− | ### 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 CRONTAB HERE |
||
− | |||
− | reboot |
||
− | |||
− | ###once it restarts, type "yast" go to network services > http, on the first screen tab to next, then second screen enable all 3 modules(php, python and perl) and then keep going next on the last pages until u get to finish. |
||
− | |||
− | vim /etc/asterisk/manager.conf |
||
− | find enabled=no and change to yes |
||
− | save and restart |
||
− | |||
− | http://127.0.0.1/vicidial/admin.php |
||
− | |||
− | Enjoy!!! |
||
− | </pre> |