3

Textpattern的主机迁移步骤

 2 years ago
source link: https://www.lfhacks.com/tech/move-textpattern-to-another-host/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

上周成功转移了网站的主机,除了文件备份和数据库转移等操作,还有与textpattern自身相关的配置。由于使用textpattern系统不久,都是摸索着做的。主要参考了这篇文章

下面是我转移主机的具体操作步骤:

布置新空间

先布置好新的主机空间,确认IDC提供足够的空间、流量,确认服务器的操作系统、数据库系统、网页语言等是否和textpattern兼容。为了网站能够平稳过渡和对搜索引擎友好,在新站正常启动之前,不能关闭老站。

一般还要在新数据库里建立账号以便能够访问phpMyAdmin这样的数据库管理页面。

用FTP备份老站根目录下的文件到自己的电脑。如果是开放式网页,为了保持网站文件的稳定,应该先暂时关闭访问。关闭访问的方法是在Textpattern后台的设置里:“基本设置-状态”。(Textpattern后台的访问方法:你的网站/textpattern/index.php)

FTP协议下载文件时,对每一个文件都要建立一次连接。所以,用FTP下载多个文件时会非常慢。一般的主机空间都会有在线压缩的功能,只要在控制面板上选择要压缩的目录,系统就会把压缩好的包放在指定的目录下。

导出数据库

主机空间上会有"导出为SQL"的功能,保存到自己的电脑上。

用新站的FTP把网站文件的压缩包上传到根目录下(或者你指定的目录),这时要用到主机空间的解压缩功能,

导入数据库

首先要在类似phpMyAdmin这样的数据库管理页面,建立新的数据库,新的数据库名可以与老的不同。建好后就可以导入SQL文件了,字符编码必须和老站相同。对于中文textpattern,选择UTF-8。导入时间视数据库大小和网速而定,几秒钟就完成了。

如果SQL过大,也可以先压缩,在使用数据库管理页面的解压缩命令实现导入,注意要压缩成zip格式。

修改数据库链接

打开新主机的网址,看到的很可能是正常的页面,但是并不代表转移好了。因为在textpattern系统里,保存的数据库信息仍然是老站的信息。你看到的文章内容都是从老站读取的。

配置新的数据库,打开新站的 textpattern/config.php 文件,按下面的内容填入新增的信息:

<?php
$txpcfg['db'] = '数据库名'; 
$txpcfg['user'] = '数据库用户名'; 
$txpcfg['pass'] = '数据库密码';
$txpcfg['host'] = '新站域名';
$txpcfg['table_prefix'] = '安装老站的textpattern系统是填的数据库前缀,一般为空';
$txpcfg['txpath'] = 'textpattern目录在服务器上的绝对路径,一般在服务器控制面板里能找到';
$txpcfg['dbcharset'] = 'utf8';
?>

重新上传覆盖服务器上的版本。

到这里,textpattern系统就转移完毕了。打开新站自己的域名或者IP地址,一般是个二级域名,应该能看到新站的样子。如果看到的页面好像是缺少了CSS文件的样子,可能是textpattern/config.php里的多了空白字符,重新把每行结尾分号之后的空格删除干净,重新覆盖上传试试看。

修改后台管理员账号

在转移数据库后,访问textpattern系统的后台,会发现原来的管理员账号不能用了,这大概是转移数据库的时候,密码的格式被重置了。修改的方法是手动修改数据库里的密码记录。

到phpMyAdmin数据库管理页面,打开textpattern系统使用的数据库,找到"txp_users"的表,一般位列于表的最下方。

156.gif

寻找"浏览"或者browse的命令,点开它,会列出"txp_users"表的各种信息,包括所有的用户记录。寻找修改表结构的"structure",点开它。

157.gif

寻找"pass"字段,一般会列于第3行。寻找编辑"pass"字段的图标,一般是一支铅笔什么的。

158.gif

点开后,寻找"Length/Values"属性,会看到里面写着"128",选中,重新输入"128",点击"保存"按钮。

159.gif

回到"txp_users"的浏览页面,点开编辑你的管理员账号,或是其他什么你要修改密码的账号,找到"pass"的记录,在后面的下拉框内先选择"PASSWORD"类型,再在后面的文本框内填入你要修改的 明文 密码,系统会自动加密。

160.gif

注意:密码不要填写大写字母,因为textpattern系统在加密前会先把所有字母转化为小写,这样密码就不能对得上。点击"Go"按钮保存更改。这时返回后台登录界面,就可以用刚才重置的密码登录了。

然而这时输入你申请的通用域名,DNS解析的仍然是老站的IP地址,接下来还需要修改DNS,使域名能指向新的空间。

修改DNS地址

用户解析域名的过程大概是这样的:用户本地的DNS将你的域名一层层向上传,请求解析,直到一个根DNS,而根DNS会去查询这个域名注册商的DNS,注册商DNS会告诉根DNS应该到哪里查,根DNS按照注册商DNS的指向去请求解析。得到结果后,一边更新自己的缓存,一边向下级DNS反馈,直到反馈到最初的用户。

比如我的域名是在狗他爹注册的,简称G,我新买的空间在爱X主机,简称I。那么我在买完空间后,把我的域名告诉I,I会给我两个DNS服务器IP地址,作用是如果有人向这两个服务器请求解析我的域名,它们会反馈我的实际空间的IP地址。然后我再在G那里设置DNS的地方,把I给我的这两个DNS填进去,告诉G,如果有人问起我的域名,就告诉他去I的这两个服务器上找。

就这样,因为所有根DNS最终都会到G的DNS寻求解析,所以都会被G的DNS带到I那里去,也就能正确解析出新的地址。

因为DNS不是实时的,一般要等几分钟或者几小时或者24小时或者72小时不等。有的用户还会被老的DNS缓存带到老站那里去。所以如果不是特别紧急,应该让老站再开一段时间,避免别人和搜索引擎以为你关站了。

(update: 据说爱X空间的DNS不够稳定,还有一种方法就是使用狗他爹提供的默认DNS,并且在DNS添加A记录,指向爱X空间提供的独立专用IP。
只有你配置使用了狗他爹的默认DNS服务器后才能使用狗他爹的DNS manager,点击域名下方的"Edit Zone",将A记录里原有的IP修改为你的专用IP就行了。)

就这样,一个Textpattern站就迁移完成了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK