Mono
Mono on SME Server 7
Mono is a cross platform, open source .NET development framework. See http://mono-project.com
With Mono you can run ASP.NET on many platforms including SMEServer. Mono is also required to use iFolder http://www.ifolder.com
Note to Windows users: Use PuTTY to get acces to your SMEServer Box, login as root. Execute the steps hereunder by copy-pasting them to PuTTY - to paste in PuTTY right click with the mouse (not working under mc!). To navigate around your server use MidnightComander - just type mc at the commandline.
Installation
To setup a repository where yum can get Mono from issue following:
/sbin/e-smith/db yum_repositories set mono repository \ Name 'Mono for rhel-4-i386 (stable)' \ BaseURL 'http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/' \ EnableGroups no \ GPGCheck no \ Visible yes \ status disabled
This is equivalent to adding a .repo file (this was not working before SMEServer 7.4). The info above comes from
http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/mono.repo - the source of Mono.
It is the only place I have found xsp and mod_mono required to run ASP.NET pages.
install mono, xsp and mod_mono:
yum --enablerepo=mono install mono-complete xsp mod_mono
Restart the system:
signal-event post-upgrade; signal-event reboot
Create a file in the SMEServer custom templates dir (create dir first)
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
cd /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
Create file:
pico 20LoadModule80mod_mono
Add following to the file:
#Template for mod_mono LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so AddType application/x-asp-net .aspx AddType application/x-asp-net .asmx AddType application/x-asp-net .ashx AddType application/x-asp-net .asax AddType application/x-asp-net .ascx AddType application/x-asp-net .soap AddType application/x-asp-net .rem AddType application/x-asp-net .axd AddType application/x-asp-net .cs AddType application/x-asp-net .config AddType application/x-asp-net .Config AddType application/x-asp-net .dll DirectoryIndex index.aspx DirectoryIndex Default.aspx DirectoryIndex default.aspx MonoServerPath /usr/bin/mod-mono-server2
Save and exit (ctrl-x)
Reparse the templates:
expand-template /etc/httpd/conf/httpd.conf
restart the webserver
/etc/init.d/httpd-e-smith restart
You are done! Add a .aspx file to an iBay and point your browser to it. You may have authorization issues if your ASP.NET code reads or writes files - but that is another matter solved by granting some rights :)