首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

CentOS 五 yum Mono 2.4 (实战成功)

2012-10-09 
CentOS 5 yum Mono 2.4 (实战成功)Linux和Microsoft向来是水不容,这些年Microsft和Novell合作后情况有了些

CentOS 5 yum Mono 2.4 (实战成功)

Linux和Microsoft向来是水不容,这些年Microsft和Novell合作后情况有了些许的改观。但是想要各自的应用程序能无缝地迁移估计 都是比较困难的事情。而MONO是由Novell公司发起的一个开源项目,用于在Linux环境中提供ASP.NET支持。

#

?

源码的安装依赖相应的开发包,所以在安装mono之装需先安装apache组件。

#

#yum -y install http*

?

Mono的安装有多种方式,Redhat? Linux下最简单直接 yum 安装,在CentOS5下面,可以通过下面的方式来 yum 安装,建立Mono的更新源

#

?

#vim /etc/yum.repos.d/Mono.repo?

?


[Mono]
name=Mono Stack (CentOS_5)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/home:/mindtouch:/Mono/CentOS_5/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/home:/mindtouch:/Mono/CentOS_5/repodata/repomd.xml.key
enabled=1

?

[root@localhost yum.repos.d]# rpm -qa|grep mono

?

[root@localhost yum.repos.d]# yum install mono* xsp mod_mono

?

Dependencies Resolved

====================================================================================================================================
Package??????????????????????????????? Arch?????????????????? Version?????????????????????????????? Repository??????????????? Size
====================================================================================================================================
Installing:
mod_mono?????????????????????????????? i386?????????????????? 1.2.1-1.el5.centos??????????????????? extras??????????????????? 36 k
mono-core????????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono????????????????????? 14 M
mono-data????????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 1.5 M
mono-data-firebird???????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 252 k
mono-data-oracle?????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 184 k
mono-data-postgresql?????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 203 k
mono-data-sqlite?????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 157 k
mono-data-sybase?????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 160 k
mono-devel???????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 1.8 M
mono-extras??????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 1.5 M
mono-jscript?????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 410 k
mono-locale-extras???????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 783 k
mono-moonlight???????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 1.5 M
mono-nunit???????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 223 k
mono-nunit-devel?????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono????????????????????? 14 k
mono-web?????????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 3.1 M
mono-web-devel???????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono????????????????????? 14 k
mono-winforms????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 3.0 M
monodoc??????????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono???????????????????? 7.3 M
monodoc-devel????????????????????????? i386?????????????????? 2.4-4.3?????????????????????????????? Mono????????????????????? 14 k
xsp??????????????????????????????????? i386?????????????????? 1.2.1-1.el5.centos??????????????????? extras?????????????????? 233 k
Installing for dependencies:
giflib???????????????????????????????? i386?????????????????? 4.1.3-7.1.el5_3.1???????????????????? base????????????????????? 39 k
httpd????????????????????????????????? i386?????????????????? 2.2.3-43.el5.centos?????????????????? base???????????????????? 1.2 M
libgdiplus???????????????????????????? i386?????????????????? 2.4-5.3?????????????????????????????? Mono???????????????????? 1.3 M

Transaction Summary
====================================================================================================================================
Install???? 24 Package(s)????????
Update?????? 0 Package(s)????????
Remove?????? 0 Package(s)????????

Total download size: 39 M

#

安装后应该得到:
[root@magic yum.repos.d]$ rpm -qa|grep mono

?

?

?

mono-winforms-2.4-4.3
mono-data-sqlite-2.4-4.3
mono-locale-extras-2.4-4.3
mono-moonlight-2.4-4.3
mono-nunit-2.4-4.3
mono-data-2.4-4.3
mono-core-2.4-4.3
monodoc-2.4-4.3
monodoc-devel-2.4-4.3
mono-data-sybase-2.4-4.3
mono-data-oracle-2.4-4.3
mono-devel-2.4-4.3
mono-extras-2.4-4.3
mono-nunit-devel-2.4-4.3
mono-web-devel-2.4-4.3
mod_mono-1.2.1-1.el5.centos
mono-data-firebird-2.4-4.3
mono-data-postgresql-2.4-4.3
mono-web-2.4-4.3
mono-jscript-2.4-4.3

#

?

?

虎子哥说 :对应到虚拟机的例子,你需要查看vim /etc/httpd/conf.d/mono.conf 里的配置写法,
注意这一条:MonoServerPath /usr/bin/mod-mono-server2
这一条就是要求你配置的mono的2.0.50727方式运行,否则默认会以1.1的方式运行。

?

[root@goosns conf.d]# cat mod_mono.conf
# mod_mono.conf

# Acthung! This file may be overwritten
# Use 'include mod_mono.conf' from other configuration file
# to load mod_mono module.

<IfModule !mod_mono.c>
LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so

AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
</IfModule>

?


Alias /mono "/usr/lib/xsp/test"
# MonoServerPath can be changed to specify which version of ASP.NET is hosted
# mod-mono-server1 = ASP.NET 1.1 / mod-mono-server2 = ASP.NET 2.0
# For SUSE Linux Enterprise Mono Extension, uncomment the line below:
# MonoServerPath mono "/opt/novell/mono/bin/mod-mono-server2"
# For Mono on openSUSE, uncomment the line below instead:
MonoServerPath mono "/usr/bin/mod-mono-server2"

# To obtain line numbers in stack traces you need to do two things:
# 1) Enable Debug code generation in your page by using the Debug="true"
#??? page directive, or by setting <compilation debug="true" /> in the
#??? application's Web.config
# 2) Uncomment the MonoDebug true directive below to enable mod_mono debugging
MonoDebug mono true

# The MONO_IOMAP environment variable can be configured to provide platform abstraction
# for file access in Linux.? Valid values for MONO_IOMAP are:
#??? case
#??? drive
#??? all
# Uncomment the line below to alter file access behavior for the configured application
MonoSetEnv mono MONO_IOMAP=all
#
# Additional environtment variables can be set for this server instance using
# the MonoSetEnv directive.? MonoSetEnv takes a string of 'name=value' pairs
# separated by semicolons.? For instance, to enable platform abstraction *and*
# use Mono's old regular expression interpreter (which is slower, but has a
# shorter setup time), uncomment the line below instead:
# MonoSetEnv mono MONO_IOMAP=all;MONO_OLD_RX=1

MonoApplications mono "/mono:/usr/lib/xsp/test"
<Location "/mono">
Allow from all
Order allow,deny
MonoSetServerAlias mono
SetHandler mono
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>

重启httpd服务器:
service httpd restart

/etc/init.d/httpd restart

rpm安装的XSP的目录结构

/usr/bin/xsp

/usr/lib/mono/gac/xsp

/usr/lib/xsp

/usr/share/doc/packages/xsp

?

rpm 安装 mono 的目录结构

/etc/mono

/usr/bin/mono

/usr/lib/mono

/usr/share/mono-1.0/mono

/usr/include/mono-1.0/mono

/usr/lib/xsp/test测试目录


?

热点排行