书画院后台系统数据迁移有感

这几天在对老师的出勤记录进行迁移,其中遇到比较多的问题。

虽然之前通过简易宏的工具来管理课包和出勤信息,但由于老师对数据结构的不理解,会手工修改出勤记录的表信息,导致迁移的时候课包的剩余课数和出勤记录无法对应起来。

新系统设计之初,也是简单想把课包变化数记录在出勤中,导致出勤的登记不够灵活。这也是下一步需要考虑修改的需求。

另外,由于 LINUX中 MYSQL 不支持中文的缘故,迁移一度陷入困境。还好王老师搞定了 PHPADMIN,可以通过图形化界面来操作数据库,方便了好多。再次感谢王老师。

目前PHPADMIN 只能通过占用80端口调用,因此和 etmt2 只能挑一个拉起来访问。不过可以接受,毕竟操作数据的情况不多。

着急对应的几个需求如下:
1、出勤信息、课包信息的查询功能
2、新开学员检查名字,理论上不能多开同一个学员
3、出勤信息与课包课时变化的弱关联,放开老师修改出勤信息

目前是这些,继续加油。

时隔五年,重获新生

在王老师的帮助下,从阿里云的Windows服务器迁移过来了。
现在跑在 Linux 的 docker 上,相当的流畅。

看了下博客,最后一篇已经是2013年写的了,5年弹指一挥间。
一号机和二号机都已经生为人父,曾经的域名ETMT1现在也生死未卜了,希望7.15能抢回来。

通过这篇文章希望能够重拾当年的技术热情,重新出发。

wordpress的迁移

其实,wordpress的迁移很简单的。

一共需要解决两个板块的问题,1数据库,2网站代码。

1,数据库
数据库关键的是要在旧数据库中导出数据到新数据库中。
比如MYSQL,可以直接在Linux中使用dump命令(或者界面化的东西),然后到新的MYSQL中source(导入)进去就OK了。

2,网站代码
这个比数据库还简单,只需要把旧代码打包下载,然后上传到新的服务器上,修改一下wp-config.php里面数据库相关的代码就OK了。

完成这两步,就是实现了WP的迁移工作。

服务器的转移2

之前说道了SVN的问题。

当配置完成SVN+Apache之后,访问时出现500 Internal Server error

出现了这个问题,说明是Apache这个环节出了问题。

为了要解决问题,首先要知道问题出在哪里。

#tail /var/log/httpd/error_log
查看错误日志,用tail是因为最新的东西在最下面。
[error] [client *] (13)Permission denied: Could not open password file:
[crit] [client *5] configuration error: couldn’t check user. No user file?:
发现错误如上。

总的来说是权限配置问题,修改以后就好了。

这两天纠结就是纠结在这个权限的配置上,我修改了Svn一下所有问题的权限,但是忘记修改进入到SVN所在目录的目录权限了。。。

接下还有一个能算问题,也能不算问题的问题

[warn] NameVirtualHost *:80 has no VirtualHost

在 Apache2.2 中,由于定义了多个 NameVirtualHost 所以才会出这个警告。

我在 site.conf(自己配置的文件中)有一个 NameVirtualHost。

但是在 httpd.conf 里面没有找到第二个。

当我把 etmt1.conf 里面的 NameVirtualHost 注视掉以后就没有这个问题了。另外Apache和网站访问也正常。

服务器的变更历程

首先,我想说,FUCK!!!!!!!!!!!

NND,终于有见到我最爱的WP了,不容易啊。

都快半个月了。

算算日子,回想半个月前,从FC2跳到HG,主要是由于中国大陆访问时速度过慢的问题。

VPS的变更带来了一系列的问题需要解决。。。

最开始的问题,我和二号机都没有VISA卡,所以不能支付美国业务(FC2是日本的,所以可以用我的JCB来支付)。

后来二号机找到了HG,HG支持Paypal支付,总算是解决了问题1。

接着,二号机的我拿到服务器以后,自然是资料的转移以及服务器的再配置了。

到手以后一看,Mysql上不去,一般来说初始化的Mysql要使用Mysqladmin来给Root加个密码,但是我试下来没用,那么立马找了谷歌,看了很多文档,发现了很多很高级的,还有什么跳过验证(skip-gaint)进入Mysql的方法了云云,很是高深。只是大结局是依然没有什么用。。。最后问了HG的老大,老大说,默认是admin,不是root,他帮忙改过了,所以没用。。。一试 mysqladmin admin。。。果然有用,多亏了老大的帮忙,问题2搞定了。。。

问题2之后,碰到了最大的问题,问题3,域名问题!

首先域名从旧的VPS处到新的VPS的时候要经历一次重新配置,由于我的域名是在VPS处购买的,所以我不能直接管理,为了能够直接管理,首先要做一次Domain transfer(DT)。DT,难点不在于技术,在于沟通。核心步骤在于从web keepers那拿到到EEP key,问谁拿?问卖给你域名的人拿。FC2还是很配合的,问了以后立马给了我EEP以及帮我unlock保证了我的转移。接着在whois上找到我的注册商,我是eNom,去到了eNom以后填写一下资料,然后eNom给了封Email、确认,成功。DT问题只要做过一次就明白了,没什么技术含量,只是这个是业务上经验,不是靠学能学出来的。至此问题3搞定。补充一句,其实转移VPS以后,比如HG,可以直接把Domain转移给它,它还会送一年的Domain使用给你,另外每次转移后都会增加一年,要么是送的、要么自己掏钱买的。

接着是问题4和5,这个主要是由于对Domain的理论没有结合实际造成的。

问题4,@etmt1.com的邮件收不到了,很是域名,原以为是转移的关系(其实也有一点关系啦),后来知道,其实是MX Record忘记配置了。。。我很二的在host record里面找了半天没找到,最后发现其实它单独一个选项框。。。添加方法很简单,Host Name:@ ; address: ASPMX.L.GOOGLE.COM. ;Pref:10。这样,企业邮箱就搞定了。。。

问题5,Apache主页不认,这个问题。。。我很二的在服务器上找了半天,想怎么更改了DocumentRoot以后它就是不认呢。。。最后发现原来是Host Record这里写错了。。。原来HG给的服务器有两个IP,我在服务器上配置的和Host Record上面配置的不一样。。。残念。。。。

问题6,SVN联合Apache,最先碰到的是SVN中需要的两个模块在Apache上面没有,我的第一反应是yum list | grep subversion,尼玛没有,这下子我又囧了。。。纠结了两天,研究了很多Apache如何添加模块,发现现在主流的方法是apxs,这个方法需要有httpd-devel的依存。只是这个方法是编译的方法,没有找到合适的.c文件,最后放弃。一怒之下,yum search svn,两个模块出来了。。。

问题7,SVN模块解决后,访问时出现了一个Internal Server Error的问题,这个问题,野路子菜鸟的我依旧在寻找解决方案中。。。