ASP.NET with Apache

From ArchWiki

Merge-arrows-2.pngThis article or section is a candidate for merging with Apache HTTP Server.Merge-arrows-2.png

Notes: please use the second argument of the template to provide more detailed indications. (Discuss in Talk:ASP.NET with Apache)

Describes how to show ASP.NET-sites under Apache HTTP Server by using Mod_Mono.

From Mod_Mono's site:

"Mod_Mono is an Apache 2.0/2.2 module that provides ASP.NET support for the web's favorite server, Apache (https://httpd.apache.org/)."
Warning: The Apache module mod-mono along with the web server xsp (which mod-mono depends) has not been in active development since April 2018 and may therefore have issues with updated Arch Linux systems as well as possible security vulnerabilities.

Installing

The setup requires mono and mod_monoAUR for Apache compliance. Package xspAUR is a simple webserver for ASP.NET, optionally installed for testing the configuration.

Configuring

Add the following line to /etc/httpd/conf/httpd.conf:

 Include /etc/httpd/conf/extra/mod_mono.conf

Finally, restart httpd.service.

Now, Apache should be able to show ASP.NET-pages.

AutoHosting

Further details: https://www.mono-project.com/AutoHosting/

With this setting, configuring apache for each deployment is no longer needed; just place the application in any directory within html-root and it will be promptly auto-configured. Add the following lines to /etc/httpd/conf/httpd.conf to enable the option:

 # Choose ASP2.0 support instead of the default 1.0
 MonoServerPath "/usr/bin/mod-mono-server4" # mono 4
 MonoAutoApplication enabled

Testing

If xsp is installed and html-path is /httpd/html, then open a browser and access http://server/xsp/ to see an overview over the ASP.NET-testfiles.

Troubleshooting

Application/Site Instance Hangs with high cpu usage.

This is believed to be caused by a bug/incompatibility in the mod-mono module with SystemD versions above 239.303.

Currently there is no fix (other than a workaround) as the project appears to have ceased development.

See https://github.com/mono/mod_mono/issues/9 for more information.