MONO是一种在类UNIX系统上开发C#的工具,类似MSDN,也支持APACHE运行.NET.,当然,我想利用的只是后面所提到的功能.
1.下载 http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/
下载 所有 Mono RPM包
下载 所有 XSP/mod_mono RPM包
*如果你的apache是自定义安装的,请下载源代码的 XSP/mod_mono 包
http://ftp.novell.com/pub/mono/sources-stable/
- xsp-1.9.1.tar.bz2
- mod_mono-1.9.tar.bz2
2.安装
安装所有Mono的RPM包.
如果中途出现缺少包的情况,请下载相应的包装上
我安装的时候缺少以下包
glib2-2.12.3-2.fc6.i386.rpm
glib2-devel-2.12.3-2.fc6.i386.rpm(这个包没有提示需要,但是这个也要装才有libexif.so.9这个文件,而且版本和glib2的版本一样才行)
libexif-0.5.12-2.rhel3.dag.i386.rpm
libexif-devel-0.5.12-1.fr.i386.rpm
pkg-config-0.23.tar.gz
giflib-4.1.3-8.i386.rpm
一般情况下载系统碟中可以搜索出来
友情提示一下:多数情况下提示的包你安装后还是提示少了那个包的话,你可以安装一下相应的devel包试试看,,多数情况下都可以成功,注意的是包和devel包的版本要一样!!!
安装XSP/mod_mono
如果是用系统默认的apache则直接安装XSP/mod_mono的RPM包.
如果自定义安装的apache则安装源代码版的XSP/mod_mono包
安装mod_mono的时候, ./configure --prefix=/usr --with-apxs=/usr/sbin/apxs 注意路径,我的apache是装在/usr/local/apache2里面的,所以我的aspx路径在/usr/local/apache2/bin/apxs 注意修改成自己的apxs所在的目录
配置apache
在httpd.conf最后加上
LoadModule mono_module modules/mod_mono.so
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx
Alias /demo "/usr/lib/xsp/test"
MonoApplications "/demo:/usr/lib/xsp/test"<Directory /usr/lib/xsp/test>
SetHandler mono
<IfModule mod_dir.c>
DirectoryIndex index.aspx
</IfModule>
</Directory>在/usr/lib/xsp/test中放入.net的站点, 使用http://localhost/demo/访问即可
可将demo别名更改掉..
基于主机头的.net虚拟主机
<apps>
<web-application>
<name>{appname}</name>
<vhost>{virtual host for application}</vhost>
<vport>{port for the application}</vport>
<vpath>{virtual directory in apache}</vpath>
<path>{physical path to aspx files}</path>
<!-- Default value for <enabled> is true -->
<enabled>{true|false}</enabled>
</web-application>
</apps>将上面的内容保存在一个文件中,然后使用下面的语句包含进去
MonoApplicationsConfigFile default "/var/www/applications.webapp"
也可以包含多个文件,把文件放进一个专门的文件夹,然后使用下面的语句加载整个文件夹的文件
MonoApplicationsConfigDir default "/var/www/webapp"
最后别忘了重新启动apache