如何将suiteCRM文件从一个服务器传输到另一个服务器

时间:2015-05-06 10:02:16

标签: migration

我在服务器xxx中有一个站点,这很慢,所以我需要将它转移到服务器yyy。这是一套套房。那么如何将其迁移到新服务器,它需要是一个套件CRM。

1 个答案:

答案 0 :(得分:1)

由于SuiteCRM是SugarCRM的开源分支,因此复制Suite服务器的过程与Sugar类似。移动SugarCRM服务器的说明如下: http://support.sugarcrm.com/Knowledge_Base/Administration/Platform_Management/Moving_Sugar_to_Another_Server/index.html

以下是成功将SuiteCRM安装从一个Linux / MySQL服务器转移到另一个Linux / MySQL服务器的过程:

(注意:以超级用户权限执行以下所有操作,即以root用户身份登录,使用sudo命令,或者使用sudo为所有命令添加前缀。)

  1. 使用SuiteCRM所需的所有先决条件设置新服务器。对于Debian,这些是命令:

    apt-get install apache2
    apt-get install mysql-client
    apt-get install mysql-server
    apt-get install php5
    apt-get install php5-mysql
    

    确保为MySQL root用户使用强密码,并在某处记下它。它不必是您在原始SuiteCRM服务器上使用的相同密码。

    指定Apache作为自动重新配置的Web服务器。

  2. 设置Apache虚拟主机以指向要运行SuiteCRM的位置。这与为任何网站设置虚拟主机完全相同..这个过程在其他地方有详细记录。

    SuiteCRM的webtree是使用Apache DocumentRoot指令指定的目录。我确保新服务器上的webtree与旧服务器上的相同,但是如果你移动它可能会有效。

  3. 如果原始SuiteCRM安装具有会话目录,请在新服务器上创建此目录,并确保www-data用户能够写入该目录。 E.g:

    mkdir /var/www/suitecrm-session-directory
    chown www-data /var/www/suitecrm-session-directory
    

    会话目录必须与旧SuiteCRM服务器上的目录位于同一位置,否则您需要查找并更新指向它的SuiteCRM配置参数。

  4. 将旧SuiteCRM服务器上的webtree中的所有文件复制到新文件。我为此使用了rsync。在以下示例中,webtree在旧服务器和新服务器上都是/ var / www / suitecrm。

    首先确保使用以下命令在旧服务器和新服务器上安装rsync:

    apt-get install rsync
    

    然后登录到新的Web服务器并运行以下命令(替换" root"与您在旧服务器上登录的用户,以及" oldserver.com"替换为" root"旧服务器):

    cd /var/www/suitecrm
    rsync -avg -e ssh root@oldserver.com:/var/www/suitecrm .
    

    除非您已设置基于证书的SSH身份验证,否则系统会提示您输入用户密码。

  5. 登录旧的SuiteCRM服务器并获取数据库的副本。您需要知道MySQL数据库root用户密码(替换" suitecrm"以及旧服务器上SuiteCRM数据库的实际名称):

    mysqldump --user=root --password=theactualpassword suitecrm >suitecrmdump.sql
    
  6. 将您刚刚创建的数据库转储复制到新服务器。我用scp来做这件事。登录到新服务器并运行以下命令(替换" root"与您在旧服务器上登录的用户,以及" oldserver.com"以及旧服务器的URL ):

    scp root@oldserver.com:~/suitecrmdump.sql .
    
  7. 在新服务器上创建数据库并从数据库转储中导入数据。 NB。您需要保持数据库名称相同 - 如果没有,那么您需要查找并更新指向此的SuiteCRM配置参数。在新服务器上执行以下操作:

    mysql --user=root --password=theactualpassword
    

    从mysql提示符:

    create database suitecrm;
    exit
    

    然后:

    mysql --user=root --password=theactualpassword suitecrm <suitecrmdump.sql
    
  8. 创建SuiteCRM用于访问数据库的MySQL数据库用户。

    首先登录旧数据库服务器并运行:

    mysql --user=root --password=theactualpassword
    

    从mysql提示符:

    SELECT Host,User from mysql.user;
    

    这将显示数据库用户列表。其中两个将是SuiteCRM用户 - 一个在localhost上,另一个在SuiteCRM安装的公共URL上。

    键入以下内容以退出MySQL:

    exit
    

    登录新数据库服务器并运行:

    mysql --user=root --password=theactualpassword
    

    从mysql提示符(替换&#34; suitecrmuser&#34;&#34; suitehost.com&#34;与您从旧服务器记下的实际用户和主机。也使用相同的SuiteCRM数据库用户密码在旧服务器中使用,或者您需要在SuiteCRM中查找和更新相关配置参数。这可能与数据库root用户的密码不同:

    CREATE USER 'suitecrmuser'@'localhost' IDENTIFIED BY 'password';
    CREATE USER 'suitecrmuser'@'suitehost.com' IDENTIFIED BY 'password';
    
  9. 制作SuiteCRM用户访问权限的副本:

    首先登录旧数据库服务器并运行:

    mysql --user=root --password=theactualpassword
    

    从mysql提示符:

    SHOW GRANTS FOR 'suitecrmuser'@'localhost';
    SHOW GRANTS FOR 'suitecrmuser'@'suitehost.crm';
    

    将显示的授权复制到文本编辑器。从行的开头和结尾删除管道符号。每个用户的授权包含两行以GRANT USAGE ON开头的SQL代码。

    键入以下内容以退出MySQL:

    exit
    
  10. 将访问权限应用于新服务器上的用户:

    登录新数据库服务器并运行:

    mysql --user=root --password=theactualpassword
    

    在mysql提示符下,为两个数据库用户中的每一个粘贴以GRANT USAGE ON开头的SQL行。全部应该有四条线。在每行的末尾添加一个分号。按每行上的Enter键以运行SQL代码并应用权限。

    键入以下内容以退出MySQL:

    exit
    
  11. 将SuiteCRM crontab条目从旧服务器复制到新服务器。

    首先登录旧服务器并运行:

    crontab -l
    

    这将列出服务器上的crontab条目。 SuiteCRM的常规cron任务应该有一个条目,每分钟运行一次。将此行复制到文本编辑器。

    然后登录到新服务器并运行:

    crontab -e
    

    这将在编辑模式下打开新服务器上的cron表。粘贴在SuiteCRM crontab条目中。退出并保存 - 要在Debian Linux上执行此操作,请按Ctrl-X并对出现的提示回答“是”。

  12. 彻底测试所有内容以确保其正常运行。

    使用测试工作站编辑c:\ windows \ system32 \ drivers \ etc \ hosts文件,将SuiteCRM服务器的URL设置为指向新服务器。切换DNS之前,请确保它正常工作。测试完成后删除hosts文件条目。

  13. 使用DNS名称服务器服务切换DNS。编辑zonefile以将Suite服务器的URL指向新服务器的IP地址。

相关问题