<b>Apache+mono+xsp搭建Linux下的asp.net平台</b>[服务器安全]
本文“<b>Apache+mono+xsp搭建Linux下的asp.net平台</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
近来做项目需求用到在linux下搭建web服务器,固然PHP很简单易行,但是前段时间一向看的微软asp.net,所以想尽办法在linux下搭建一个支持公布asp.net网页的平台.参阅了各种资料,现总结以下:
核心:操纵开源项目mono来帮助linux内核搭建支持asp.net的平台
1.首先我们需求下载以下安装包:
apache(强盛的web服务器开源软件,此处我们只需求它的httpd组件)
mod-mono(真正实现支持.aspx等文件的mono模块)
xsp(轻量级web服务器,此处我们只是操纵它内部支持mod-mono-server的模块)
mono(开源项目底子安装)
下载地址:mono,mod-mono,xsp:
http://ftp.novell.com/pub/mono/sources/
http://ftp.novell.com/pub/mono/sources-stable/
apache: http://httpd.apache.org/download.cgi
2.次序安装以上软件包:
apache:
./configure
make
make install
mono:
./configure
make
make install
注意:在履行./configure后,大概会呈现以下几个问题:
(1)错误:没有安装bison
办理办法:直接apt-get install安装bison,假如不行就去网上下载一个bison的软件包,手工履行./configure;make;make install来举行安装
(2)错误:不支持gettext
办理办法:更新源至科大debian源,然后直接apt-get install普通便可以了
make号令的履行时间会有十几分钟,耐烦等候...
xsp:
./configure --prefix=/usr
make
make install
mod-mono:
./configure --prefix=/usr/local/
make
make install
3.配置httpd.conf
安装好了上述软件包并不代表我们的平台就搭好了,还需求改正apache的配置文件httpd.conf
vim /usr/local/apache2/conf/httpd.conf
(1)ServerName
改正网页公布的ip地址.作为测试,直接设置本钱机地址就行了:
ServerName 本机ip地址:80
(2)网页拜候权限
要让别的机械拜候行将公布的网页,我们需求将 <Directory></directory>中的Deny from all改成Allow from all以便得到最大权限.当然假如考虑到安全性,可以别的设置,具体拜见文章最后的参考资料
(3)使apache载入mod-mono模块
在配置文件开首增添以下语句可以让apache载入mod-mono模块:
Include /usr/local/apache2/conf/mod_mono.conf
(4)自定义asp.net利用
在配置文件末尾加入下列语句(#后为注释):
MonoAutoApplication disabled # 下面语句就是在手动设置mono利用,所以mono自动利勤奋效需求关闭
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd # 增添mono需求辨认的文件范例,可以看到这些都是asp.net常用的文件范例
Alias /test "/usr/lib/xsp/test" # 配置一个虚拟目录
MonoApplications "/test:/usr/lib/xsp/test" # 配置上述虚拟目录对应的asp.net利用,此处操纵的是xsp自带的实例网页代码
MonoServerPath /usr/bin/mod-mono-server2 # 实际上apache能支持asp.net满是靠一个叫做mod-mono-server的服务器来实现的,此处就是肯定利用mod-mono-server的版本(mod-mono-server仅支持asp.net,mod-mono-server2支持asp.net 2.0)
MonoPath test "/usr/lib/mono/2.0:/usr/lib:/usr/lib/xsp/2.0" # 奉告apache上述mod-mono-server2所在的途径
<Location "/usr/lib/xsp/test"> # 配置上述实际利用
MonoSetServerAlias test
SetHandler mono
</Location>
此时我们的httpd.conf配置文件就写好了,然后开启apache:
cd /usr/local/apache2/bin
./apachectl start
这时在浏览器地址栏输入:
http://本机ip地址/test
假如可以看到网页,那么恭喜你,第一步成功了...
为啥说第一步成功了?还有第二步吗?答案是:有
当我们试图点击网页上的menu大概gridview时,会发现网页报找不到gdiplus.dll的错误!
这是因为xsp这个例子中的网页要用到window下的一个动态链接库文件gdiplus.dll,而我们的linux当然没有!别急,我们可以在linux中增添功效呼应的.so文件,步骤以下:
(1)find / -name libgdiplus.so
发现libgdiplus.so文件位于目录/usr/local/lib/,因此我们需求将此途径写入系统的ld.so.conf配置文件,不然即便存在,系统内核也不会发现这个动态链接库文件
(2)vim /etc/ld.so.conf 增添一行:include /usr/local/lib/libgdiplus.so
(3)履行ldconfig号令将新的动态链接库文件增添进ld.so.cache缓存以便mono需求的时刻调用
(4)考证:假如输入号令ldconfig -p|grep libgdiplus.so 有后果,则证明配置成功.此时再次点击menu或gridview,发现问题办理了!
4.增添自己的asp.net网站
上面的xsp例子成功了,那我们若何增添自己的asp.net网站呢?办法和上面同理,只需求在httpd.conf中增添近似以下代码便可:
MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
Alias /mypage "/home/fjj/mypages"
MonoApplications "/mypage:/home/fjj/mypages"
MonoServerPath /usr/bin/mod-mono-server2
MonoPath test "/usr/lib/mono/2.0:/usr/lib:/usr/lib/xsp/2.0"
<Location "/home/fjj/mypages">
MonoSetServerAlias test
SetHandler mono
</Location>
此中/home/fjj/mypages为你的网站根目录,/mypage为虚拟目录.配置好后在浏览器输入:
http://服务器ip地址/mypage便可以看到自己通过linux公布的asp.net网站了!
最后注意!!
1.假如拜候网站呈现权限问题,可以尝试在服务器通过chmod改正文件的拜候权限
2.由于开辟asp.net网站需求配置文件web.config,所以要想linux完善支持asp.net中的一些动态控件(如updatepanel)需求增添web.config文件,这是必不可少的!我的做法是在windows下操纵vs2008开辟好网站后,将整个工程拷到linux下公布,固然有点笨但可以成功实现动态网页的显现!
以上是“<b>Apache+mono+xsp搭建Linux下的asp.net平台</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |