ubuntu 13.10
从官方文档http://www.mono-project.com/Mod_mono
可看到 Mod_Mono is an Apache 2.0/2.2/2.4.3 module that provides ASP.NET support for the web's favorite server, Apache.
运行环境是Mod_Mono以module方式载入到Apache里,
另外参考文中链接ubuntu文档:https://help.ubuntu.com/community/ModMono#ASP.NET_2.0_AutoHosting_on_Ubuntu_8.04_Hardy_Heron
ubuntu文档确实有点老,基本上只能了解一下,基本上行不通
总结安装步骤与ubuntu文档不同:
1、首先应该安装apache2
运行: sudo apt-get install apache2
失败说明:(如过按ubuntu文档,先安装libapache2-mod-mono,在这个版本会自动关联安装apache2-bin,但是不会关联
按装apache2和apache2-data包,所以安装后apache2配置为空,只有mod_mono配置的,apache不会自动启动)如下图可见
apache顺利安装完成后会自动启动,并回到命令行
2、安装Mod_Mono
运行:sudo apt-get install libapache2-mod-mono
安装完后会自动激活"mod—mono" module
安装验证:
1、首先打开浏览器,输入http://localhost
确认服务器工作正常
2、检查环境
2.1、运行目录
运行文件整齐
2.2、配置文件
运行 gedit ./apache2.conf
目录指向无误
# not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
配置文件正常
根据配置节点内容,检查mono配置内容:
# Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf
3、检查mono配置
3.1 检查mod_mono
运行:
3.1 cd /etc/apache2/mods-enabled
3.2 gedit ./mod_mono.conf
看到如下配置:
AddType application/x-asp-net .aspx .ashx .asmx .ascx .asax .config .ascx
DirectoryIndex index.aspx
# Include the web application definitions generated by mono-server{2,4}-update.
#
# If you want to use ASP.NET 2.0 (via mono-apache-server2), use:
# Include /etc/mono-server2/mono-server2-hosts.conf
#
# If you want to use ASP.NET 4.0 (via mono-apache-server4), use:
# Include /etc/mono-server4/mono-server4-hosts.conf
Include /etc/mono-server4/mono-server4-hosts.conf
3.2 gedit ./mod_mono.load
LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
配置加载正常,
3.3 验证asp.net运行
3.3.1运行monodevelop(当然要按装),清查看前面的安装版本
按下CTRL+SHIFT+N
选择c# asp.net Web Application
填写项目如上,当然“位置”项你要选择一个你喜欢的, 至于Create directory for solution建议不要勾,否则建一大堆目录很麻烦
3.3.2 点击“前进”(这翻译的确中文得很)
勾选GTKS Support选项,然后确定
3.3.3 编译
上一步后会自动进入如下界面,按下F8,编译程序,编译完成(注意左下角状态提示构建成功)
3.3.4 查看.net运行环境 ,打开web.config如下图,看到是,运行在gtk-sharp, Version=2.12.0.0
<assemblies> <add assembly="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> </assemblies> </compilation>
3.3.5 拷贝文件入 apache目录(这个版本运行发布功能会死机,所以拷贝发布)
在终端运行: sudo cp -a /home/elane/mono/TestWeb /var/www/ (elane是当前的登录用户目录)
3.3.6 浏览器访问 http://localhost/TestWeb/ (注意大小写)
点击Click me!按钮,未现运行错误,说明安装成功
备注:重新启动命令是
$ sudo /etc/init.d/apache2 restart