假如你变更了主机,或则保持开发和线上独立,你须要迁移你的drupal站点。这是一个线下工作,其实仅仅是一个检测列表,你须要按照你的须要和服务器环境做出相应的调整。这个过程包括单站,多站(多站在windowsapache或则多站在linux)的迁移等。
打算工作
记录源主机和目标主机安装的php任何差别,包括bugs,features,模块,配置,版本等,另外还有mysql和apache的差别。
打算一些工具和命令,例如,怎么上传和下载文件,管理两台机器上的MySQL等压缩文件,在mysq下修改权限和所有者。有Drupal的工具,包括其中一些步骤,比如备份和恢复数据,但她们不是应对所有问题。你应当明白在这个过程中,这些工具能保证你,这些工具不利于迁移工程。
目标主机检测清单:你必须确认目标主机支持drupal须要的所有的特点(可写,可覆盖)。假如你从一个好主机迁移到一个此主机,drupal不能正常运行,可能不是你的迁移失败,而是目标主机不能正确支持drupal。
旧站点记录使用的模块,包括她们的版本和路径。模块网站文档可以缓解这方面的工作记录用于管理/设置/文件系统(admin/settings/file-system)的临时缓存路径,还原数据库以后并保持2个站点使用相同的路径。设置网站离线模式,管理/维护模式(Administer/Sitemaintenance),选择“离线”(Offline)。考虑迁移之前更新Drupal核心和模块关掉“简洁链接”(Administer/"CleanURLs").消除缓存数据。导入数据库数据。你可以使用mysql管理员或则phpmyadmin,导入成.sql文件。你不须要下载,由于这个文件就在你的计算机上。假如你的网站是在线服务器,请考虑是否设置你的网站在线。维护模式为在线。其实,随后的的所有递交(评论,峰会等)都将遗失。为此,你可以考虑通过更改权限来制止用户评论。复制drupal所有的代码,但是下载到本地。而且传送到新的目标机器。这样,可以在新的目标机器上使用该备份。复制网站文件和任何相关的路径(例如图片路径),并下载到本地,上传到新的目标机器。erver.源主机和目标主机之间
这种步骤须要在你自己的笔记本上执行,和源主机和目标主机上执行不同。
在数据库的数据包括一些硬编码,这种可能不适宜新的目标主机。你可以使用sql查询来重建数据库并改变这种,或则你可以使用文本编辑器更改.sql文件。借助文本搜索可以得到一些意想不到的变更区域。假如很慢,你可以考虑以下:
文件列表(文件表中的路径)[Thefileslist(field"filepath"intable"files")]网站url。一些节点链接和引用指向了网站绝对路径,另外在日志文件中也有好多链接。在新的目标网站,这种并不是合适的。你可以考虑更改每位表。上述变更导致的变化。比如消息模块,在消息储存中为每条消息储存了网站url。我相信图象(imagefield)模块类似文件清单的列表。哪些工具创建新的数据库(参见下边的导出数据)数据库名称。你的托管公司可能须要所有的数据库表以“yourname_”开始。据悉,她们可能还限制字符宽度。下边的命令能从数据库dump文件中去除数据,当drupal数据库不能从一个数据库迁移到另外的数据库sed-E-e"/^INSERTINTO\`(cache|watchdog|sessions)/d"/path/to/dump-stripped.sql假如你的数据库使用表前缀,你须要调整正则表达式
假如你联通一个在线网站从一个主机到另一台主机,你须要调整dns配置指向新的主机。
在目标主机
如今在目标主机上执行:
上传整个drupal代码到目标主机,包括内核,模块,主题。或则重新建立。一些人喜欢安装新的内核。Uploadorcopythefilesdirectoryandanysimilardirectories(suchasimagegalleries)tothelocationyouchosewheneditingthe.sqlfile上传文件夹和相关文件夹(例如图象文件)到你选择的路径。借助drupal用户创建数据库。假如你的托管公司须要,所有表以"yourName_"开始。据悉,她们可能限制字符宽度。假如你可以创建而且你有.sql文件,则跳过这步。上传并导出数据文件。假如你不能创建数据库,你可以须要你主机上的其他工具来完成创建数据库。这时,你须要删掉.sql里的所有的"createdatabase"行("createdatabaseifnotexists"除外)。你可能发觉对于phpMyAdmin来说,数据库过大而不能上传。一些主机提供了mysqladministrator用户,拿来接收大文件。假如你能ssh接入到目标主机,你可以使用mysql命令"mysql--user=user_name--password=your_passworddatabase_name"登陆mysql,之后使用source命令导出sql文件。
"sourcedatabase_backup.sql".更改settings.php文件,更改数据库联接。使用正确的用户名密码,保证能联接目标主机的mysql。你须要调整mysql目标地址来适用当前的环境。有时,须要更改.htaccess文件的rewrite规则登陆新站点,使用“/?q=user”登录,更改维护模式,开启简约url。调整网站配置,包括email地址,更改文件路径,更改临时缓存调整模块。例如php从5.2.8升级到5.3.0,一些模块不能正常工作。通过大量的错误信息,搜索可能的解决方案。似乎不得不做出以下调整,但不限于检测状态报告。运行cron,假如drupal建议。你的新站点和旧站点一模一样了。你可以更改主题或则主题颜色提高视觉疗效。调整性能参数,配置,性能(Administer→Siteconfiguration→Performance.)当做完所有的工作,你更改维护模式为在线。设置cron任务。假如你的新drupal站点为公开访问,设置dns解析到新的目标主机ip。假如你的站点更改域名提供商,你更新你的协议。