在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache(4)

【五、在CentOS下的操作】

CentOS的软件管理程序是yum(这里使用的CentOS是Azure上提供的CentOS 6.3)。

首先还是安装Apache。

sudo yum install httpd

与openSUSE类似,安装完需要自己手动配置服务自启动。

sudo chkconfig --levels 235 httpd on

然后立即启动Apache服务。

sudo /etc/init.d/httpd start

现在再用浏览器访问服务器地址就可以正常访问Http服务器了。

但是CentOS官方没有打包好的mono的rpm包,所以比较好的方式是自己编译。

首先配置好编译的环境。

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel

可能会提示需要升级kernel-headers,但是系统可能默认禁止了核心的包,所以如果出现上述命令无法执行安装的话,还需要在上一条命令之后附加“ --disableexcludes=main”,即如下的形式。

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel --disableexcludes=main

如果一切安装成功,可以执行下列语句下载需要安装组件的源码包并解压缩。

cd /usr/src/ sudo wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2 sudo wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2 sudo wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2 sudo wget http://download.mono-project.com/sources/mod_mono/mod_mono-2.10.tar.bz2 sudo tar -jxf libgdiplus-2.10.tar.bz2 sudo tar -jxf mono-2.10.8.tar.bz2 sudo tar jxf xsp-2.10.tar.bz2 sudo tar jxf mod_mono-2.10.tar.bz2

编译并安装libgdiplus。

cd /usr/src/libgdiplus-2.10 sudo ./configure --prefix=/usr sudo make ; sudo make install

然后编辑/etc/ld.so.conf文件,添加一行“/usr/lib/”,如下图所示,保存之后再执行如下命令,从而使系统可以将libgdiplus.dll自动映射到对应的so文件中。(原文见:

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

sudo ldconfig

然后是Mono。

cd /usr/src/mono-2.10.8 sudo ./configure --prefix=/usr sudo make ; sudo make install

接下来安装xsp。

export PKG_CONFIG_PATH=/usr/lib/pkgconfig cd /usr/src/xsp-2.10 sudo ./configure --prefix=/usr sudo make ; sudo make install

然后安装mod_mono。

cd /usr/src/mod_mono-2.10 sudo ./configure --prefix=/usr sudo make ; sudo make install

然后再修改“/etc/httpd/conf/mod_mono.conf”这个文件,与Ubuntu上同名的配置文件配置相同。不过由于不像Ubuntu下有现成的配置文件,所以需要在文件中添加如下两行,由于安装的时候自动安装了2.0和4.0的支持,所以可以将如下的2换为4即可启用ASP.NET 4.0:

MonoServerPath "/usr/bin/mod-mono-server2" MonoAutoApplication enabled

然后将配置文件复制到Apache的配置文件目录中:

sudo cp /etc/httpd/conf/mod_mono.conf /etc/httpd/conf.d/

由于CentOS自带的SELinux的原因,使得Apache无法连接到mod-mono-server,所以我们现在还需要配置SELinux。当然,这里为了简单就仅仅禁用SELinux,有兴趣的可以自己创建安全策略,使mod-mono-server可以生效。这里修改/etc/sysconfig/selinux文件。将“SELINUX=enforcing”修改为“SELINUX=permissive”或“SELINUX=disabled”,例如下图,保存重启系统即可。

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

之后就可以通过SSH将网站打包上传上去就可以直接访问了。不过需要注意的是,CentOS上的Apache默认的根路径在“/var/www/html”下,当然也可以在“/etc/httpd/conf/httpd.conf”文件中修改存放网站根目录的路径。

【六、相关链接】

1、配置Linux(Apache) + mono 下运行 asp.net:
2、openSUSE上安装Mono并发布ASP.Net程序:
3、32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0:
4、Mono环境下不支持中文的解决方法:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/007bbc50175a6e4af9cf47bc58e69e84.html