======如何在页面迁移asterCC系统====== =====第一步:在新服务器安装新系统===== 请阅读: [[zh:下载和安装:安装|asterCC系统安装]] 注意:迁移数据及配置文件之前,务必在新服务器上安装**相同版本**的astercc系统,并且将**相应模块**安装齐全。 =====第二步:获取新授权===== 在新服务器上,先执行如下命令,然后点击"下载验证文件"按钮,下载验证文件: /opt/asterisk/scripts/astercc/asterccc --RNI 再到原来服务器的astercc系统去“下载验证文件”,将两个文件一并发送给 技术支持:support@astercc.org 或 support@sonicwell.com,并说明情况即可申请授权。待收到技术支持回复的授权文件后,上传授权文件即可,最后去新服务器下备份一下 license.astercc 文件。 cd /opt/asterisk/scripts/astercc/ mv license.astercc license.astercc.bak {{:zh:常见问题及解答:授权文件的下载01.png?750|}} =====第三步:备份/恢复数据库===== 此处我们假设:asterCC系统 从 192.168.1.175 向 192.168.1.146 迁移 ====数据库备份==== 点击左侧的[系统设置]->[备份计划管理]->[添加备份计划],计划名称:用来区分备份的系统文件。备份文件保留天数,这项是务必填写的,根据自身机器设备的内存、硬盘来自由决定 {{:zh:常见问题及解答:系统文件备份1.png?750|}} 再看[高级资料],"双击"选择要备份的系统配置文件内容,建议全部选择,一共十个文件。根据备份数据库”格式“输入需要备份的数据库,格式的说明请阅读:[[zh:模块使用说明:系统设置:备份计划管理|备份计划管理]] {{:zh:常见问题及解答:系统文件备份2.png?750|}} 备份完成后,在[添加备份计划]页面,会出现刚才备份的信息,可以对其进行[编辑]和[删除]操作 {{:zh:常见问题及解答:系统文件备份03.png?750|}} ===用代码实现数据库的备份=== 首先登录服务器: ssh root@192.168.1.146 然后再到mysql目录下,ls一下可以看到有个名叫“astercc10”的目录,这就是数据库。 转到mysql目录的命令: cd /var/lib/mysql && ls 再执行数据库备份命令: mysqldump -uroot -p astercc10 > astercc20150302.sql 最后输入数据库密码,即可进行数据库备份。 假若不想单独输入密码,直接将密码放到备份命令里,可执行备份命令: mysqldump -uroot -pastercc astercc10 > astercc20150302.sql 说明: 1.在登录自己本机服务器的数据库时,假如出现 “ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' ”,则需要加上 -h127.0.0.1,即: mysqldump -h127.0.0.1 -uroot -pastercc astercc10 > astercc20150302.sql {{:zh:常见问题及解答:本机服务器dns系统有问题.png?750|}} 2.假如在 cd /var/lib/mysql 时权限不够可以修改权限: sudo chmod 755 mysql 查看具体有哪些权限: ll |grep mysql {{:zh:常见问题及解答:权限不够修改权限.png?750|}} 3.在 mysqldump -h127.0.0.1 -u root -p astercc10 > astercc20150302.sql 数据备份命令中,astercc10:是数据库的名字,astercc20150302.sql:是数据库备份文件 ====数据库恢复==== 登录175服务器,在 /tmp/backup 下找到刚才备份的文件:BF。命令: ssh dev03@192.168.1.175 然后再转到backup目录下 cd /tmp/backup 然后 ls 一下即可查看到备份好的文件最下面绿框中的即是。 {{:zh:常见问题及解答:备份文件1_1_1.png?900|}} 并将其复制到新的服务器146上的根目录(/)下面,命令: scp -r BF.19.2015-02-28-16-08 root@192.168.1.146:/ 输入146服务器的密码,待右侧全为100%了,也就复制完毕了。 {{:zh:常见问题及解答:备份文件1_1_2.png?545|}}{{:zh:常见问题及解答:备份文件1_1_3.png?240|}} 假如出现warning,如下图。需要执行命令,并删除里面相应信息,输入YES即可。 vim ~/.ssh/known_hosts 或者执行下面红框里的内容,如: ssh-keygen -f "/home/dev03/.ssh/known_hosts" -R 192.168.1.146 {{:zh:常见问题及解答:warning01.png?850|}} 登录146服务器: ssh root@192.168.1.146 再找到刚才复制的备份文件并将其解压缩,其中对于.tar.gz类文件解压,命令如下,其中XXXX是压缩文件的名: tar -xzvf XXXX.tar.gz 然后将解压出来的数据库备份文件 导入数据库: mysql -u root -p astercc10 < XXXX.sql 此处XXXX为:astercc10,如下图。最后输入新服务器数据库的密码,默认的是:astercc。其中astercc10是146新服务器上的数据库名字,astercc10.sql是解压出来的数据库备份文件,这样一来,数据库就被迁移导入了。 {{:zh:常见问题及解答:备份文件1_1_5.png?850|}} 到这一步,还没有完全结束,假如老服务器数据库没使用默认的数据库信息,则 需要对新服务器配置文件进行3处手动修改: 1.对astercc.conf->[database]中的相应信息进行修改,比如:dbname、password 等等 vim /opt/asterisk/scripts/astercc/astercc.conf 2.对astercc.conf->[statistics]中的相应信息进行修改,比如:dbname、password 等等 vim /opt/asterisk/scripts/astercc/astercc.conf 3.对database.php 最后面的 class DATABASE_CONFIG 中 default下的password、database、prefix 等等进行修改 vim /var/www/html/asterCC/app/config/database.php =====第四步:复制(覆盖)系统配置文件===== 我们在备份时选择了很多系统文件,即在[系统设置]->[备份计划管理]->[添加/编辑 备份计划]->[高级资料]->[备份内容] {{:zh:常见问题及解答:系统文件备份2.png?850|}} 备份好的系统配置文件是可以查看到的(黄框内的文件),我们将其解压(以 "_etc_" 开头的压缩包为例): {{:zh:常见问题及解答:备份的配置文件.png?850|}} 解压命令: tar -xzvf XXXXX.tar.gz 将三条记录都解压,会出现一个叫 etc 的文件夹,解压完后有四个文件夹,将其四个及其目录下的所有文件夹、文件复制到新的服务器“相应”位置, 即: \cp -rpf /BF.19.2015-02-28-16-08/etc/* /etc \cp -rpf /BF.19.2015-02-28-16-08/var/* /var \cp -rpf /BF.19.2015-02-28-16-08/opt/* /opt \cp -rpf /BF.19.2015-02-28-16-08/usr/* /usr 需要说明的是:\cp是在复制时,不提示覆盖信息用的,-r是有关目录的操作,-p是除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中,-f是强行操作 慎重使用。 {{:zh:常见问题及解答:备份文件1_1_6.png?850|}} ===用代码实现即时性系统配置文件的转移(覆盖)=== 首先登录登录原来服务器(175),找到[系统设置]->[备份计划管理]->[添加/编辑 备份计划]->[高级资料]->[备份内容]下备份的文件及目录。 scp -rp /var/lib/asterisk/* root@192.168.1.146:/var/lib/asterisk ,然后输入密码 scp -rp /var/spool/asterisk/voicemail/* root@192.168.1.146:/var/spool/asterisk/voicemail scp -rp /var/spool/asterisk/monitor/* root@192.168.1.146:/var/spool/asterisk/monitor scp -rp /usr/lib/asterisk/* root@192.168.1.146:/usr/lib/asterisk scp -rp /etc/asterisk/* root@192.168.1.146:/etc/asterisk scp -rp /etc/dahdi/* root@192.168.1.146:/etc/dahdi scp -rp /opt/asterisk/scripts/astercc/* root@192.168.1.146:/opt/asterisk/scripts/astercc scp -rp /var/www/html/asterCC/* root@192.168.1.146:/var/www/html/asterCC scp -rp /var/lib/sounds/* root@192.168.1.146:/var/lib/sounds =====第五步:系统的重载===== 将数据库备份导入完成,系统相关文件复制覆盖后,需要在新的服务器上进行系统的重载,找到reloadconf.sh文件后,执行它即可。 cd /opt/asterisk/scripts/astercc/ 会发现一个名为reloadconf.sh 的脚本文件,用 ./ 便可以执行它,如下: ./reloadconf.sh {{:zh:常见问题及解答:系统重载1.png?850|}} ===== 常见问题的解决方案 ===== Astercc系统迁移完成后,如果编辑完内容后点击重载条,但显示"Permission denied!"。我们可以执行以下命令: chmod 777 /var/www/html/asterCC/cake/console/cake 执行完以上命令,重启asterccd,假如还不起作用,再执行以下命令: chown -R asterisk.asterisk /var/www/html/asterCC/ chown -R asterisk.asterisk /etc/asterisk