要求:提前安装好Apache2
安装mono
mono是一个用来在linux环境下运行.NET的应用
mono官网安装方法
安装库到ubuntu 16.04上(其余版本参考上方官方说明):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
安装mono组件:
sudo apt install mono-devel mono-complete mono-dbg referenceassemblies-pcl ca-certificates-mono mono-xsp4
官方提供的一个测试网页代码,我们可以将其复制到hello.aspx中上传到服务器上以供测试:
<%@ Page Language="C#" %>
<html>
<head><title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>
这时候我们浏览的话,网页不会显示出来效果,而是显示出aspx文件的源代码,因为我们尚未配置mod_mono让Apache支持ASP.NET。
安装mod_mono
mod_mono是一个Apache组件,为Apache提供ASP.NET支持,官方的说明文档:mod_mono
mod_mono用来切换Apache支持的ASP.NET版本,官方提供了两种模式,一种为手动模式,一种为自动模式,为了方便我们使用自动模式:
安装mod_mono软件包,先停止apache:
sudo service apache2 stop
安装ASP.NET 1.1的支持:
sudo apt-get install libapache2-mod-mono mono-apache-server
安装ASP.NET 2.0的支持:
sudo service apache2 restart
sudo apt-get install libapache2-mod-mono mono-apache-server2 mono-devel
mono-apache-server2会提示安装失败,应该是官方改变了安装方式,这一点我还不是很清楚,如果有人明白的话麻烦留言告诉我,如果安装的是最新版本的mono,支持到了ASP.NET 4.0我们可以先选择忽略。
启用Apache2模块:
sudo a2enmod mod_mono_auto
重新启动Apache:
sudo service apache2 restart
刚才我们上传的网页可以正常浏览了