- Установка Asp.Net на Linux (nginx+mono+xsp)
- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- ASPLinux (Application Service Provider Linux)
- Содержание
- История
- Хронология выпущенных версий продукта
- Финал проекта
- Возможности инсталлятора
- Пример установки
- Конфигуратор системы
- Средства управления пакетами
- Коллаборация ASPLinux и 1С
Установка Asp.Net на Linux (nginx+mono+xsp)
В этой статье я покажу, как настроить простую связку nginx + Asp.Net. Под простой надо понимать, что какие-то специфические особенности проектов, разграничение прав пользователей, высокие нагрузки и т.п. нужно настраивать отдельно (особенно это касается Asp.Net). Статья написана по просьбе хабраюзера mace.
В свое время озадачившись проблемой хостинга маленьких Asp.Net-проектов я осознал одну простую вещь: покупать лицензию на Windows Server, а потом и арендовывать достаточно мощный выделенный/виртуальный сервер для каких-то домашних поделок/экспериментов — крайне неразумно. Решение как-то сразу всплыло в моей лысой голове: есть же Mono! Непродолжительный поиск по mono-project.com вывел на FAQ об Asp.Net. Фактически, документация показала мне три возможных варианта:
You need the Mono runtime and use one of Apache with mod_mono, a CGI or FastCGI-aware web server with Mono’s FastCGI support or the xsp standalone server (all available from our downloads page).
Быстрый анализ интернета, для выбора одного из этих способов, привел меня к статье Максима Крентовского (mkrentovskiy), это достаточно забавно, т.к. спросить у Максима в аське я почему-то не догадался.
Выводы Максима показались мне достаточно убедительными. Я не стал проводить какие-то дополнительные тесты или искать другие источники, для моей задачи ответ был уже очевиден: nginx + xsp. Учтите, в wiki Mono сказано, что xsp надо использовать для отладки и разработки!
Установка nginx
Итак, мы имеем свежеустановленный Debian Squeeze x64 Minimal. Самый простой вариант установки последних версий nginx — установка из репозиториев dotdeb.org. Кстати, очень хороший репозиторий: в нем, помимо nginx , всегда последние версии php , mysql (percona) и redis . Чуть сложнее установить из исходников — об этом чуть ниже.
Добавим в sources.list новый репозиторий, пропишем GnuPG-ключ и обновим источники:
Если все сделано правильно, то на команду apt-cache policy nginx мы увидим следующее:
Существует три разных пакета, собранных с разными наборами модулей: nginx-lite, nginx-full (пакет nginx как раз его алиас) и nginx-extras. Какой устанавливать — решать вам, нам бы хватило и lite версии (Proxy есть и ладно), но на момент написания статьи я уже установил full, поэтому будем устанавливать его:
Вот и все шаги для установки из пакетов.
Если вы устанавливаете nginx из исходников, то ./configure надо запускать с такими параметрами:
Это будет практически соответствовать пакету nginx-full , за исключением отсутствия сторонних модулей Upstream Fair Queue и Echo.
Установка Mono
Для Mono таких удобств с репозиториями нет, придется сразу компилировать последние исходники.
upd. Как справедливо заметил Net_Rat, я немного слукавил: можно подключить экспериментальный репозиторий и через pining настроить установку mono и xsp оттуда.
Качаем последние исходники mono и xsp (на момент написания 2.10.2):
Теперь распакуем архивы:
Если tar ругнется на отсутствие bzip2 (в minimal точно ругнется), его нужно поставить:
Для компиляции mono и xsp нам понадобится следующее:
Приступим к конфигурированию и компиляции (процесс непосредственно компиляции может занять продолжительное время, до 20-30 минут):
Если установка прошла успешно, то запуск команды mono —version покажет нам заветное и долгожданное:
Теперь установим xsp:
Весь xsp написан на C#, компиляция должна пройти очень быстро. Проверим, что оно нам выдаст:
Похоже, все схватилось. Пора переходить к настройке.
Настройка Xsp
Создадим директорию нашей будущей странички Hello World:
Сразу создадим классический «Hello World» для пробы:
В файле напишем следующие строки:
Поскольку xsp изначально задумывался как тестовый сервер, скриптов запуска демона там нет. Будем исправлять такую ситуацию. Создадим файл /etc/default/xsp , и запишем в него переменные по-умолчанию:
Создадим файл /etc/init.d/xsp , дадим ему права на выполнение ( chmod +x /etc/init.d/xsp ) и в него напишем:
В скрипте запуска так же имеется закомментированная строка для папки с тестами из дистрибутива xsp , для более полноценной картины.
Добавим его в автозапуск с дефолтными уровнями запуска (поправить по надобности) и запустим наш новый демон:
По-умолчанию, сервер слушает на всех интерфейсах, проверить легко:
Если перейти по http://serveraddr:8080/ можно увидеть долгожданное «Hello World»:
А если вы переключите на тестовую страницу xsp, то:
Настройка nginx
Суть настройки nginx в проксировании обращений только для asp-файлов. Остальные статические файлы должен раздавать nginx . Не мудрствуя особо сильно, возьмем конфигурацию, которую предложил Максим Крентовский в своей статье и чуть-чуть изменим под наш случай:
Как управлять виртуальными хостами nginx лучше всего знает гугл.
Открыв http://serveraddr.ru/ получаем долгожданное «Hello World»:
Или, для тестовых настроек:
Вот и все. Повторюсь, что в wiki Mono ясно указано, что xsp лучше использовать для тестов!
Это мой первый пост на хабре, прошу не кидать в меня кирпичи и другие булыжники… Буду очень рад любой критике, как по содержанию статьи, так и по орфографии с пунктуацией. И да, я мог ошибиться с выбором блога. Если так — скажите куда лучше поместить.
Источник
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
ASPLinux (Application Service Provider Linux)
Разработчик | Black Cat |
---|---|
Написана на | C++ |
Линейка ОС | UNIX-подобная |
Состояние разработки | Прекращено |
Исходный код | Свободное программное обеспечение |
Дата первого релиза | 16 апреля 2001 года |
Последний релиз | 14.0 Cobalt / 12 мая 2008 года |
Доступно в | Русский и Английский язык |
Метод обновления | apt |
Cистема управления пакетами | dpkg |
Ядро (тип) | Монолитное ядро (Linux) |
Пользовательское пространство | GNU Core Utilities |
По умолчанию пользовательский интерфейс | LXDE (до этого KDE) |
Лицензия | Свободное программное обеспечение |
Официальный веб-сайт | asplinux .com |
ASP Linux — русскоязычный дистрибутив Linux, надежный, устойчивый и мощный, и в то же время легкий в установке и настройке, разработанный коллективом программистов Black Cat. Широкий спектр программного обеспечения, входящего в ASP Linux, позволяет использовать систему как в качестве офисной рабочей станции или мультимедийного домашнего компьютера, так и в качестве серверной платформы. А простой инсталлятор, сквозная русификация и отполированный графический интерфейс пользователя делают ASP Linux отличным выбором для начинающих линуксоидов.
В дальних родственниках ASP Linux числится Red Hat Linux, которая когда-то послужила прототипом для русского дистрибутива. С тех пор ASP Linux стабилизировался на рынке предложений, обзавёлся собственным сообществом пользователей (десятки тысяч человек на территории бывшего СССР) и на середину нулевых считался одним из самых популярных русскоязычных Линуксов [Источник 1] .
Содержание
История
Хронология выпущенных версий продукта
Продукт выпускался в следующей хронологии:
- ASPLinux 7.1 Mria (16 апреля 2001)
- ASPLinux 7.2 Baikal (5 декабря 2001)
- ASPLinux 7.3 Vostok (15 августа 2002)
- ASPLinux 9 Ural (12 мая 2003)
- ASPLinux 9.2 Siberia (25 февраля 2004)
- ASPLinux 10 Karelia (23 декабря 2004)
- ASPLinux 11 Seliger (6 марта 2006)
- ASPLinux 11.2 Ladoga (9 ноября 2006)
- ASPLinux 12 Carbon (26 ноября 2007 года)
- ASPLinux 14 Cobalt (26 ноября 2008 года)
Рассмотрим наиболее значительные изменения в вышеперечисленных версиях:
ASPLinux v10 Karelia — дружественный к пользователю дистрибутив в полном смысле этого слова. Устанавливать и эффективно работать с ASPLinux v10 сможет пользователь, обладающий минимальной подготовкой. ASPLinux v10 предоставляет привычную оконную среду, не забывая при этом и продвинутых пользователей Linux, работающих в командной строке. В дистрибутиве значительно улучшена поддержка нового аппаратного обеспечения. В ASPLinux v10 включен максимальный набор мультимедийных приложений, что является обязательным атрибутом операционной системы для домашнего компьютера. [Источник 2]
ASPLinux 11.2 Ladoga является функциональным и гибким дистрибутивом, созданным на базе Fedora и включает последние достижения и разработки в Linux. ASPLinux 11.2 подходит для любых пользователей, но ориентирован прежде всего на русскоязычных пользователей. Обширный список поддерживаемого оборудования дает возможность использовать дистрибутив ASPLinux 11.2 ladoga в качестве рабочей станции или сервера корпоративной сети. ASPLinux 11.2 подойдет для глубокого изучения Linux, начиная с уровня новичка и заканчивая уровнем системного администратора.
ASPLinux 12 Carbon — собран на основе дистрибутива Fedora 7. Основное новшество ASPLinux 12 — поддержка всех современных чипов и прежде всего Intel 965, 975, P35, на которых предыдущая версия ASPLinux 11 уже не работает. Изменилась идеология дистрибутива. По словам ведущего разработчика Леонида Кантера, ASPLinux 12 — это полный возврат к традициям Blaсk Cat Linux. Без преувеличения, 12-я версия ASPLinux — очередной творческий прорыв в линейке дистрибутивов компании ASPLinux.
ASPLinux 14 Cobalt стал более функциональной и удобной в работе системой по сравнению с предыдущими релизами. Значительно увеличен список поддерживаемого оборудования, уменьшено время начальной загрузки системы, увеличена безопасность работы, улучшена совместимость на уровне документов с другими операционными системами за счет применения новой версии офисного пакета OpenOffice.org. На нашем сайте представлена версия дистрибутива ASPLinux 14 Cobalt, доступная для свободного использования и образ которой можно было загрузить с ftp сервера asplinux.ru [Источник 3]
Финал проекта
29 апреля 2010 года Леонидом Кантером было объявлено о выходе новой версии (имя и номер версии не раскрывался) дистрибутива Asplinux, о чем Леонид заявил на официальном форуме Asplinux.
Со слов главного разработчика: «Следующая версия ASPLinux будет основана на RHEL6, который в свою очередь основан на F12.».
В конце 2009 — начале 2010 года у разработчиков возникли неизвестные проблемы.
18-го января произошел сбой, в результате которого оказались недоступны все сетевые ресурсы компании, в том числе сайт, форум и сервер обновлений. Во второй половине 20-го числа все было восстановлено, но ненадолго.
28 февраля сервер обновления снова был недоступен.
По состоянию на 12 марта 2010 г. сайт снова работает, слухи о смерти были сильно преувеличены и оказались внеплановым переносом интернет-ресурсов компании на другой хостинг, о чем позже официально заявлял Леонид Кантер на официальном форуме компании. 4 декабря 2011 г. сайт не работает около года. 01 апреля 2012 года — сайт все еще не работает. На 4 мая 2012 истёк срок регистрации домена и он стал доступен для регистрации всем желающим.
Со слов Леонида Кантера в личном разговоре, проект был передан, либо продан.
Анализ ситуации показал, что проблема связана с истечением срока регистрации домена asplinux.ru, что привело к блокированию работы сайта с 1 апреля 2011 года. Неоплаченный домен поступил в продажу. Кроме того, размещенный на asplinux.ru официальный форум проекта неработоспособен из-за сбоя СУБД в течение примерно нескольких лет, что может говорить о прекращении поддержки ASPLinux со стороны компании, курирующей разработку. Последний официальный релиз ASPLinux вышел в мае в 2008 года. [Источник 4]
Возможности инсталлятора
В ранних версиях ASPLinux использовалась оригинальная программа инсталляции, кстати одна из самых удобных для конечного пользователя. Потом разработчик решил от нее отказаться — теперь для установки системы используется тот же инсталлятор, что и в дистрибутиве Fedora.
Перед началом установки пользователю предлагается выбрать язык интерфейса. Вариантов много, включая русский и украинский.
А вот выбрать клавиатурную комбинацию для переключения раскладок на этапе установки нельзя. Если вас не устраивает Shift+Shift, то изменения придется вносить уже после инсталляции.
Для разбиения диска на разделы предлагается четыре варианта. Первый — полностью очистить диск. Второй — удалить все Linux-разделы. Третий — использовать только свободное место. Во всех этих случаях будет создана некая конфигурация, в которой используется технология LVM.
Четвертый вариант — создать собственное разбиение. Если выбрать именно его, то будет запущен менеджер разделов. С его помощью пользователь сможет самостоятельно выделить дисковое пространство для установки Linux. Правда, если свободного места у вас нет, то создать его за счет уменьшения размеров уже существующих логических томов программа инсталляции не позволяет, так что о незанятом пространстве придется побеспокоиться заранее.
Из файловых систем, используемых для установки Linux, поддерживается Ext2/3, а также LVM и программный RAID.
Windows-разделы подключаются автоматически. Вручную указать точки монтирования можно только для FAT. Если же у вас имеются какие-то свои соображения по поводу названий каталогов, в которых будут размещены находящиеся в NTFS-томах данные, то придется вносить изменения после установки системы.
Опций установки начального загрузчика вполне достаточно для создания работоспособной конфигурации. Если планируете сохранить Windows — соответствующий пункт будет автоматически добавлен в меню. GRUB можно записать как в MBR, так и в раздел жесткого диска.
Эта функция позволит использовать уже существующий загрузчик, если такой вариант является предпочтительным. Например, на компьютерах, где уже установлены системы Windows Vista и Windows XP.
При выборе прикладных программ и системных компонентов можно пользоваться как готовыми наборами, так и полным списком пакетов. Это позволяет оптимизировать состав системы еще на этапе установки. Контроль зависимостей выполняется автоматически.
Графическая подсистема конфигурируется без какого-либо участия пользователя. Задействуются только свободные драйверы, поэтому владельцам карт nVidia придется заняться настройкой уже после установки. [Источник 5]
Пример установки
Ниже представлено видео по базовой установке ASPLinux. [Источник 6]
Конфигуратор системы
Единого интерфейса настройки в ASPLinux нет. Однако это не означает, что вы обязательно должны будете вручную править файлы конфигурации. В состав дистрибутива входит несколько графических утилит, которые упростят начинающему пользователю работу с системой.
Например, имеются программы для настройки графического режима, конфигурирования клавиатуры, задания параметров сети. Найти их можно в разделе “Система — администрирование” рабочего стола GNOME, который ASPLinux использует в качестве основного.
Для примера рассмотрим утилиту настройки сети. В главной вкладке отображаются все обнаруженные интерфейсы, включая беспроводные. Чтобы редактировать их параметры, следует нажать кнопку “Изменить”. Откроется окно, во вкладках которого можно задать IP-адрес (или приказать системе использовать сервис DHCP), маршрут и режим.
Включение и отключение интерфейса осуществляется кнопками “Активировать” и “Деактивировать”. Во вкладке IPsec можно настроить туннели и межузловые соединения. Раздел “DNS” предназначен для указания адреса сервера имен и задания имени компьютера.
Наконец, существует вкладка для указания статичной информации о преобразовании имен машин в IP-адреса. Она имеет приоритет перед данными, полученными с сервера имен. Эту концепцию удобно использовать в небольших сетях, где нет особой нужды в специальном DNS-ресурсе.
Система настройки сетевых интерфейсов поддерживает профили. Это полезно для ноутбуков, чтобы быстро переключать предварительно заданные настройки. Например, одну конфигурацию использовать дома, вторую — на работе.
Средства управления пакетами
В качестве системы управления пакетами в дистрибутиве ASPLinux используется yum. Это мощный современный инструментарий для установки, удаления, обновления программ, а также извлечения информации о них.
Чтобы получить информацию о всех доступных пакетах, следует набрать команду yum list. Для вывода списка обновлений служит команда yum list updates. А об установленных программах можно узнать по команде yum list installed.
При помощи yum можно получать и более ценные сведения. Например, вам требуется какой-либо файл, но вы не знаете имени пакета, в который он входит. Кстати, это довольно распространенная ситуация, нередко возникающая при ручной установке приложений. Конечно, требуемую информацию можно получить, отправив соответствующий запрос в Google. Но есть путь и проще. Наберите в консоли yum provides , и проблема будет решена.
Установка, удаление и обновление пакетов при помощи yum — исключительно простая задача. Достаточно помнить всего три команды:
Для обновления всего дистрибутива применяется команда yum update без параметров.
Если же вам больше нравится графический интерфейс, то ASPLinux предлагает три инструмента для работы с пакетами. Package Updater отвечает за обновление пакетов. После первого же запуска системы она сообщит, что ряд приложений устарел, и предложит установить более свежие версии.
Со встроенным менеджером пакетов пользователи, выбравшие соответствующий режим во время инсталляции, уже должны быть знакомы. Все программы рассортированы по разделам, чтобы легче было найти нужную. Наконец, Yum Extender представляет собой графическую оболочку к системе yum. Встроенный модуль поиска позволит быстро найти нужное приложение, установка которого производится одним щелчком мыши. Разумеется, все зависимости будут соблюдены автоматически.
Коллаборация ASPLinux и 1С
ASPLinux Server ConfPoint Edition 1.0 — решение для тех, кто разворачивал файловый сервер для работы с решениями фирмы «1С». Так, настройка типовой конфигурации файлового сервера для работы с программным комплексом «1С:Предприятие» версий 7.7 или 8.0 происходила «нажатием одной кнопки», при этом автоматически создались все необходимые ресурсы и группы пользователей. Эти возможности позволяли использовать ASPLinux Server ConfPoint Edition 1.0 в качестве файлового сервера для программного комплекса «1С:Предприятие» даже в тех организациях, где ранее не применяли ОС Linux и нет специалистов по администрированию Linux-систем.
Пользователям предоставлялась полная совместимость с решениями фирмы «1С», поддержка всех необходимых протоколов обмена данными в сочетании с максимально упрощенной процедурой настройки необходимых сервисов.
Управление ASPLinux Server ConfPoint Edition 1.0 осуществлялось с помощью графической консоли, работающей под управлением Windows и обладающей функциями, специально рассчитанными на применение с решениями фирмы «1С» [Источник 7] .
Источник