• 03
  • 6月

今年我这个小Blog颇为不顺利,先是3月份去年与人合租的DreamHost空间到期。在没有得到通知的情况下数据全丢。然后又是5月份,现在与人合租的这个空间两次被黑,而且还是数据全部被清空那种。没几个月下来,光恢复Blog数据的事我已经做过3遍了。期间攒了不少教训。

首先必需说的是:备份不能忽视,必须加以重视!
像我这样合租外国空间,自己架设Wordpress的情况。数据实际上是很不安全的。黑客攻击、空间到期、甚至不小心触了我们伟大的墙。你都将不得不面对恢复数据或迁移数据的问题。没有一个好的备份……

以下是我使用过的一些备份方式,及其比较:

1.phpMyAdmin导出数据库
优点:老牌MySQL管理工具,导入导出都不会出问题
缺点:Wordpress外另装的程序,得自己记得进去导出。容易忘记。(我只用过一次,不过每次恢复都会用到它导出的数据)

2.Wordpress自带的导出功能
优点:自备,不用自己安装。且导出的数据可以导入到其他域名的Wordpress上。(只有这个能做到,其他的都要自己修改导出的数据库文件,用新域名替换掉旧域名,否则导入后打开主页会默认转回到原始域名)
缺点:内容比较多时,导出的数据有时候不能正常导入。且只能备份文章和评论。

3.backupwordpress
优点:能定时自己备份所有文件和数据库。
缺点:导出数据库功能基本没用。中文乱码,且包含一些绝对路径信息。

4.wp-db-backup
优点:定时备份数据库,并发送到指定邮箱。且中文支持良好。
缺点:功能单一(就算缺点吧*_^)

这几次备份、还原折腾下来,我最终选择了wp-db-backup自动备份我的数据库并发送到我的Gmail中。Wordpress文件则在自己电脑上放一份与服务器完全一样的,如要修改先在自己电脑上改,再上传到服务器。

而backupwordpress虽然有很多人说好,由于中文乱码和绝对路径问题,基本上是用不得的!

  • 16
  • 6月

终于无法忍受几个人一起做东西时版本混乱的状态。决定学习使用Subversion进行版本控制。自己架设一下Subversion的服务器。

在Google上搜到两篇教程:Subversion配置安装教程(一)Subversion在linux和Windows下的安装步骤。写的很好,但因为具体环境不同。完全照教程是搞不定的。这里总结一下我的安装心得。

首先介绍一下我现在的环境:WinXP sp2;为学习php,安装了一套集成的wamp:easyapm21,集成Apache 2.0.55、PHP 5.05、MySQL 5.0.15等。这套系统为绿色安装,全部文件都在D:\usr下;使用过GoogleCode提供的svn服务,机子上已经安装好SVN的客户端TortoiseSVN。

我准备把Subversion安装成基于Apache Http Server的方式。直接集成到机子上已有的Apache上去。

首先到this directory下载了 svn-1.4.3-setup.exe 这个文件(最新版是1.4.4,但教程上用的是1.4.3,第一次安装,保险起见,不求最新)。双击安装即可。我把它安装在了“D:\Program Files\Subversion”下。

然后打开Subversion的安装目录,将其bin下的两个.so文件复制到Apache下的modules目录下。再将bin下的所有dll文件复制到Apache下的bin目录下。

最后检查Apache的httpd.conf。打开Apache安装目录下conf目录中的httpd.conf,搜索#LoadModule dav_fs_module modules/mod_dav_fs.so,把前面的注释#去掉;并检查LoadModule配置节的末尾是不是有了LoadModule dav_svn_module modules/mod_dav_svn.so和LoadModule authz_svn_module modules/mod_authz_svn.so。

到此安装过程就算结束了,不过此时Subversion还是不可用的。接下来的是配置过程。

1.建立源码库:

随便找个地方建个目录,作为源码库的根目录。(我的是f:/svn)

在其下新建一个源码库目录。我建的是test。《Subversion配置安装教程》一文中介绍的是使用命令行建立Subversion数据库。这个比较麻烦。我发现实际上TortoiseSVN可以更好地完成这个工作。装好TortoiseSVN后,直接在这个源码库目录(此处为test目录)上点右键,选择TortoiseSVN下的“在此创建版本库”,随便选择一种数据库格式就OK了。

2.修改Apache的httpd.conf

这个《Subversion配置安装教程》一文写的很明白。这里复制一下:
在httpd.conf末尾加入以下语句(其中SVNParentPath后的字符串就是上一步源码库根目录的路径):

<Location svn=””>
DAV svn
SVNParentPath “f:\svn”
AuthType Basic
AuthName “Subversion repositories”
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>

这里建立了一个虚拟目录http://localhost/svn/,所有的Subversion源码仓库都在这个虚拟目录中,并且使用“passwd”文件中username/password(用户名/密码)列表访问http://localhost/svn/。

然后在cmd下进入Apache的安装目录(应该其下有个bin目录),执行bin\htpasswd -c passwd <username>(<username>是你想要加入的用户名,比如我的是work),系统会让你输入两次密码确认。这样你就可以在Apache的安装目录下看到生成了一个名为“passwd”的文件。

重启Apache,访问一下http://localhost/svn/test/,提示输入用户名密码,正确后显示Revision 0。证明安装成功。

现在就可以随便找个地方新建个目录,右击,选择“SVN检出…”,输入上面这个url,OK。开始享受SVN带来的便利吧!

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程