Всё больше и больше можлно услышать о Mono. Как изестно, основное его идеей является реализация действительно кроссплатформенной среды .NET. Таким образом, чеще всего Mono испльзуют в операционной системе, отличной от MS Windows. А если не Windows, то Linux или какой-то из Unix. И всё было бы хорошо, если б не 2 момента (в данном случае я не акцентрирую внимание на степень готовности реализации Mono: аналог WinForms и замена Internet Information Services (IIS).На за мену WinForms приходят GTK, QTи другие библиотеки. А вот с заменой IIS все не тах хорошо: либо Apache с соответствующими модуляли, либо “родной” для Mono веб-сервер XSP2. А так как Apache наиболее популярен, то будем пользоваться им.
Все примеры я буду приводить для Ubuntu linux, но для других nix-подобных ОС все будет делаться таким же способом, за исключением установки пакетов.
Для начала нам все же надо установить Mono и IDE для нее. В качестве IDE будем использовать MonoDevelop. Устанавливаем всё необходимое:
**apt-get install mono-2.0-runtime mono-2.0-gac mono-2.0-service mono-2.0-devel mono-xsp2 mono-xsp2-base ** ****
После чего можно запустить MonoDevelop, созать простое ASP.NET приложение и запустить. В результате получаем что-то похожее на это:
Теперь мы уже можем без проблем заниматься разработкой вплоть до момента, когда нужно запустить приложение на test-сервере, на которов, в качестве web-сервера, должен стоять Apache. Дело за малым - установить Apache и настроить его для работы с Mono.
Для наала, устанавливаем необходимы пакеты:
**sudo apt-get install apache2 mono-apache-server2 libapache2-mod-mono **
Говорим веб-серверу о необходимости загрузки нового модуля:
**sudo a2enmod mod_mono **
И создаём новый конфиг (/etc/mono-server2/monotest.webapp) для нашего приложения:
**** Mono test /mono /var/www/ localhost ****
Последние что нас осталось сделать - это подправить конфигурационный файл Apache’а для нашего сайта (/etc/mono-server2/mono-server2-hosts.conf). Добавляем в него такие строки:
Alias /mono “/var/www” AddMonoApplications default “/mono:/var/www” <Directory /var/www> SetHandler mono DirectoryIndex Default.aspx
Перезагружаем Apache командой:
**sudo /etc/init.d/apache2 restart **
И смотрим в браузере что у нас получилось: