个人工具

UbuntuHelp:ModMono

来自Ubuntu中文

Oneleaf讨论 | 贡献2007年5月24日 (四) 16:14的版本 (新页面: {{From|https://help.ubuntu.com/community/ModMono}} {{Languages|UbuntuHelp:ModMono}} Mod_Mono is an Apache 1.3/2.0/2.2 module that provides ASP.NET support for the web's favorite server, A...)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索

Mod_Mono is an Apache 1.3/2.0/2.2 module that provides ASP.NET support for the web's favorite server, Apache (http://httpd.apache.org).

Configuring Mod_Mono on Ubuntu

Ubuntu packages mod_mono very differently than the official distribution. This guide assumes that you have read the official Ubuntu Apache 2 Documentation and understand how ubuntu manages modules and virtual hosts.


1) Install packages

To begin, you can easily install mod_mono using apt: (universe package sources must be active in /etc/apt/sources.list, see for example here)

sudo apt-get install libapache2-mod-mono

Optionally, if you would like to use ASP.NET 2.0, you need to install an additional package:

sudo apt-get install mono-apache-server2

2) Activate the module:

sudo a2enmod mod_mono

3) Select the ASP.NET version

The /etc/apache2/mods-available/mod_mono.conf file controls which version of ASP.NET is to be used. If you would like to use 2.0, and you installed the package as explained above, open this file in a text editor and follow the directions.

4) Configure your web applications

Applications are defined in .webapp files, located in either /etc/mono-server/ or /etc/mono-server2/ depending on which version of ASP.NET you are using.

The format of these files are explained in the xsp man page.

man xsp


5) Restart apache

Restart apache so the new configuration is loaded.

sudo /etc/init.d/apache2 restart

Example Configuration

Say we have an apache vhost example.com and we would like the URL http://example.com/moo to be an ASP.net application.

First we declare the apache site configuration in /etc/apache2/sites-available/example.com and enable it. As mentioned earlier, this is explained in the official Ubuntu documentation.

<VirtualHost 1.2.3.4:80>
ServerName example.com

DocumentRoot /var/www/example.com/

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
SetHandler mono
DirectoryIndex index.aspx index.html
</Directory>
</VirtualHost>

With this configuration, our asp.net application (the aspx files, etc.) would be placed in /var/example.com/moo/.

Next, you would create a corresponding webapp file. Let's pretend that we are using ASP.NET 1.x, so we are goint to create /etc/mono-server/example.com-moo.webapp:

<apps>
<web-application>
<name>MOO!!</name>
<vpath>/moo</vpath>
<path>/var/www/example.com/moo</path>
<vhost>example.com</vhost>
</web-application>
</apps>

Reload apache, and you should be done!

Additional Information