Centos下使用MONO支持ASP.NET

分类:CentOS运维 阅读:5506 次

已经有很长一段时间没有写点东西了,发现自己变得越来越懒,越来越不想做事情。想想以前的雄心壮志:可以说是不可一世,现在回想起来那是多么的可笑和幼稚。环境和时间对人的改变真是太大了。人啊,真是个矛盾的结合体。  一直希望自己的各方面的能力可以与日骤增,也曾努力过一段时间;但是每次看到同龄人的成就却总感觉相去太远。也曾问自己为什么会是这样,但却始终没有结果。茫茫中只能告诉自己不能偏离自己既定的大方向,在不知是前进还是后退的路上麻木地走着,用这种方式提醒自己未曾迷失。  Linux和Microsoft向来是水不容,这些年Microsft和Novell合作后情况有了些许的改观。但是想要各自的应用程序能无缝地迁移估计都是比较困难的事情。而MONO是由Novell公司发起的一个开源项目,用于在Linux环境中提供ASP.NET支持。目前的版本是2.2,能支持ASP.NET 2.0的应用;暂时不提供64位支持。该项目的网址是:[url]http://www.mono-project.com/Main_Page[/url],相应的源码下载地址为:[url]http://ftp.novell.com/pub/mono/sources-stable/[/url]。  Mono的安装有多种方式,Redhat Linux下最简单的方式是通过Yum安装。未启用YUM应用的可以参考这篇文章来安装:启用yum升级RedHat Linux Enterprise([url]http://waringid.blog.51cto.com/65148/51947[/url])。完成YUM的相关设定后可以到Mono的网站下载mono.dag文件来配置YUM源[url]http://www.go-mono.com/mono-downloads/download.html[/url]。配置完成后可以通过下面的命令来完成mono的安装。这里以RHEL 4AS为例介绍通过源码方式安装Mono,需要注意的是系统未装任何X组件,相应的系统及前期软件安装可以参考:[url]http://waringid.blog.51cto.com/65148/58144[/url]。yum install mono mod-mono mono-web  源码的安装依赖相应的开发包,所以在安装mono之装需先安装apache组件。有关apache及php的安装可以参考[url]http://waringid.blog.51cto.com/65148/58144[/url]。在安装好apache及php(php需支持GD)后需安装以下组件:TIFF支持 [url]http://www.libtiff.org/[/url] EXIF 支持[url]http://libexif.sourceforge.net/[/url] 以及GIF支持
[url]http://sourceforge.net/projects/giflib/[/url] 下载完这些支持组件后还需下载mono相应的支持包,包括libgdiplus-2.2.tar.gz,mono-2.2.tar.bz2,mod_mono-2.2.tar.bz2及xsp-2.2.tar.bz2。安装的具体步骤如下:安装EXIF支持cp /usr/local/png/lib/pkgconfig/libpng* /usr/lib/pkgconfig/
cp /usr/local/jpeg/include/* /usr/include/

tar jxvf libexif-0.6.17.tar.bz2
cd libexif-0.6.17
./configure
make
make install

tar jxvf exif-0.6.17.tar.bz2
cd exif-0.6.17
./configure --prefix=/usr/local/exif
make
make install
安装TIFF支持tar zxvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure --prefix=/usr/local/tiff
make
make install
安装GIF支持tar jxvf giflib-4.1.6.tar.bz2
cd giflib-4.1.6
./configure --prefix=/usr/local/gif
make
make install
配置Lib及include支持  因为源码安装后其lib和include的位置会因源码的设定各有不同,而Mono只会在/usr/lib的目录中查找,所以需要用下面的命令来配置相应的支持。cp /usr/local/lib/pkgconfig/libexif.pc /usr/lib/pkgconfig/
cp /usr/local/gif/lib/* /usr/lib/
cp /usr/local/gif/include/* /usr/include/
cp /usr/local/tiff/lib/* /usr/lib/
cp /usr/local/tiff/include/* /usr/include/
安装libgdiplustar xzf libgdiplus-2.2.tar.gz
cd libgdiplus-2.2
./configure
make
make install
安装Mono
  这里需要说明的是,安装mono的目录需要指定为/usr,否则会出现503之类的错误。编译mono的时间会比较长,在编译会有一些警示,这些不会影响到后面的正常编译。tar jxvf mono-2.2.tar.bz2
cd mono-2.2
./configure --prefix=/usr
make
make install
安装xsptar jxvf xsp-2.2.tar.bz2
cd xsp-2.2
./configure --prefix=/usr
make
make install
安装mod-mono支持tar jxvf mod_mono-2.2.tar.bz2
cd mod_mono-2.2
./configure --with-apxs=/usr/local/httpd/bin/apxs
make
make install
安装完成后需设定一下httpd.conf用以支持asp.net。相应的设定如下图所示。其中测试文件夹的路径我在测试中已做了更改,请对照修改。完成相应的设定后重启apache服务器,输入相应地址如:[url]http://192.168.0.202/test[/url]就可以看到相应的支持界面。如图示。