Difference between revisions of "External Recordings Server"

From Kolmisoft Wiki
Jump to navigationJump to search
Line 1: Line 1:
=Configuration=
External Recordings Server allows to convert and store Recordings in external server thus increasing storage space on switch server (Asterisk). It will also reduce load on switch server because wav to mp3 convertion is executed in external server.
External Recordings Server allows to convert and store Recordings in external server thus increasing storage space on switch server (Asterisk). It will also reduce load on switch server because wav to mp3 convertion is executed in external server.


== Configuration ==
==Configuration in GUI==


External Recordings Server can be configured in '''Recordings -> Settings'''
External Recordings Server can be configured in '''Recordings -> Settings'''
Line 11: Line 13:
'''NOTE: make sure that servers are configured with SSH keys! Login by password will not work for External Recordings Server.'''<br>
'''NOTE: make sure that servers are configured with SSH keys! Login by password will not work for External Recordings Server.'''<br>


In External Recordings Server check if ''/etc/mor/system.conf'' and ''/var/lib/asterisk/agi-bin/mor.conf'' are configured to connect to Database server.<br>
<br>
==Configuration in External Recordings server==
 
1. Dowload sources:
 
  yum -y install subversion
  svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor


In External Recordings Server create recordings folder and symlink to http folder:
2. Install GNU Compiler Collection:
 
  yum -y install gcc
 
3. Install Wget:
 
  yum -y install wget
 
4. Install Apache:
 
  /usr/src/mor/x8/gui/apache_install.sh
  /usr/src/mor/x8/gui/apache_uid_fix.sh
  iptables -F
  /etc/init.d/iptables save
 
5. Install MySQL:
 
  /usr/src/mor/x8/mysql/mysql_install.sh
 
6. Create needed directories and permissions:
 
  mkdir -p /var/log/mor
  chmod 777 -R /var/log/mor
  mkdir -p /etc/mor/
  mkdir -p /var/lib/asterisk/agi-bin/
  mkdir -p /usr/local/mor/recordings/
  chmod 777 -R /usr/local/mor/
 
7. Install scripts:
 
  cd /usr/src/mor/x8/scripts/
  gcc -Wall -Wunused -g -I/usr/include/mysql mor_record_remote.c -o mor_record_remote -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql
  cp -fr mor_record_remote /usr/local/mor
  rm -rf mor_record_control
  gcc -Wall -g -I/usr/include/mysql mor_record_control.c -o mor_record_control -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql
  cp -fr mor_record_control /usr/local/mor
 
8. Install Lame:
 
  /usr/src/mor/x8/helpers/lame_install.sh
 
9. Symlink directories:


  mkdir /usr/local/mor/recordings
   ln -s /usr/local/mor/recordings /var/www/html/recordings
   ln -s /usr/local/mor/recordings /var/www/html/recordings
10. Create configuration files:
  cd /etc/mor/
Create file:
  vi system.conf
Enter:
  # database connection settings
  dbhost = '''Database_server_IP'''
  dbname = mor
  dbuser = mor
  dbsecret = mor
  dbport = 3306
Save file.
  cd /var/lib/asterisk/agi-bin/
Create file:
  vi mor.conf
Enter:
  host = '''Database_server_IP'''
  db = mor
  user = mor
  secret = mor
  port = 3306
Save file.
11. Edit ''/etc/httpd/conf/httpd.conf''
Change from:
  <Directory />
      Options FollowSymLinks
      AllowOverride '''None'''
  </Directory>
To:
  <Directory />
      Options FollowSymLinks
      AllowOverride '''All'''
  </Directory>
And change from:
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  #  Options FileInfo AuthConfig Limit
  #
      AllowOverride '''None'''
To:
      AllowOverride '''All'''
12. Run:
  chcon -R -h -t httpd_sys_content_t /var/www/html/recordings/
  service httpd restart
13. Edit ''/etc/selinux/config''
Change from:
  SELINUX=enforcing
To:
  SELINUX=disable
14. Reboot server:
  reboot
<br>
==Configuration in Database server==


In Database Server create MySQL user for External Recordings Server:
In Database Server create MySQL user for External Recordings Server:
Line 23: Line 156:
   GRANT ALL PRIVILEGES ON `mor`.* TO 'mor'@'IP_OF_RECORDINGS_SERVER' WITH GRANT OPTION ;
   GRANT ALL PRIVILEGES ON `mor`.* TO 'mor'@'IP_OF_RECORDINGS_SERVER' WITH GRANT OPTION ;


== Troubleshooting ==
<br>
=Troubleshooting=


If Recordings are not displayed in GUI check the following log files in both servers:<br><br>
If Recordings are not displayed in GUI check the following log files in both servers:<br><br>
/var/log/mor/mor_record_file.log<br>
/var/log/mor/mor_record_file.log<br>
/var/log/mor/record_file.log
/var/log/mor/record_file.log

Revision as of 12:23, 14 July 2016

Configuration

External Recordings Server allows to convert and store Recordings in external server thus increasing storage space on switch server (Asterisk). It will also reduce load on switch server because wav to mp3 convertion is executed in external server.

Configuration in GUI

External Recordings Server can be configured in Recordings -> Settings

Recordings external server.png

Check 'User external Server' checkbox, enter external server IP, SSH port and login username.

NOTE: make sure that servers are configured with SSH keys! Login by password will not work for External Recordings Server.


Configuration in External Recordings server

1. Dowload sources:

 yum -y install subversion
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor

2. Install GNU Compiler Collection:

 yum -y install gcc

3. Install Wget:

 yum -y install wget

4. Install Apache:

 /usr/src/mor/x8/gui/apache_install.sh
 /usr/src/mor/x8/gui/apache_uid_fix.sh
 iptables -F
 /etc/init.d/iptables save

5. Install MySQL:

 /usr/src/mor/x8/mysql/mysql_install.sh

6. Create needed directories and permissions:

 mkdir -p /var/log/mor
 chmod 777 -R /var/log/mor
 mkdir -p /etc/mor/
 mkdir -p /var/lib/asterisk/agi-bin/
 mkdir -p /usr/local/mor/recordings/
 chmod 777 -R /usr/local/mor/

7. Install scripts:

 cd /usr/src/mor/x8/scripts/
 gcc -Wall -Wunused -g -I/usr/include/mysql mor_record_remote.c -o mor_record_remote -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql
 cp -fr mor_record_remote /usr/local/mor
 rm -rf mor_record_control
 gcc -Wall -g -I/usr/include/mysql mor_record_control.c -o mor_record_control -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql
 cp -fr mor_record_control /usr/local/mor

8. Install Lame:

 /usr/src/mor/x8/helpers/lame_install.sh

9. Symlink directories:

 ln -s /usr/local/mor/recordings /var/www/html/recordings

10. Create configuration files:

 cd /etc/mor/

Create file:

 vi system.conf

Enter:

 # database connection settings
 dbhost = Database_server_IP
 dbname = mor
 dbuser = mor
 dbsecret = mor
 dbport = 3306

Save file.

 cd /var/lib/asterisk/agi-bin/

Create file:

 vi mor.conf

Enter:

 host = Database_server_IP
 db = mor
 user = mor
 secret = mor
 port = 3306

Save file.

11. Edit /etc/httpd/conf/httpd.conf

Change from:

 <Directory />
     Options FollowSymLinks
     AllowOverride None
 </Directory>

To:

 <Directory />
     Options FollowSymLinks
     AllowOverride All
 </Directory>

And change from:

 # AllowOverride controls what directives may be placed in .htaccess files.
 # It can be "All", "None", or any combination of the keywords:
 #   Options FileInfo AuthConfig Limit
 #
     AllowOverride None

To:

     AllowOverride All

12. Run:

 chcon -R -h -t httpd_sys_content_t /var/www/html/recordings/
 service httpd restart

13. Edit /etc/selinux/config

Change from:

 SELINUX=enforcing

To:

 SELINUX=disable

14. Reboot server:

 reboot


Configuration in Database server

In Database Server create MySQL user for External Recordings Server:

 CREATE USER 'mor'@'IP_OF_RECORDINGS_SERVER' IDENTIFIED BY 'mor';
 GRANT ALL PRIVILEGES ON `mor`.* TO 'mor'@'IP_OF_RECORDINGS_SERVER' WITH GRANT OPTION ;


Troubleshooting

If Recordings are not displayed in GUI check the following log files in both servers:

/var/log/mor/mor_record_file.log
/var/log/mor/record_file.log