Зв'язка mono і apache

У цій статті розглянемо підготовку Web-сервера Apache для запуску Web-додатків на основі ASP.NET на платформі Linux, використання середовища розробки MonoDevelop IDE для створення ASP.NET-додатків і загальні питання міграції ASP.NET-додатків.







ASP.NET - нова технологія, створена компанією Microsoft в рамках ідеології .NET для створення високо функціональних Web-додатків. Однією з основних завдань технології ASP.NET є створення динамічних Web-сторінок. Поточна реалізація Mono повністю підтримує ASP.NET версії 1.1 і більшість можливостей ASP.NET версії 2.0.

Основним сервером для запуску ASP.NET-додатків є Microsoft Internet Information Server (IIS), призначений виключно для використання на ОС сімейства MS Windows. Однак на платформі Linux існують не менш потужні Web-сервери, наприклад, можливо, найвідоміший Web-сервер - Apache. Web-сервер Apache підтримує розширення функціональності за допомогою плагінів. Для спільного використання Apache і Mono був розроблений плагін mod_mono. який дозволяє використовувати ASP.NET на Linux-системах.

Іншим варіантом є сервер XSP. XSP - це полегшений Web-сервер, призначений для розробки і тестування Web-додатків. Сервер XSP не рекомендується використовувати для розгортання комерційних проектів в силу обмеженої функціональності, проте він незамінний в ході розробки. Web-сервер XSP, написаний на C #, входить в комплект інструментів Mono. З його допомогою можна переглядати ASP.NET-сторінки безпосередньо з середовища розробки MonoDevelop в режимі налагодження. Якщо цей Web-cервер не встановлено, то його можна встановити за допомогою такої команди:

Web-сервер Apache можна використовувати для розгортання ASP.NET-додатків і без підключення плагіна mod_mono, замінивши цей плагін на комбінацію плагінів mod_proxy і mod_proxy_http і Web-сервер XSP. Однак такий спосіб не рекомендується розробниками Mono по ряду причин, серед яких зниження швидкодії і той факт, що Web-сервер XSP не підтримує всі можливості стандарту HTTP 1.1.







Налаштування Web-сервера Apache для роботи з ASP.NET-додатками

Існують два способи налаштування сервера Apache для роботи з ASP.NET-додатками. Найпростішим варіантом є автоматична настройка, для якої досить встановити на Web-сервер плагін mod_mono. Перед установкою mod_mono слід перевірити наявність плагіна для роботи з PHP і в разі, якщо він встановлений - видалити, так як дані плагіни несумісні між собою.

Установка і настройка mod_mono може трохи відрізнятися для різних Linux-дистрибутивів Linux. У даній статті буде використовуватися дистрибутив Ubuntu Server 16.04 з уже встановленим Web-сервером Apache.

Спочатку потрібно встановити пакети libapache2-mod-mono і mono-apache-server або mono-apache-server4:

Пакет libapache2-mod-mono містить плагін mod_mono для Apache. який розпізнає файли, пов'язані з додатками ASP.NET, і передає їх mono-сервера. що знаходиться в пакеті mono-apache-server. Після цього необхідно встановити пакет mono-devel. містить деякі інструменти, які можуть знадобитися для роботи додатків:

Далі підключаємо модуль і перезапустити Web-сервер Apache:

У лістингу приведений вихідний код демонстраційної ASP.NET-сторінки для перевірки правильності встановлення mod_mono

Другий варіант установки вимагає «ручний» конфігурації пакету mod_mono. Якщо на цільовій системі вже був застосований перший варіант, то слід відключити автоматичне конфігурування і перезапустити Web-сервер Apache. як показано нижче:

Як і в першому випадку, спочатку потрібно встановити пакети libapache2-mod-mono і mono-apache-server. Потім необхідно буде знову активувати підтримку mod_mono (але без підтримки автоматичної конфігурації):

Після цього в файлі конфігурації /etc/apache2/mods-available/mod_mono.conf необхідно буде визначити версію ASP.NET, яка буде підтримуватися сервером. Для підтримки ASP.NET версії 2.0 в даному файлі повинна бути рядок:

Для підтримки версії 1.1 потрібно інший запис:

Далі необхідно конфігурувати ASP.NET додаток, створивши конфігураційний файл Web-сервера в каталозі / etc / apache2 / sites-available /. і активувати його командою a2ensite. вказавши в якості параметра ім'я конфігураційного файлу. Після цього залишиться тільки перезапустити сервер, як було показано вище.

У даній статті розглядалися настройка Linux-платформи для запуску додатків на основі технології ASP.NET. Як було показано, технологія Mono дозволяє легко перенести ASP.NET-додатка з платформи MS Windows на платформу Linux і відмовитися від закритого комерційного ПЗ на користь вільних продуктів.

Також можна почитати:







Схожі статті