在CentOS 上编译安装 Hiawatha 7.5 

昨天接到通知,hiawatha 发布了最新版本7.5,修复了一些bug,官方标记紧急程度为低级。可是上面的一条更新引起了我的注意,就是反SQL注入可能导致崩溃的问题。

我心想这个问题我好像遇到了,因为我查看日志的事后,经常会有Garbage导致的服务器503问题。这个问题确实是很恶心,故而火速升级至7.5.

下载源码包(http://www.hiawatha-webserver.org/files/hiawatha-7.5.tar.gz),解压,进入目录,

我的configure:
[root@PowerPC hiawatha-7.5]# ./configure \
> --prefix=/usr/local/hiawatha \
> --exec-prefix=/usr/local \
> --sysconfdir=/etc/sysconfig \
> --localstatedir=/var \
> --datadir=/usr/lcoal/hiawatha/doc \
> --disable-largefile \
> --enable-chroot \
> --enable-command \
> --disable-ipv6 \
> --disable-monitor \
> --disable-ssl

检查依赖,通过,make && make check && make install 安装。

一切顺利。查看安装好的版本信息:
[root@PowerPC ~]# hiawatha -v
Hiawatha v7.5, cache, chroot, CommandChannel, URL toolkit, XSLT
Copyright (C) by Hugo Leisink <hugo@leisink.net>

这时候,进入配置文件目录 /etc/sysconfig/hiawatha,用之前备份的配置文件(主要是hiawatha.conf 和 php-fcgi.conf) 覆盖掉默认的。

再启动服务器,这就好了。

如果需要,最后在移除掉安装文件,make distclean 清理下,再 rm -rf * 删除即可.
[ 181 评论 ] ( 893 次浏览 ) 永久链接 ( 3 / 1275 )
在Ubuntu 上源码安装 Go 语言环境 

最近一些事情也忙定下来了,于是开始打算把自己系统里面的一些开发语言的环境搞定,比如OpenJDK、PHP、Groovy以及Google App Engine 和 Android SDK 等等。

这些大都是从软件仓库里面直接安装的或者是直接下载二进制包的,没什么特殊的地方值得记录,只有Go 语言是从源码编译安装的,便记录一下。

首先,按照GO 官方的信息,确保系统里面存在必须的依赖。

如不满足,则安装:
sudo apt-get install gcc bison ed gawk libc6-dev python-setuptools python-dev build-essential

然后就是从Go 位于谷歌代码的源码库里面复制出一份最新的版本。由于Go 是使用户Mercurial 作为版本控制。所以,确保已经安装了 Mercurial(这个比较冷门,估计都没有)
安装即可:
sudo apt-get install mercurial

之后,克隆出一份代码到本地当前目录:
hg clone -u release https://go.googlecode.com/hg/ go

完了后,进入的源码目录下src目录,运行 all.bash 脚本,开始编译。
之后可能会花费一些时间,同时CPU的占用也会有所增加,正常~

直到屏幕中打印出如下的信息时,编译就算完成了。

--- cd ../test
1 known bugs; 0 unexpected bugs

ALL TESTS PASSED

---
Installed Go for linux/386 in /home/sharl/go.
Installed commands in /home/sharl/go/bin.
*** You need to add /home/sharl/go/bin to your $PATH. ***
The compiler is 8g.


这时候Go语言的二进制文件已经全部都生成了,进入到用户主目录(~)下,把整个Go文件夹移动到/usr/local 下(这是我的习惯,应用程序都安装在这里),之后编辑~/.profile 文件,加入如下的命令:

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOARCH=386
export GOOS=linux



保存,再注销,重新登入下,Go的 bin 下的命令都进入系统$PATH了。

下面来测试下,查看版本:
sharl@sharl-laptop:~$ 8g -V
8g version release.r57.1 8294

恩,有了.

随便编写个Go程序测试看看,按照Go官网(http://golang.org/)的"hello,world"案例,写个"hello,girl".囧rz

新建一个hello girl.go文件,
sharl@sharl-laptop:~$ ls -l |grep girl
-rw-r--r-- 1 sharl sharl 72 2011-06-01 18:59 hello girl.go

hello girl.go 内容为:
sharl@sharl-laptop:~$ cat "hello girl.go"
package main

import "fmt"

func main() {
fmt.Println("hello,GIRL!")
}

编译,产生链接文件:
sharl@sharl-laptop:~$ 8g "hello girl.go"
sharl@sharl-laptop:~$ ls -l |grep girl
-rw-r--r-- 1 sharl sharl 6670 2011-06-01 19:02 hello girl.8
-rw-r--r-- 1 sharl sharl 72 2011-06-01 18:59 hello girl.go

链接、生成可执行文件:
sharl@sharl-laptop:~$ 8l "hello girl.8"
sharl@sharl-laptop:~$ ls
8.out hello girl.8 mm.cfg 公共的 桌面
examples.desktop hello girl.go Ubuntu One 模板

运行:
sharl@sharl-laptop:~$ ./8.out
hello,GIRL!

看起来,成功了~
[ 7 评论 ] ( 893 次浏览 ) 永久链接 ( 3 / 1324 )
在Ubuntu 下用Wine 运行仙剑奇侠传98柔情版 

前两天,仙剑奇侠传五的大陆代理商百游网在其首页开放了仙剑一98柔情版的正版下载。我也在第一时间下载收藏了。

昨天便想拿出来玩玩,由于不方便进windows系统,我便打算直接用wine模拟试试看.首先安装wine模拟器.

sudo apt-get install wine 即可.

安装完毕后,由于考虑到仙剑一需要的环境,安装了一些必须的dll库.这里我用的是一款叫winetricks 的第三方工具.

一些字体: winetricks corefonts.
vc6环境: winetricks vcrun6 vcrun6sp6
mfc4: winetricks mfc40 mfc42

这些好了后,我便开始运行仙剑一了。浏览到仙剑一所在的目录,双击"pal.exe".

wine报错:

The file '/mnt/Common/Game/Pal98rqp/pal.exe' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.


因为我的仙剑一是放在我与Windows共用的一个盘里的,而且是NTFS格式的。这个就比较坑爹了,因为我在开机挂载该分区的时候没有把它标记为可执行权限.

这是个共性问题,很多人都遇到了,因为只要在非Ext#格式的挂载分区上直接运行程序都会有这个问题.具体参见:http://ubuntuforums.org/showthread.php?t=1604251

只好改下了~我挂载分区使用PyDSM设置的,所以只好再次进入PyDSM.

进入PySDM主版面,找到我所要修改挂载参数的分区,如/dev/sda6.见下图:



先卸载掉所选分区,然后点击"assistant"进入详细设置页面.共有四个标签页,第一个是最主要的。主要是修改umask选项,改为002.如图:



第二个标签,主要是设置允许运行程序的。都勾上吧~如图:



第三个标签页里面也都是些小的设置,什么文件同步之类的,建议都勾选上。如图:



第四个标签页有个关于文件编码的设置,我个人设置的是utf-8。如图:



都设置完了,保存下。再点击下挂载,便有了执行的权限了.

修改后的fstab配置为:

sharl@sharl-laptop:~$ cat /etc/fstab | grep sda6
/dev/sda6 /mnt/Common ntfs nls=utf-8,umask=002,sync,utf8,gid=1000,dirsync,owner,uid=1000 0 0


再进入,仙剑一所在的目录,双击,进去了。不过好景不长,进入之后发现玩是可以玩,不过里面的文字全部都杯具了,一个都显示不出来。我猜测可能是字体的问题,便把我windows系统里font目录下的字体全部拷了过来(大概有2、3百M左右),不过很遗憾,还是不行.

我在网上搜索了下,有人说98版仙剑用的是矩阵式的文字打印,并没有用到任何字体。所以对于这种先天性的缺失,wine是无能为力的……难怪没有看到有人用wine成功玩过仙剑一,仙剑四倒是不少。

此外,我在仙剑联盟还发现了一个兄弟和我遇到了同样的问题,他也没什么办法。见:http://www.palunion.net/bbs/thread-212896-1-1.html

正当我灰心丧气的时候,我忽然想起来我之前在那个地方看到过一款可跨平台的仙剑一的。于是我找到了sdlpal95.

我火速下载了sdlpal95 for GNU/Linux的版本,解压,把它放入仙剑一的目录下,双击运行。
提示错误,缺少文件。如图:



我瞄了一下当前目录,坑爹阿,"m.msg"这个文件不是有么?哦,我忘了!GNU/Linux是大小写敏感的。

果然,当我把"M.msg"改成"m.msg"后,这个错误便消失了,取而代之的是另一个文件的缺失。于是乎,我一个一个的改名,直到所有的错误没有了。真是坑爹至极!!

事后我在sdlpal95的项目主页里面发现了有一位仁兄提交了这个问题,地址:http://sdlpal.codeplex.com/discussions/227163

而且,sdlpal95项目的开发者还贴出了一个他的仙剑一光盘目录下的文件在GNU/Linux下的列表 ,见下:

[lzbx@dell GC050]$ ls -l
total 27302
-r-------- 1 lzbx lzbx 183488 Jul 25 1995 0.rpg
-r-------- 1 lzbx lzbx 1022564 Jul 25 1995 abc.mkf
-r-------- 1 lzbx lzbx 134704 Jul 25 1995 ball.mkf
-r-------- 1 lzbx lzbx 66418 Jul 25 1995 data.mkf
-r-------- 1 lzbx lzbx 276 Jul 25 1995 disk0.bat
-r-------- 1 lzbx lzbx 148 Jul 25 1995 disk1.bat
-r-------- 1 lzbx lzbx 1128064 Jul 25 1995 fbp.mkf
-r-------- 1 lzbx lzbx 834728 Jul 25 1995 fire.mkf
-r-------- 1 lzbx lzbx 186966 Jul 25 1995 f.mkf
-r-------- 1 lzbx lzbx 11530322 Jul 25 1995 gop.mkf
-r-------- 1 lzbx lzbx 83408 Jul 25 1995 install.exe
-r-------- 1 lzbx lzbx 26097 Jul 25 1995 js3.exe
-r-------- 1 lzbx lzbx 1532520 Jul 25 1995 map.mkf
-r-------- 1 lzbx lzbx 1577442 Jul 25 1995 mgo.mkf
-r-------- 1 lzbx lzbx 762442 Jul 25 1995 midi.mkf
-r-------- 1 lzbx lzbx 212668 Jul 25 1995 m.msg
-r-------- 1 lzbx lzbx 2989 Jul 25 1995 mpu401.drv
-r-------- 1 lzbx lzbx 331284 Jul 25 1995 mus.mkf
-r-------- 1 lzbx lzbx 461377 Jul 25 1995 nvc-0005.exe
-r-------- 1 lzbx lzbx 102831 Jul 25 1995 pal.exe
-r-------- 1 lzbx lzbx 78 Jul 25 1995 pal.js3
-r-------- 1 lzbx lzbx 102187 Jul 25 1995 pals.exe
-r-------- 1 lzbx lzbx 8488 Jul 25 1995 pat.mkf
-r-------- 1 lzbx lzbx 25 Jul 25 1995 play.bat
-r-------- 1 lzbx lzbx 82 Jul 25 1995 readme
-r-------- 1 lzbx lzbx 453202 Jul 25 1995 rgm.mkf
-r-------- 1 lzbx lzbx 4546074 Jul 25 1995 rng.mkf
-r-------- 1 lzbx lzbx 20 Jul 25 1995 setup.dat
-r-------- 1 lzbx lzbx 569640 Jul 25 1995 sss.mkf
-r-------- 1 lzbx lzbx 1997044 Jul 25 1995 voc.mkf
-r-------- 1 lzbx lzbx 5088 Jul 25 1995 wor16.asc
-r-------- 1 lzbx lzbx 77986 Jul 25 1995 wor16.fon
-r-------- 1 lzbx lzbx 5650 Jul 25 1995 word.dat


大家可以参考下,以修改文件名。

这里是我修改后的可以顺利运行百游网放出的仙剑一98柔情版的文件的列表,见 下:

sharl@sharl-laptop:/mnt/Common/Game/Pal98rqp$ ls -l
总用量 232548
-rwxrwxr-x 1 sharl sharl 9079428 1970-01-01 08:00 1.AVI
-rwxrwxr-x 1 sharl sharl 190064 2011-05-23 14:16 1.rpg
-rwxrwxr-x 1 sharl sharl 31872668 1970-01-01 08:00 2.AVI
-rwxrwxr-x 1 sharl sharl 20245444 1970-01-01 08:00 3.AVI
-rwxrwxr-x 1 sharl sharl 7825060 1970-01-01 08:00 4.AVI
-rwxrwxr-x 1 sharl sharl 82833972 1970-01-01 08:00 5.AVI
-rwxrwxr-x 1 sharl sharl 36953012 1970-01-01 08:00 6.AVI
-rwxrwxr-x 1 sharl sharl 932346 1998-01-08 11:52 abc.mkf
-rwxrwxr-x 1 sharl sharl 145070 1998-01-08 11:52 ball.mkf
-rwxrwxr-x 1 sharl sharl 63978 1998-01-08 11:52 data.mkf
-rwxrwxr-x 1 sharl sharl 1242530 1998-01-08 11:52 fbp.mkf
-rwxrwxr-x 1 sharl sharl 764381 1998-01-08 11:52 fire.mkf
-rwxrwxr-x 1 sharl sharl 173198 1998-01-08 11:52 f.mkf
-rwxrwxr-x 1 sharl sharl 16437766 1998-01-08 11:52 gop.mkf
drwxrwxr-x 1 sharl sharl 0 2011-05-22 13:24 HomePage.PAL
-rwxrwxr-x 1 sharl sharl 2686 1998-01-08 11:53 Logo.ico
-rwxrwxr-x 1 sharl sharl 1614602 2008-02-02 20:47 map.mkf
-rwxrwxr-x 1 sharl sharl 1443503 1998-01-08 11:52 mgo.mkf
-rwxrwxr-x 1 sharl sharl 224455 2008-07-26 22:10 m.msg
drwxrwxr-x 1 sharl sharl 16384 2011-05-22 13:24 Musics
-rwxrwxr-x 1 sharl sharl 331284 1995-07-25 03:47 mus.mkf
-rwxrwxr-x 1 sharl sharl 434176 2008-06-17 15:12 Pal.dll
-rwxrwxr-x 1 sharl sharl 169472 2007-10-06 20:48 Pal.exe
-rwxrwxr-x 1 sharl sharl 64512 2007-08-04 05:49 PALOLD.DLL
-rwxrwxr-x 1 sharl sharl 8488 1998-01-08 11:52 pat.mkf
-rwxrwxr-x 1 sharl sharl 453202 1998-01-08 11:52 rgm.mkf
-rwxrwxr-x 1 sharl sharl 4085342 1998-01-08 11:52 rng.mkf
-rwxrwxr-x 1 sharl sharl 1041835 2011-03-06 23:15 sdlpal95
-rwxrwxr-x 1 sharl sharl 18112888 1998-01-08 11:53 sounds.mkf
-rwxrwxr-x 1 sharl sharl 575270 2008-07-22 23:26 sss.mkf
-rwxrwxr-x 1 sharl sharl 721168 1998-01-08 11:53 Vb40032.dll
-rwxrwxr-x 1 sharl sharl 5650 1998-01-08 11:53 word.dat


最后再放出一张百游网放出的仙剑一98柔情版在wine 和 sdlpal 下的对比图,见下:



wine 下的无字幕真杯具…… 囧
[ 984 评论 ] ( 75360 次浏览 ) 永久链接 ( 3 / 1515 )
在Ubuntu Natty 上设置VPN连接 

昨天想要下载个Android 的SDk和 开发Android 的Eclipse插件的离线安装包,杯具的是android.com 被水产了~ 我本来是打算用我以前经常用的某web proxy 的,不过该代理下载文件最大体积为30Mb,看来是不行了~

用我的ssh sock5 代理吧,太麻烦,何况我正在用chrome.于是我便想起了我的一位网友曾经给过我的vpn,速度很好的。

于是,我便找来了vpn 的ip和密码,开始了设置.

1.回到桌面,找到网络管理器,选择VPN连接->VPN配置。见下图:



2.切换到VPN标签页,添加VPN。见下图:



3.在弹出的窗口,选择VPN类型(我的是PPTP,这也是最通用的).见下图:



4.在新建VPN的属性框找到网关(gateway),输入远程vpn的ip地址,其他可以留空.见下图:



5.点击左下角的高级(Advance)按钮,选中"use MPPE"加密复选框。见下图:



6.切换到IPv4标签页,在方法栏选择“仅地址”,并在下方的DNS服务器文本框中输入dns 服务器的ip,我用的是谷歌DNS,之间用英文逗号隔开。见下图:



至此,一个新的VPN的创建和配置就算完成了~很简单吧。为什么网上有很多人都tmd的坑爹的不会呢???还有人在提问 "ubuntu下有没有一个界面友好的vpn设置工具呢?"……

这个已经很人性化的好不好~ 囧rz 我之所以写下这篇文章,并且每个步骤都截了图,就是想科普!!科普!!!科普!!!

好了,废话不多说了,测试下VPN.点击桌面通知区域的VPN,选中刚建好的VPN,这时候会弹出对话框,要求输入密码。见下图:



输入,确定。不一会儿,系统提示连接成功。见下图:



打开浏览器,输入一个被墙的网址,试试效果,见下图:



果然,sexinsex.net 无鸭梨~
[ 104 评论 ] ( 1848 次浏览 ) 永久链接 ( 3 / 1389 )
ubuntu 开机自动挂载分区 

可能很多人和我一样有这样的一个习惯,就是喜欢把视频、图片、文档这些相对于系统的独立静态文件,放在与系统所在分区无关的一个分区里。

比如 Windows 下,系统装C盘,而这些资源文件(比如我的文档)放入D盘.可是在linux下,我却不喜欢把 /home 挂载到一个其他分区。

我更喜欢的是,把 / 挂载在分区下,而手动把 ~/图片、~/视频 等定位到其他地方.

可是这样一来就出现了一个问题,这些资源文件所在的分区,在开机的时候不会被自动挂载,所以之前的设定会被认定为无效,恢复至默认值。

这是个杯具。

所以,要使这些生效,就要在gdm启动之前,让我设定的那些目录 如"/mnt/Common/Home4Linux/图片" 路径存在.

考虑到gnome 是使用gvfs-mount 挂载设备的,而且这样也可以更好的与nautilus 交互。
我便打算把 gvfs-mount 挂载的脚本 放入 /etc/rc.local 中。

首先,安装 gvfs-mount, sudo apt-get install gvfs-bin.
编辑,/etc/rc.local,加入
/usr/bin/gvfs-mount -m -d /dev/sda6

保存。重启,查看效果。

不行,杯具……

我想,要不直接设为服务试试看,应该可以.

于是,火速在/etc/init.d/ 下创建了 名为 automount 的服务,内容很简单,

#! /bin/sh
#
# auto mount Common on start
/usr/bin/gvfs-mount -m -d /dev/sda6


设置权限为775,sudo update-rc.d automount defaults.

重启,查看效果。

还是不行,杯具~

直接运行服务,service automount start,提示 No volume for device file /dev/sda6.

我日,坑爹呐!!

最后,实在没办法了,就采用了最老套的一个办法,就是在/etc/fstab 里面设好.这是最恶心的一个办法,我其实是最不想用的。不过没办法了~

不过,我个人推荐使用PySDM 这个前端,很好用.
安装 sudo apt-get install pysdm 即可.之后可以在系统菜单里找到它。
进去后小小的设置下就行了,操作很简单.

重启下,挂载成功.

不过,我发现就是PySDM 好像分不清 /dev/sda1 和 /dev/sdb1,会出现挂载出错的现象。难道这是一个bug???
[ 124 评论 ] ( 1590 次浏览 ) 永久链接 ( 3 / 1382 )

<< <上一页 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 下一页> >>