** 2 **
安装 Mono
本章内容
ü 下载 Mono
ü 安装 Mono
ü 配置 XSP
** 2.1 下载 Mono **
Mono 可以安装在 Windows 、 Linux 、 Max OS X 、 FreeBSD 等操作系统上。
Mono 支持 GNOME 、 KDE 、 Windows 桌面环境。
由于 Linux 软件包的依赖性,安装 Mono 时,在一些 Linux 发行版上可能会有些问题,原因时你未安装 Mono 运行所需要的第三方的软件包,笔者在 Slackware Linux 下就遇到这样的问题。
首先,你需要到 Mono 的官方网站上下载 Mono 的软件包。你可以由多个途径获得 Mono 软件包。
** 2.1.1 编译好的安装包 **
直接到网址 http://www.go-mono.com/download.htm 下载发行版或者 beta 的 mono 软件包。这里提供了各种不同种类的正式发行版或阶段性发行版,人们可以自由选择所需要的类型。这里所提供的安装包一般都经过了测试,能正确的编译和运行。有 RedHat9.0 、 Fordra1.0 、 Fordra2.0 、 SUSE 、 debian 等编译好的二进制的安装包,既然 SUSE 和 Mono 时一家了, Mono 对 SUSE 的支持时相当的好。 http://www.slackcare.com 提供了 Mono 基本的编译好的二进制安装文件,如果需要 XSP 的话还得下载源代码编译。安装完成后如果启动 monodoc 、 MonoDevelop 有错误,可能时因为没有安装 mozilla-devel ,到网上下载一个安装上即可。至于其他的 Linux 发行版,如红旗 Linux4.0 、 4.1 ,可以尝试下载针对 Fordra1.0 的 RPM, 最好下载源代码进行编译。
** 2.1.2 日发行包 **
在 http://go-mono.com/daily/ 这个地址获取 Mono 的日发行包。日发行包包括了每一天 Mono 项目的开发进展。共分为以下 3 种不同的类型:
Ø Mono: 这是一个可以进行编译的运行时和类库的源代码包(包含了 C# 的所有二进制控件)。 只要你有一个 C 编译器就可以编译和安装使用了。最新的版本可以直接通过 http://go-mono.com/daily/mono-latest.tar.gz 来下载。
Ø MonoCharge: 包含了所有进行编译过的 Mono 的 C# 组件和可执行程序。可以使用它来全面更新你已安装的 Mono 类库和工具。
最新版本可以直接通过 http://go-mono.com/daily/monocharge-latest.tar.gz 来下载。
Ø MonoLite: MonoLite 包和 MonoCharge 包一样,也提供了让你更新 Mono 的能力,不过它只包含了最基本的核心类库 corlib, System, System.Xml 和 C# 编译器。
最新版本可以直接通过 http://go-mono.com/daily/monolite-latest.tar.gz 来下载。
** 2.1.3 ** ** 通过 ** ** CVS ** ** 服务器获取 ** ** Mono ** ** 源码 **
Mono 允许你匿名访问他们的 CVS 服务器,下载 Mono 的源代码。
在 Linux 下访问:
首先要确认你的系统上已经安装了 CVS 客户端软件,如果没有的话,可以到 http://www.cvshome.org/ 去下载。
在控制台下输入如下命令:
export CVSROOT=:pserver:[email protected]:/mono cvs login (系统提示要输入密码,可以直接回车) cvs -z3 co mono
其中的 mono 为项目名称,也可以换成别的项目,例如 mcs 、 libgdiplus 、 winelib 和 gtk-sharp 。然后就可以看到正在从服务器上下载文件, CVS 会自动在当前目录下建立一个和服务器上的目录结构保持一致的项目文件目录。
在 Windows 下可以使用 Wincvs 访问 Mono 的 CVS 服务器。
** 2.1.4 ** ** CVS ** ** 快照 ** ** **
如果你不能直接访问 cvs 服务器 ( 原因很多啦,没装 cvs 客户端、不能直接互联网,懒得区 cvs 服务器下载等 ) 、你可以下载源代码的快照。 Mono 将每日的源代码打包提供下载。
** 2.2 安装 Mono **
** 2.2.1 Windows 等操作系统上的安装 **
Mac OS X 上的安装请参照 Mono 网站上的安装手册。
在 FreeBSD 上,将 Mono 源代码包解开,例如在 /usr/ports/lang/mono ,依次执行命令 make 、 make install 、 make clean 。
在 Windows 上安装 Mono ,可以下载针对 Windows 的安装文件 mono-1.0-win32-1.exe ,运行,出现图 2.1.1 。
图 2.2.1 在 Windows 下安装 Mono
安装完毕,需要将 D:\Program Files\Mono-1.0\bin( 安装路径 ) 加到 path 中。或者执行以下 D:\Program Files\Mono-1.0\bin 文件夹下的 setmonopath.bat 文件。在控制台下输入 mono 可以查看 mono 的命令的参数,当然还有其他的工具,都可以在 D:\Program Files\Mono-1.0\bin 文件夹下找到,如 mcs 。
** 2.2.2 Linux 上 Mono 源代码的安装 **
Mono 的分发包有两种形式,一种是源码包,需要手工进行编译,另一种是二进制包,可以直接安装。 源码包的适用范围比较广,能够适合几乎所有的 Linux ,但是步骤比较麻烦,所需时间较长。相反,二进制包的安装比较简单,但是适用范围比较窄,只能在某些特定的 Linux 系统下安装,典型的有 RedHat Linux 的 RPM 安装包、 Debian Linux 的 deb 安装包和 Slackware Linux 的 tgz 安装包。这些 Linux 发行版都提供了安装包界面管理工具,可以方便的安装。
你也可以从源代码安装。
假如你是下载的 Mono 的压缩安装包,可以输入以下命令进行解压缩:
tar zxfv mono-X.XX.tar.gz
其中 X.XX 是 Mono 的版本号。
解压缩完成后,将会看到在当前目录下的一个子目录,名称一般会是: mono-X.XX 。
进入该子目录,输入: ./configure
configure 程序将会配置 Mono 的 Makefile 文件,为下一步编译 Mono 做好准备。假如在此过程中出现了异常中断,并且目录中也没有生成 Makefile 文件,则需要根据系统提示找出出现错误的原因,一般可能是因为缺少某些编译 Mono 所必须的软件,例如假设你没有安装 Gnome X-Window 的话,则需要手动安装 pkg-config 和 glib-2.0 ,这两个软件可以分别在 http://www.freedesktop.org/Software/pkgconfig 和 ftp://ftp.gtk.org/ 处下载。
再输入 make, 进行编译。编译时间依赖机器的性能。
编译完成后,可以输入 make install 来进行安装,这个步骤会将 mono 的一些脚本和可执行程序复制到操作系统可以找得到的地方,默认情况是: /usr/local/bin 。
安装完毕,你就可以在终端中测试你是否正确安装了 Mono 了。
在终端中输入 mono –help ,回车。
图 2.2.2 mono 命令
如果能正确显示 mono 命令,说明安装正常。
MonoDevelop 是一个 mono 的 IDE 开发工具,在终端中输入 MonoDevelop, 启动 MonoDevelop( 你也可以在桌面上为这个命令建立一个链接 ) 。
monodoc 是 mono 文档的查看工具,类似微软的 MSDN 。使用 monodoc ,你可以了解 mono 的各种帮助以及其他类库的帮助信息。
图 2.2.3 MonoDevelop 开发工具
图 2.2.4 monodoc
** 配置 XSP **
Mono 提供了 asp.net 的实现,你可以通过 XSP 实现一个 asp.net 的服务器,可以访问 aspx 页面和 Web Services 。
一些好事者已经将 asp.net 下的开源的项目移植到 Mono 上,如微软的 asp.net 论坛。这种移植也相当的简单,主要是数据库连接方式的更改,因为在 Linux 下主要使用 mysql 、 postgresql 、 Oracle 等数据库。
你可以直接安装 XSP 和 apache module 的编译好的安装包,也可以直接从源代码编译,主要最好也安装 apache 的 module ,这样我们就可以利用 apache 优异的性能。
从源代码编译还是那几个命令: ./configure 、 make 、 make install 。
执行 make install 之后,针对 apache 的 module 安装到 apache 的相关目录,并更新 httpd.conf(apache 的版本不同,此文件的名称可能有些改变 ) 。
主要增加下面的内容:
LoadModule mono_module libexec/apache/libmod_mono.so
…
LoadModule mod_mono.c
…
下一步我们要增加一个目录。在刚才我们编译好的 XSP 源代码目录下,有个 test 目录,将这个目录 copy 到我们指定的目录,比如放在 /var/www/xsp 目录下。
在 httpd.conf 文件中增加下面的语句:
<SPAN style="mso-tab-count: 1"