Mono is an open-source platform designed to bring the .NET architecture to non-Windows platforms. If you want to run any .NET code on Linux, Mono is your key. This is a great project! Check out http://www.mono-project.com/ for more.
Copy the following into a yum repository information file at /etc/yum.repos.d/mono.repo:
We also need a couple of packages, due to some fun issues I found with Mono during one of my original installs. These packages are needed for systems without the 'inotify' patch on the kernel, as they provided a FileSystemWatcher called FAM that is more efficient for the mono server to use than it's default polling mechanism. Without it, on CentOS4.4 anyway, the mono server would use 10% of the CPU even while idle. So:
Now the real stuff:
Due to httpd package dependency issues (see notes under Install Apache for more on that), I compiled mod_mono from source. Get it from http://go-mono.com/sources-stable/, and download it to /usr/src/mod_mono:
Edit the main Apache config file (/etc/httpd/httpd.conf) and add:
MonoServerPath "/usr/bin/mod-mono-server2"
Alias /demo /usr/lib/xsp/test
<Directory "/usr/lib/xsp/test">
</Directory>
Restart apache and exit your root session:
Check the server at http://localhost/demo/index.aspx; you're running .NET code!
I'll leave it at that for Mono… it's a whole 'nother ball of worms. To get applications up and running, you'll want to check out the Mod mono docs as well as the general Mono docs. Mono is still a work in progress for me, and I don't run any websites with it yet, but I might at some point very soon!