This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
en:常见问题及解答:如何为astercc系统配置多台php服务器 [2016/11/14 01:48] liuxl created |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== How to configure multiple PHP servers for the asterCC system ====== | ||
| - | |||
| - | ===== System Details ===== | ||
| - | |||
| - | * CTI(Asterisk)、Nginx:192.168.1.62 (Extranet IP:110.249.148.246) | ||
| - | * MySQL:192.168.1.60 | ||
| - | * PHP1:192.168.1.61 | ||
| - | * PHP2:192.168.1.70 | ||
| - | |||
| - | <note> Note: Before doing the distribution, make sure that the version of asterCC for all servers must be the same, followed by the same module. </note> | ||
| - | |||
| - | 1.Before distributing the system, you need to back up the database on the CTI machine. | ||
| - | <code> mysqldump -uroot -ppassword astercc10 > file.sql </code> | ||
| - | |||
| - | And then in the new mysql database server (192.168.1.60) on the backup data import. | ||
| - | <code> mysql -uroot -ppassword astercc10 < file.sql </code> | ||
| - | |||
| - | |||
| - | 2.On the MySQL machine, the CTI, PHP1, PHP2 machine database authorization. | ||
| - | In the mysql> under the implementation of the following order: | ||
| - | <code> grant all privileges on astercc10.* to astercc@'192.168.1.%' identified by 'asterccpw'; </code> | ||
| - | |||
| - | |||
| - | 3.In the CTI, PHP1, PHP2 three machines /etc/astercc.conf, revised: [database] and [statistics] tab under the database information: | ||
| - | <code> | ||
| - | [database] | ||
| - | dbtype = mysql | ||
| - | dbhost = 192.168.1.60 | ||
| - | dbname = astercc10 | ||
| - | dbport = 3306 | ||
| - | username = astercc | ||
| - | password = asterccpw | ||
| - | prefix= cc10_ | ||
| - | |||
| - | [statistics] | ||
| - | ;on/off | ||
| - | status = on | ||
| - | dbtype = mysql | ||
| - | dbhost = 192.168.1.60 | ||
| - | dbname = astercc10 | ||
| - | dbport = 3306 | ||
| - | dbuser = astercc | ||
| - | dbpassword = asterccpw | ||
| - | prefix= cc10_ | ||
| - | |||
| - | |||
| - | [system] | ||
| - | ;if Cluster no,php,asterisk,all | ||
| - | cluster = php | ||
| - | </code> | ||
| - | |||
| - | <note> Note: The conf file in the system under the label, do what cluster, it will be modified into what. </note> | ||
| - | |||
| - | |||
| - | 4.In /var/www/html/asterCC/app/config/database.php file var $default=array database at the end of the file information is modified as follows: | ||
| - | |||
| - | class DATABASE_CONFIG { | ||
| - | var $default = array( | ||
| - | 'driver' => 'mysql', | ||
| - | 'persistent' => false, | ||
| - | 'host' => '192.168.1.60', | ||
| - | 'login' => 'astercc', | ||
| - | 'password' => 'asterccpw', | ||
| - | 'database' => 'astercc10', | ||
| - | 'prefix' => 'cc10_', | ||
| - | 'encoding' => 'utf8', | ||
| - | ); | ||
| - | |||
| - | <note> Note: The contents of $test need not be modified。 </note> | ||
| - | |||
| - | |||
| - | 5.Configure the iptables service, the implementation of the machine configuration is complete:service iptables restart | ||
| - | |||
| - | CTI (and Nginx) machines: | ||
| - | <code> | ||
| - | *filter | ||
| - | :INPUT DROP [32888:6036616] | ||
| - | :FORWARD DROP [0:0] | ||
| - | :OUTPUT ACCEPT [38964:13133002] | ||
| - | -A INPUT -p udp -m udp --dport 5060 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 4569 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 5036 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 2727 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 137:138 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 123 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 8081 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 389 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT | ||
| - | -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT | ||
| - | -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT | ||
| - | -A INPUT -m state --state ESTABLISHED -j ACCEPT | ||
| - | COMMIT | ||
| - | </code> | ||
| - | |||
| - | |||
| - | On a MySQL machine: | ||
| - | <code> | ||
| - | *filter | ||
| - | :INPUT DROP [32888:6036616] | ||
| - | :FORWARD DROP [0:0] | ||
| - | :OUTPUT ACCEPT [38964:13133002] | ||
| - | -A INPUT -p udp -m udp --dport 5060 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 4569 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 5036 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 2727 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 161 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 161 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 162 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 162 -j ACCEPT | ||
| - | -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT | ||
| - | -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT | ||
| - | -A INPUT -m state --state ESTABLISHED -j ACCEPT | ||
| - | COMMIT | ||
| - | </code> | ||
| - | |||
| - | |||
| - | On PHP1 machines: | ||
| - | <code> | ||
| - | *filter | ||
| - | :INPUT ACCEPT [32888:6036616] | ||
| - | :FORWARD ACCEPT [0:0] | ||
| - | :OUTPUT ACCEPT [38964:13133002] | ||
| - | -A INPUT -p udp -m udp --dport 5060 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 4569 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 5036 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT | ||
| - | -A INPUT -p udp -m udp --dport 2727 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 9000 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT | ||
| - | -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT | ||
| - | COMMIT | ||
| - | </code> | ||
| - | |||
| - | |||
| - | On PHP2 machines: | ||
| - | like PHP1 | ||
| - | |||
| - | <code> | ||
| - | Port: According to the actual situation, the /etc/sysconfig/iptables file to retain the port. | ||
| - | 21: FTP default port | ||
| - | 22: SSH default port | ||
| - | 80: http acquiescence port, because I changed the machine 8081, the CTI iptables added 8081 | ||
| - | 123: NTP default port | ||
| - | 137: udp samba port | ||
| - | 138: udp samba port | ||
| - | 139: tcp samba port | ||
| - | 389: tcp samba port | ||
| - | 445: tcp samba port | ||
| - | 901: tcp samba port | ||
| - | 161: Port of SNMP | ||
| - | 162: Port of the SNMP trap | ||
| - | 443: https default port | ||
| - | 2727: MGCP default port | ||
| - | 3306: mysql default port | ||
| - | 4569: IAX2 default port | ||
| - | 5036: IAX1 default port | ||
| - | 5038: Asterisk default port | ||
| - | 5060: sip The default port | ||
| - | 9000: php default port | ||
| - | 10000: 20000: Asterisk RTP to use the port | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 6.In CTI, PHP1 installed samba services, the Executive Order: | ||
| - | <code> yum install samba </code> | ||
| - | |||
| - | |||
| - | 7.After installation is complete, create samba user and password, such as: sbu/123456, | ||
| - | run: | ||
| - | <code> useradd sbu </code> | ||
| - | And then, when prompted, enter 123456: | ||
| - | <code> smbpasswd -a sbu </code> | ||
| - | |||
| - | 8.Modify the samba configuration file /etc/samba/smb.conf, smb.conf file at the end add the following: | ||
| - | |||
| - | On a CTI machine: | ||
| - | <code> | ||
| - | [ccastspool] | ||
| - | path = /var/spool/asterisk | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | |||
| - | [ccastetc] | ||
| - | path = /etc/asterisk/ | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | |||
| - | [ccastlib] | ||
| - | path = /var/lib/asterisk/ | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | |||
| - | [ccscripts] | ||
| - | path = /opt/asterisk/scripts/astercc | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | </code> | ||
| - | |||
| - | On PHP1 machines: | ||
| - | <code> | ||
| - | [ccdata] | ||
| - | path = /var/www/html/asterCC/data | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | |||
| - | [ccstatistics] | ||
| - | path = /var/www/html/asterCC/statistics | ||
| - | comment = Home Directories | ||
| - | browseable = no | ||
| - | writable = yes | ||
| - | ; valid users = %S | ||
| - | ; valid users = MYDOMAIN\%S | ||
| - | create mask=777 | ||
| - | directory mask = 777 | ||
| - | force user = asterisk | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 9.After the configuration is complete, restart the Samba service configuration to take effect, execute the command: | ||
| - | <code> service smb restart </code> | ||
| - | |||
| - | 10.The samba file, mounted on each other. (For example, on a CTI machine, mount the ccdata from the PHP1 machine to the /var/www/html/asterCC/data directory on the CTI machine, and then mount the cdt file on the CTI machine. Then need to CTI machines, /var/www/html/asterCC/data backup, the backup process is not described here in detail) | ||
| - | |||
| - | |||
| - | On the CTI machine, execute the following commands to mount: | ||
| - | <code> | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccdata /var/www/html/asterCC/data | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccstatistics /var/www/html/asterCC/statistics | ||
| - | </code> | ||
| - | |||
| - | PHP1 machines, followed by the implementation of orders, carrying: | ||
| - | <code> | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastspool /var/spool/asterisk | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccscripts /opt/asterisk/scripts/astercc | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastlib /var/lib/asterisk | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastetc /etc/asterisk | ||
| - | </code> | ||
| - | |||
| - | PHP2 machines, followed by orders for carrying: | ||
| - | <code> | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccstatistics /var/www/html/asterCC/statistics | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccdata /var/www/html/asterCC/data | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastspool /var/spool/asterisk | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastlib /var/lib/asterisk | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastetc /etc/asterisk | ||
| - | mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccscripts /opt/asterisk/scripts/astercc | ||
| - | </code> | ||
| - | |||
| - | Set the boot automatically mount, master and slave can be mounted on all the settings are similar to the following: | ||
| - | <code>vim /etc/fstab</code> | ||
| - | <code>文件末增加如下 : //192.168.1.61/ccdata /var/www/html/asterCC/data cifs defaults,username=sbu,password=123456 0 0</code> | ||
| - | |||
| - | {{:zh:常见问题及解答:selection_004.png?750|}} | ||
| - | |||
| - | 11.修改 /etc/php-fpm.d/www.conf 配置文件内容 | ||
| - | CTI机器上: | ||
| - | <code> | ||
| - | [www] | ||
| - | listen=127.0.0.1 | ||
| - | listen.allowed_clients=127.0.0.1 | ||
| - | </code> | ||
| - | |||
| - | PHP1机器上: | ||
| - | <code> | ||
| - | [www] | ||
| - | listen=192.168.1.61:9000 | ||
| - | listen.allowed_clients=127.0.0.1,192.168.1.61,192.168.1.62 | ||
| - | </code> | ||
| - | |||
| - | PHP2机器上: | ||
| - | <code> | ||
| - | [www] | ||
| - | listen=192.168.1.70:9000 | ||
| - | listen.allowed_clients=127.0.0.1,192.168.1.70,192.168.1.62 | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 12.修改/usr/local/nginx/conf/nginx.conf 配置文件 | ||
| - | CTI机器上: | ||
| - | |||
| - | 12-1:在http中添加以下内容: | ||
| - | <code> | ||
| - | http{ | ||
| - | |||
| - | upstream myphp { | ||
| - | #ip_hash; PHP负载均衡 | ||
| - | server 192.168.1.61:9000 weight=2; | ||
| - | server 192.168.1.70:9000 weight=2; | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | <note> 注:http中server内的listen xxxx default,是指的页面访问的端口号。 </note> | ||
| - | |||
| - | 12-2:在location中前面位置添加以下内容,并将默认配置的fastcgi_pass 127.0.0.1:9000; 用#号注释掉: | ||
| - | <code> | ||
| - | location ~ .*\.(php|php5)?$ | ||
| - | { | ||
| - | #这个表示login和reload时,使用本机的PHP服务,因此CTI的php-fpm服务是开启的,而且开机自启动 | ||
| - | set $target myphp; | ||
| - | if ($request_uri ~* login) { | ||
| - | set $target 127.0.0.1:9000; | ||
| - | } | ||
| - | if ($request_uri ~* reloadConf) { | ||
| - | set $target 127.0.0.1:9000; | ||
| - | } | ||
| - | fastcgi_pass $target; | ||
| - | #fastcgi_pass 127.0.0.1:9000; | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | <note> 注:PHP1与PHP2机器上,这些配置都不用管,因为PHP1和PHP2上不使用nginx服务,默认fastcgi_pass 均为 127.0.0.1:9000; | ||
| - | |||
| - | 如果只使用1台服务器(如:PHP1)运行PHP服务,而不使用PHP负载均衡,那么,CTI中不需要添加任何的内容。并且,location中第一句set $target myphp; 内容也需要修改成PHP1的地址加端口,即:set $target 192.168.1.61:9000; | ||
| - | </note> | ||
| - | |||
| - | |||
| - | 13.授权相关文件的共用 | ||
| - | |||
| - | CTI机器上: | ||
| - | |||
| - | 13-1:先拷贝到mount的目录: | ||
| - | <code> cp -Rp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp /var/www/html/asterCC/statistics/agentsxindesk.ctp </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/agentsxindesk.ctp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp </code> | ||
| - | |||
| - | 13-2:拷贝: | ||
| - | <code> cp -Rp /var/www/html/asterCC/app/config/database.php /var/www/html/asterCC/statistics/database.php </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/database.php /var/www/html/asterCC/app/config/database.php </code> | ||
| - | |||
| - | 13-3:/opt/asterisk/scripts/astercc/identity.astercc 文件,不用做任何操作,但要保证该文件,是最开始CTI机器上mount前备份过的文件。 | ||
| - | |||
| - | 13-4:/opt/asterisk/scripts/astercc/license.astercc文件, 不用做任何操作,但要保证该文件,是最开始CTI机器上mount前备份过的文件。 | ||
| - | |||
| - | 13-5:拷贝: | ||
| - | <code> cp -Rp /usr/local/conf/hcdesk.conf /opt/asterisk/scripts/astercc/hcdesk.conf </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/hcdesk.conf /usr/local/conf/hcdesk.conf </code> | ||
| - | |||
| - | |||
| - | 13-6:拷贝: | ||
| - | <code> cp -Rp /etc/astercc.conf /opt/asterisk/scripts/astercc/astercc.conf </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/astercc.conf /etc/astercc.conf </code> | ||
| - | |||
| - | |||
| - | PHP1机器上: | ||
| - | |||
| - | 13-7:将本机的agentsxindesk.ctp文件备份成agentsxindesk.ctp.bak | ||
| - | 备份: | ||
| - | <code> mv /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/agentsxindesk.ctp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp </code> | ||
| - | |||
| - | 13-8:备份: | ||
| - | <code> mv /var/www/html/asterCC/app/config/database.php /var/www/html/asterCC/app/config/database.php.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/database.php /var/www/html/asterCC/app/config/database.php </code> | ||
| - | |||
| - | |||
| - | 13-9:将本机的hcdesk.conf文件备份成hcdesk.conf.bak | ||
| - | 备份: | ||
| - | <code> mv /usr/local/conf/hcdesk.conf /usr/local/conf/hcdesk.conf.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/hcdesk.conf /usr/local/conf/hcdesk.conf </code> | ||
| - | |||
| - | 13-10:将本机的astercc.conf文件备份成astercc.conf.bak | ||
| - | 备份: | ||
| - | <code> mv /etc/astercc.conf /etc/astercc.conf.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/astercc.conf /etc/astercc.conf </code> | ||
| - | |||
| - | |||
| - | PHP2机器上: | ||
| - | |||
| - | 13-11:将本机的agentsxindesk.ctp文件备份成agentsxindesk.ctp.bak | ||
| - | 备份: | ||
| - | <code> mv /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/agentsxindesk.ctp /var/www/html/asterCC/app/views/agents/agentsxindesk.ctp </code> | ||
| - | |||
| - | 13-12:备份: | ||
| - | <code> mv /var/www/html/asterCC/app/config/database.php /var/www/html/asterCC/app/config/database.php.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /var/www/html/asterCC/statistics/database.php /var/www/html/asterCC/app/config/database.php </code> | ||
| - | |||
| - | 13-13:将本机的hcdesk.conf文件备份成hcdesk.conf.bak | ||
| - | 备份: | ||
| - | <code> mv /usr/local/conf/hcdesk.conf /usr/local/conf/hcdesk.conf.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/hcdesk.conf /usr/local/conf/hcdesk.conf </code> | ||
| - | |||
| - | 13-14:将本机的astercc.conf文件备份成astercc.conf.bak | ||
| - | 备份: | ||
| - | <code> mv /etc/astercc.conf /etc/astercc.conf.bak </code> | ||
| - | 再执行: | ||
| - | <code> ln -s /opt/asterisk/scripts/astercc/astercc.conf /etc/astercc.conf </code> | ||
| - | |||
| - | |||
| - | 14.修改一些文件的内容 | ||
| - | |||
| - | CTI机器上: | ||
| - | |||
| - | /etc/asterisk/manager.conf 文件中,在文件最后面,添加所在网段的信息如下,然后保存退出,执行命令: | ||
| - | <code> asterisk -rx "manager reload" </code> | ||
| - | |||
| - | <code> | ||
| - | [astercc] | ||
| - | secret = asterccsecret | ||
| - | deny=0.0.0.0/0.0.0.0 | ||
| - | permit=127.0.0.1/255.255.255.0 | ||
| - | permit=192.168.1.0/255.255.255.0 | ||
| - | read = system,call,agent | ||
| - | write = system,call,agent,user,config,command,reporting,originate | ||
| - | </code> | ||
| - | |||
| - | /etc/astercc.conf 文件中,[asterisk]标签下,server填写CTI的IP | ||
| - | <code> | ||
| - | [asterisk] | ||
| - | server = 192.168.1.62 | ||
| - | port = 5038 | ||
| - | username = astercc | ||
| - | secret = asterccsecret | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 15.注意/etc/asterisk 的权限,asterisk:asterisk | ||
| - | |||
| - | 16.crontab文件内容,执行:crontab -e 进行对其内容的编辑。crontab 中监测启动的程序,互补即可,不要有重复运行的。 | ||
| - | |||
| - | CTI: | ||
| - | |||
| - | <code> | ||
| - | 30 12 * * * /opt/asterisk/scripts/astercc/processmonitors -d | ||
| - | 30 20 * * * /opt/asterisk/scripts/astercc/processmonitors -d | ||
| - | 30 23 * * * /opt/asterisk/scripts/astercc/processmonitors -d | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app asterccdelete >/dev/null 2>&1 | ||
| - | 10 2 * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app nighttask >/dev/null 2>&1 | ||
| - | 10 0 * * * /opt/asterisk/scripts/astercc/agent_report -d | ||
| - | 20 0 * * * /opt/asterisk/scripts/astercc/agentgroup_report -d | ||
| - | </code> | ||
| - | |||
| - | MySQL: | ||
| - | 全删除,不需要执行任何程序。 | ||
| - | |||
| - | |||
| - | PHP1 和 PHP2,两台机器需要根据配置和负载来划分执行哪些脚本,两台机器不要都执行,做到互补以下脚本即可: | ||
| - | <code> | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app checkonline >/dev/null 2>&1 | ||
| - | * 2 * * * /opt/asterisk/scripts/astercc/astcc_backup.sh >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app monitortar >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app backupmonitor >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app export >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app asterccimport >/dev/null 2>&1 | ||
| - | */5 * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app calculate >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app mailman >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app campaignpackgetask >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app blacklistfilter >/dev/null 2>&1 | ||
| - | * * * * * /var/www/html/asterCC/cake/console/cake -app /var/www/html/asterCC/app asterccfilter >/dev/null 2>&1 | ||
| - | * * * * * /opt/asterisk/scripts/astercc/astcc_historydata -d | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 17.mount 挂载的检测,需要添加到crontab中。 | ||
| - | CTI: | ||
| - | <code> | ||
| - | */5 * * * * dfccdata=`df |grep ccdata`; [ "X${dfccdata}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccdata /var/www/html/asterCC/data`; | ||
| - | */5 * * * * dfccstatistics=`df |grep ccstatistics`; [ "X${dfccstatistics}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccstatistics /var/www/html/asterCC/statistics`; | ||
| - | </code> | ||
| - | |||
| - | |||
| - | PHP1: | ||
| - | <code> | ||
| - | */5 * * * * dfccastspool=`df |grep ccastspool`; [ "X${dfccastspool}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastspool /var/spool/asterisk/`; | ||
| - | */5 * * * * dfastetc=`df |grep etc/asterisk`; [ "X${dfastetc}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastetc /etc/asterisk/`; | ||
| - | */5 * * * * dfccastlib=`df |grep ccastlib`; [ "X${dfccastlib}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastlib /var/lib/asterisk/`; | ||
| - | */5 * * * * dfccscripts=`df |grep ccscripts`; [ "X${dfccscripts}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccscripts /opt/asterisk/scripts/astercc/`; | ||
| - | </code> | ||
| - | |||
| - | |||
| - | PHP2: | ||
| - | <code> | ||
| - | */5 * * * * dfccdata=`df |grep ccdata`; [ "X${dfccdata}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccdata /var/www/html/asterCC/data`; | ||
| - | */5 * * * * dfccstatistics=`df |grep ccstatistics`; [ "X${dfccstatistics}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.61/ccstatistics /var/www/html/asterCC/statistics`; | ||
| - | |||
| - | */5 * * * * dfccastspool=`df |grep ccastspool`; [ "X${dfccastspool}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastspool /var/spool/asterisk/`; | ||
| - | */5 * * * * dfastetc=`df |grep etc/asterisk`; [ "X${dfastetc}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastetc /etc/asterisk/`; | ||
| - | */5 * * * * dfccastlib=`df |grep ccastlib`; [ "X${dfccastlib}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccastlib /var/lib/asterisk/`; | ||
| - | */5 * * * * dfccscripts=`df |grep ccscripts`; [ "X${dfccscripts}" = "X" ] && `mount -t cifs -o username=sbu,password=123456 //192.168.1.62/ccscripts /opt/asterisk/scripts/astercc/`; | ||
| - | </code> | ||
| - | |||
| - | |||
| - | 18.最后, | ||
| - | |||
| - | 在CTI机器上执行: | ||
| - | <code> /opt/asterisk/scripts/astercc/asterccc --RNI </code> | ||
| - | 在PHP1机器上执行: | ||
| - | <code> /opt/asterisk/scripts/astercc/asterccc --ADI </code> | ||
| - | 在PHP2机器上执行: | ||
| - | <code> /opt/asterisk/scripts/astercc/asterccc --ADI </code> | ||
| - | |||
| - | 正常在CTI上会提示:001,在PHP1上会提示002,在PHP2上会提示003,再重新做授权。在CTI上重启asterccd服务,看是否有报错。 | ||