Проект Mono позволяет запускать приложения, использующие .NET Framework, на операционных системах, отличных от Windows. Рассмотрим, для примера, настройку среды исполнения в Linux Debian. Аналогичные настройки будут применимы ко всем производным от Debian систем, например Ubuntu.
В первую очередь необходимо установить Mono, выполнив команду:
#apt-get install mono mono-gmcs mono-gac mono-utils
Если в дальнейшем планируется разработка на данном компьютере, устанавливаем визуальную среду Mono Develop:
#apt-get install monodevelop monodoc-browser monodevelop-nunit monodevelop-versioncontrol
Для выполнения веб-приложений ASP.NET, кроме всего прочего, понадобится XSP сервер:
#apt-get install mono-xsp2 mono-xsp2-base asp.net2-examples
Примеры ASP.NET 2.0 будут установлены в папку /usr/share/asp.net2-demos/. Переходим в эту папку и запускаем XSP сервер для проверки:
#xsp2
Сервер должен выдать информацию о запуске:
Listening on port: 8080 (non-secure) Listening on address: 0.0.0.0 Root directory: /usr/share/asp.net2-demos Hit Return to stop the server. Application_Start
По умолчанию XSP доступен по адресу http://localhost:8080
Проверяем работоспособность XSP в браузере.
Далее устанавливаем модуль для сервера Apache2 mod_mono:
#apt-get install libapache2-mod-mono
Перезапускаем
Apache:
#/etc/init.d/apache2 restart
Проверяем настройки файла /etc/apache2/conf.d/mono-web.conf:
MonoAutoApplication Enabled MonoRunXSP True MonoDebug False MonoSetEnv MONO_IOMAP=all MonoMaxActiveRequests 500 MonoMaxWaitingRequests 500 MonoAutoRestartMode Requests MonoAutoRestartRequests 5000 MonoSetEnv MONO_THREADS_PER_CPU=3000
Ниже
показан
примерный
конфиг
для
виртуального
хоста
Apache2:
NameVirtualHost 192.168.1.2:80 <VirtualHost 192.168.1.2:80> ServerName mytest-server-mono.com ServerAdmin admin@mytest-server-mono.com ServerAlias www.mytest-server-mono.com 192.168.1.2:80 AddMonoApplications FrSite "/:/home/www/fr_asp_net_dir" MonoExecutablePath FrSite "/usr/bin/mono" MonoServerPath FrSite "/usr/bin/mod-mono-server2" MonoMaxMemory FrSite 300000000 MonoMaxCPUTime FrSite 3600 DocumentRoot "/home/www/fr_asp_net_dir" <Directory "/home/www/fr_asp_net_dir/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all SetHandler mono MonoSetServerAlias FrSite DirectoryIndex Default.aspx AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd </Directory> </VirtualHost>
Можно скопировать в домашнюю папку виртуального хоста демонстрационные файлы FastReport.Mono из папки \Demos\C#\Web и убедиться в работоспособности установленной среды исполнения ASP.NET приложений в системе Linux Debian.
Подробнее о настройке mod_mono можно почитать на странице проекта http://www.mono-project.com/Mod_mono