Author Archives: wlx

升级postgresql数据库:8.4->9.1

UBUNTU升级后,postgresql之前的版本8.4并不会自动删除,而是采用保留的方式,同时运行两个版本的数据库,因此若要彻底升级,还需要手动升级数据库。 sudo su postgres pg_dropcluster –stop 9.1 main pg_upgradecluster 8.4 main 若出现此错误: Stopping old cluster… pg_ctl: server does not shut down Error: Could not stop old cluster 则先用回到普通用户,停止postgresql 8.4版本。 sudo service postgresql-8.4 stop sudo service postgresql-8.4 start 然后再次用postgres账户运行: pg_upgradecluster 8.4 … Continue reading

Posted in Linux | Tagged , | 1 Comment

ubuntu从lucid升级到maverick遇到的问题

因为想升级postgresql,就把westdc的服务器从ubuntu lucid升级了,升级过程中遇到了奇怪的问题。 1. 重启后无法启动 直接导致无法远程SSH,第二天到机房一看,是趴在initramfs地方,直接输入命令exit就可以正常启动了。 启动后进行发现升级不完整,需要进行: sudo apt-get -f install 进行中,发现是内核未完成安装,是这个导致了无法启动? 2. apache2无法启动virtualhost 所有网站访问的时候,都进入了默认网站,显示: It works! 网上搜索后,发现可能是这个原因引起的: 在ports.conf中: NameVirtualHost *:80 Listen 80 而在site中,是这样的: <VirtualHost *> 然后把ports.conf中的”*:80″改为“*”后系统就可以正常访问了。 即: NameVirtualHost * Listen 80

Posted in Linux | Tagged , , , , | Leave a comment

mac下搭建php+postgresql环境

mac osx lion下默认安装有apache2和PHP5,但是默认没有对应的PGSQL扩展,因此需要从源码编译进行安装,感觉太麻烦了(主要是习惯了apt-get的用法,给培养成懒人了),最终还是通过macport来进行安装的。 在此记录一下过程,以备后用。 1. 安装macport 2. 开终端,sudo port install php5-postgresql 3. 等待即可,这样就安装了apache2, php5, php5-postgresql 4. 从postgresql官方下载最新mac版本并安装 5. 一些设置 5.1 port安装的默认目录位置为/opt/local/下,相关软件的设置都需要此进行设置。如apache2的配置文件在/opt/local/apache2/conf目录下 5.2 默认安装后还需要把php5进行激活。 具体的设置过程可以参考: http://2tbsp.com/content/install_apache_2_and_php_5_macports

Posted in mac osx, Program | Tagged , , , , , , | 1 Comment

westdc用户库与geonetwork的同步

在数据中心系统里,westdc和geonetwork里各维护了一套用户库,有各自的登录系统,之前在处理元数据的时候二者一直是独立的,之前有一篇帖子是将geonetwork的用户密码更改为md5后进行同步,但这终归不是长久之计,因此需要一个好的方法能把二者给深度集成。 深度集成的关键在于两个方面: 1. 用户信息能否自动同步,即在westdc中修改后能否自动反馈到geonetwork中。 2. 用户登录信息能否自动进行,即只需要用户登录一次即可。 存在问题: 1. 二者的用户密码加密方式不同,一个是MD5,一个是SHA1。 2. 二者的WEB实现代码不同,一个是PHP5,一个是JAVA,二者的SESSION不能直接共享。 而为解决这些问题,网上也有很多的说明,SESSION共享可以通过数据库保存SESSION的方法进行处理,但这种方法对两个系统都有相当大的修改,工作量较大。因此后来用了一个折衷的方法来进行处理,即: 1. 在westdc中用户密码不变,而在geonetwork中的密码为sha1(md5(md5(pwd)))方式。 2. 在westdc中登录后可以自动登录geonetwork系统,对用户而言,是只登录了一次。同时由于采用了两次MD5加密,也保证了安全性。 但在处理数据库自动同步的时候,还是出现了很多问题,主要是通过view进行了规则的中转后,导致SQL执行失败,最终通过在users表中添加trigger,而由trigger直接调用dblink执行操作geonetwork/user表。 BTW:在postgresql中使用sha1需要安装pgcrypto扩展。

Posted in Linux, Program | Tagged , , , , | Leave a comment

10 Tips on how to make great visual diagrams

看了一本介绍如何使用Omnigraffle画图的书(OmniGraffle 5 Diagramming Essentials),里面一部分是讲了制图的一些常见技巧,在网上搜索了一下,发现这部分已经公开了,特记录一下。 Tip 1: Do some planning before you start Tip 2: Colorize gently Tip 3: Use few fonts Tip 4: Consider your output media Tip 5: Symmetry is better than asymmetry Tip 6: Have one, and only … Continue reading

Posted in Computer | Leave a comment

在ios平台上使用piwik mobile

服务器上使用了piwik来统计用户访问情况,发现其也有ios版本,于是下载使用,但是发现一直有问题,无法登入,因此还在piwik trac平台上继续汇报了此bug,但后来无意中发现,只要piwik mobile语言设置为和ios平台相同,即可登陆。即在中文情况下,需要设置piwik mobile语言为中文,iphone中需要在设置中找到piwik mobile进行处理,ipad中打开piwik mobile可以直接设置。

Posted in tech | Tagged , , | Leave a comment

给awstats增加纯真IP库qqwry.dat支持

服务器环境:ubuntu 10.04, utf8编码 在进行网站统计时,默认采用的GEOIP库进行国家统计,但我们的网站用户群主要是国内,因此统计来源国家意义不大,就需要统计国内各省市来访信息,纯真IP数据库应该就可以发挥很好的作用。 awstats结合qqwry.dat已经有现成的插件,但其官方网站已经无法访问(www.ieasy.org),因此此插件见本站的附件(已经进行了处理,编码转换为UTF8,文件路径按照UBUNTU进行了默认修改)。qqhostinfo 把插件中的两个文件,即qqhostinfo.pm和qqwry.pl拷贝到/usr/share/awstats/plugins目录下,把纯真IP库文件qqwry.dat也拷贝到此目录下,然后在/etc/awstats/awstats.config.local中添加一行: LoadPlugin=”qqhostinfo” 这样就应该可以了。

Posted in Linux | Tagged , , | Leave a comment

wordpress站点更换域名

采用wordpress建站后经常会先使用临时域名,待测试完毕后再更换为正式域名,但在wordpress数据库里对站点域名进行了绑定,因此需要使用数据库进行处理: update wp_options set option_value=replace(option_value,’old_site_url’,’new_site_url’) where option_value like ‘%old_site_url%’;

Posted in Blog | Tagged , , , | Leave a comment

iphone4 美版越狱升级为5.0.1

昨天看到完美越狱5.0.1出来了,然后看到其自带了激活功能,因此就按照说明进行了升级。按照说明,先制作保基带固件,然后进入DFU、恢复、越狱。整个过程很顺利,而且启动后可以使用之前的GEVEY卡贴进行解锁,但发现短信和通话记录全部丢失!到网上搜索了一下,居然没有相关的解决方案。在apple官网上也有相关的问题记录,但依然无解。经过多次、漫长的尝试,最终通过如下方法将短信和通话记录回复了。 1. 首先刷回之前的4.3.1版本,开tinyumbrella,然后恢复之前的固件。恢复后所有原来的记录都在,这是可通过ssh或itools将相关的几个数据库文件拷贝出来。 短信地址:/private/var/mobile/Library/SMS/sms.db 通话记录:/private/var/wireless/Library/CallHistory/call_history.db 2. 再次升级,恢复、越狱,安装sbsettings、opensssh后,将上出备份出来的数据库文件拷贝回原地址。 注意:拷贝回去后,要注意文件权限,否则仍旧会有问题! chown mobile /private/var/mobile/Library/SMS/sms.db chown _wireless /private/var/wireless/Library/CallHistory/call_history.db 然后再次重启,进行解锁工作,你的系统应该正常了。 BTW:我在越狱后还遭遇了无限重启问题,不知道是安装的哪个程序导致的,后来成功的那次就没有安装appsync了,也不知道罪魁祸首是不是他,还是越狱自身的问题。

Posted in mac osx, tech | Tagged , , , | Leave a comment

有意思的一篇文章:[译稿]为什么我们不要 .NET 程序员

文章地址:[译稿]为什么我们不要 .NET 程序员 有些观点我比较赞同: 用 .NET 进行编程就像是在麦当劳做烹饪。那里有全套神奇的设备能够自动的造出所有的东西。只有你按一下正确的按钮,跟着提示灯的指示,你就可以批量的制造出完美无缺的1.6盎司的汉堡,比地球上的任何其他人都要快。 然而,如果你想做出一个1.7盎司的汉堡,很抱歉,你做不到。很简单,没有这样的按钮。 馅饼是预先做成了那样的尺寸。它们做出来之后就被冷冻,所有你无法把它们揉到一起做成其它尺寸,解冻机和烹饪机是一体的,你没有办法在它们之间进行拦截。 麦当劳的厨房产出的食品精确的和麦当劳的菜单保持一致的——这种模式使你的大脑不需要任何的思考。可是,它不能偏离菜单,对烹饪机器的任何你妄想的压挤变 形都会导致它停止工作,而被送回返厂维修。

Posted in Program | Tagged | Leave a comment