Исполнение ASP.NET приложений в операционной системе Linux Debian

11.11.2013

Проект 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 в браузере.

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

FastReport.Mono

Подробнее о настройке mod_mono можно почитать на странице проекта http://www.mono-project.com/Mod_mono

.NET Mono FastReport Linux ASP.NET .NET Mono FastReport Linux ASP.NET
25 марта 2025

Как объединить несколько отчетов в один из FastReport .NET

FastReport .NET — это мощный инструмент для создания и управления отчётами. В данной статье мы рассмотрим, как объединить несколько отчётов в один в FastReport .NET.
11 марта 2025

Как использовать FastReport .NET Avalonia на Fedora Workstation с протоколом Wayland

В данной статье мы разберем, как запустить FastReport .NET Avalonia на операционной системе «Fedora Workstation 39» с протоколом Wayland.
7 марта 2025

Как создать QR-код с картинкой в FastReport .NET

В статье разобрались как вставлять картинку в QR Code из дизайнера отчётов FastReport .NET всего за пару кликов.