ASP.NET with Apache

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Edit /etc/httpd/conf/httpd.conf and add the following line:

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

Finally, restart apache with:

 systemctl 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.