分類
Linux 网站

迁移WordPress网站

forty-two.tk的域名突然被收回了,怀疑是昨天修改了《三月六日》那篇,添加了一点介绍。现在整站搬到了ft.wupo.info,其实wordpress迁移是很简单的,记录一下。

首先在老网站备份数据库和文件。数据库就进入老网站的phpmyadmin,然后导出就行了。我一开始选的自定义导出,用了zip压缩,结果最后不能导入,所以如果大家网速快可以直接选默认导出即可。如果数据库文件很大可以下载后本地压缩成zip在导入新数据库。文件我先是用的BackWPup这个插件,但它好像没有保存插件的文件,所以后来我就直接用ftp把整站文件全部下本地了,这是个笨方法,文件多又大就不适用了可以考虑在服务器压成zip下,或者用ssh。

在新空间建好数据库,三点注意:数据库名(可以与原数据库名不一样)、用户名(随便)、主机名(往本地迁的话推荐127.0.0.1)。然后导入之前备份的*.sql。把下载的所有网站文件上传到新空间,修改wp-config.php中的数据库名、用户名、密码和主机。

趁上传的空档,替换下数据库中的域名。在phpmysql中执行下面三行代码,其中a是旧域名,b是新域名:

UPDATE wp_options SET option_value = replace( option_value, 'a', 'b' ) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace( post_content, 'a', 'b' ) ;
UPDATE wp_posts SET guid = replace( guid, 'a', 'b' ) ;

等文件上传完,新网站就可以正常访问了。我在实际操作中发现ftp传断了好几个文件,导致网站顶部报错并无法登陆,提示php什么错误,重新覆盖大小不同的文件后就正常了。

最后还有以下善后的工作比如在谷歌分析代码新增网站,并替换functions.php中的谷歌分析代码;有个插件叫“Search and Replace”也很好用!修改手动添加的菜单的地址;footer以及rss等地方可能存在域名没替换的情况;去其他信息页博客G+等发布信息说域名换了……

最后的最后,其实网站迁移后有一个标准的动作是301重定向,把旧域名重定向到新域名。但是像我这种旧域名直接死掉的就无法也不用重定向了。其实用免费域名就要做好这种准备,免费空间也是!

WordPress 文件權限設置

保存下面的內容為 fix-wordpress-permissions.sh

#!/bin/bash
#
# This script configures WordPress file permissions based on recommendations
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions
#
# 原作: Michael Conigliaro <mike [at] conigliaro [dot] org> 本地化: Chun
#
WP_OWNER=nginx # <-- 這裡輸入伺服器上的角色名稱
WP_GROUP=nginx # <-- 伺服器設定的角色群組(通常都是同上)
WP_ROOT=$1 # <-- WordPress 的根目錄
WS_GROUP=nginx # <-- 如有要改變設定與內容目錄權限群組可以設定這裡,通常不變

# 先處理重置基礎權限部分
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \;
find ${WP_ROOT} -type d -exec chmod 755 {} \;
find ${WP_ROOT} -type f -exec chmod 644 {} \;

# 改變 wp-config.php 設定檔案的操作權限(如果有的話)
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php
chmod 660 ${WP_ROOT}/wp-config.php

# 改變 wp-content 內容目錄的操作權限(如果有的話)
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \;
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \;
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \;

然後給予運行權限並運行 fix-wordpress-permissions.sh 即可

chmod +x fix-wordpress-permissions.sh
./fix-wordpress-permissions.sh /usr/share/nginx/html/ft.wupo.info/

本文更新於 2019/12/24。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *