Iis создание виртуальных каталогов


Создание виртуального каталога из файла в IIS 8.5

Я хочу импортировать параметр виртуального каталога через файл в IIS 8.5, но не могу найти вариант сделать это. В IIS 6 можно:

Щелкните правой кнопкой мыши на сайте — > > создать — > > виртуальный каталог (из файла)

Я не вижу этот параметр в IIS 8.5, только вариант » добавить виртуальный каталог…’

Google сегодня не помогает. Кто-нибудь знает, как это можно сделать?

1 ответ

Я не смог найти способ сделать это подобно тому, как вы можете в IIS 6, Возможно, есть команда powershell…

Тем не менее, я нашел способ добавить сайты через applicationHost.конфигурационный файл, который обычно находится по адресу: C:\Windows\System32\inetsrv\config. (не забудьте сделать резервную копию файла в случае, если вы делаете booboo).

Поскольку у меня есть похожие сайты и приложения, было легко копировать и вставлять, а также изменять необходимые поля.

Добавить сайты и пулы приложений можно в разделе:

Если у вас есть приложения под сайтом, то должен быть соответствующий узел расположения:

Правильный способ создания виртуальных каталогов на IIS с использованием ASP.net

Я разрабатываю ASP.NET Web Api, и я хотел бы добавить каталог (скажем, «экспорт»), который будет создан на сервере, в котором приложение будет хранить сгенерированные отчеты / журналы и т. Д.

Мне посоветовали, чтобы каталог «export» был виртуальным каталогом, чтобы администратор сервера мог легко изменить физический путь к хранимым файлам. Теперь я не совсем уверен, как правильно с этим справляться.

Я реализовал это, создав каталог в моем проекте, поместив в него фиктивный файл и создав его на сервере во время публикации. Но я не знаю, является ли это подходящим способом создания папок приложений на сервере, и я не уверен в ограничениях доступа, которые следует применять.

Кроме того, этот способ создает физический путь относительно корня приложения, и единственный способ сделать его виртуальным — вручную добавить виртуальный каталог с тем же псевдонимом из диспетчера пула приложений сервера IIS.

Поэтому я хотел бы знать, как правильно создать виртуальный каталог на сервере и управлять им. Кто отвечает за создание и управление правами доступа?

Должно ли приложение создавать его при развертывании, или администратору необходимо создать его вручную с помощью панели администрирования пула приложений сервера?

РЕДАКТИРОВАТЬ :

Нашел способ сделать это, просто не уверен, элегантно ли это или безопасно. Как я уже упоминал, я создаю пустой каталог «export» во время публикации (MyWebApi / exports). Мое приложение пытается получить доступ к этому каталогу, используя MapPath и классы каталогов:

Так что, если во время веб-развертывания ничего не пошло не так, в корневом каталоге приложения существует каталог «export», и я могу сохранить свои файлы там.

Теперь, если администратор сервера хочет изменить физический путь к каталогу экспорта и поместить его, скажем, на другой диск на сервере, он может перейти к диспетчеру IIS, щелкнуть правой кнопкой мыши приложение-> Добавить виртуальный каталог-> Ввести «export «как псевдоним и все, что им нужно, как физический путь. Обратите внимание, что псевдоним должен совпадать с тем, который был создан во время публикации.

Теперь я проверил это, и при условии, что вы предоставляете соответствующие разрешения для нового физического каталога, он должен работать нормально. Но я понятия не имею, просто ли это патч Monkey или правильное решение.

Создание виртуальных каталогов в IIS express

114 John Hoge [2012-01-05 02:41:00]

Есть ли способ создать виртуальный каталог в IIS express? Я знаю, что Cassini не может этого сделать, и было бы неплохо сделать это, не используя полную версию IIS.

У меня есть до сих пор, что я могу локально найти приложение в IIS, например:

Мне бы хотелось создать виртуальный каталог под названием «OffSiteStuff» и указать его на некоторое место на моем диске C, например «c:\offsitestuff», а затем перейти к элементам в этой папке, например:

Я знаю, что могу сделать это с помощью папки на моем сайте и по-прежнему использовать IIS Express, или, если на то пошло, обычный старый Cassini, но в этой папке будут храниться изображения, загруженные пользователями, и я действительно не хочу иметь эти изображения смешивается с файлами приложений.

Другим решением «go big» является развертывание сайта на полномасштабном экземпляре Server 2008 IIS 7.5 каждый раз, когда я хочу отлаживать функции, которые используют внешний контент, но это тоже немного громоздко.

Есть ли способ сделать это в элементе Web config?

7 ответов

126 Be.St. [2012-01-19 19:08:00]

Конфигурация IIS express управляется приложением applicationhost.config.
Вы можете найти его в

Внутри вы можете найти раздел сайтов, в котором есть раздел для каждого настроенного сайта IIS Express.

Добавить (или изменить) раздел сайта следующим образом:

Практически вам нужно добавить новый тег приложения на свой сайт для каждого виртуального каталога. Вы получаете большую гибкость, потому что вы можете установить другую конфигурацию для виртуального каталога (например, другую версию .NET Framework)

ИЗМЕНИТЬ Благодаря Fevzi Apaydın, чтобы указать на более элегантное решение.

Илон Маск рекомендует:  Статистика сайта ответы на вопросы и не только

Вы можете достичь такого же результата, добавив один или несколько тегов virtualDirectory в тег приложения:

@Be.St. aprroach — это правда, но неполное. Я просто копирую его объяснение с исправлением неправильной части.

Конфигурация IIS express управляется приложением applicationhost.config.
Вы можете найти его в

Внутри вы можете найти раздел сайтов, в котором есть раздел для каждого настроенного сайта IIS Express.

Добавить (или изменить) раздел сайта следующим образом:

Вместо добавления нового блока приложений просто добавьте новый элемент virtualDirectory в родительский элемент приложения.

Изменить — Visual Studio 2015

Если вы ищете файл applicationHost.config и используете VS2015, вы найдете его в:

В VS2013 я сделал это в следующих шагах:

1.Нажмите проект веб-приложения и нажмите Свойства.

2. Просмотрите вкладку «Веб» на странице «Свойства»

Серверы 3.Under, когда «IIS Express» является выбором по умолчанию для раскрывающегося списка, в «Url проекта» измените URL-адрес, используя номер порта, который вам подходит. Например, я удалил номер порта и добавил «/MVCDemo4» после локального хоста.

4. Нажмите кнопку «Создать виртуальный каталог».

5. Запустите проект, и новый URL будет использован

2 Bryan B [2015-07-02 20:24:00]

Если вы используете Visual Studio 2013 (может потребоваться версия Pro или выше), я смог добавить виртуальный каталог на веб-сайт IIS Express (на основе файлов), щелкнув правой кнопкой мыши на веб-сайте в обозревателе решений и нажмите «Добавить» > «Новый виртуальный каталог». Это добавило запись в файл applicationhost.config, как с описанными здесь ручными методами.

1 Lex Li [2015-06-18 16:56:00]

Новая опция — Jexus Manager для IIS Express,

Это инструмент управления, который вы знаете, как использовать.

У меня было что-то еще, сами файлы, недоступные в среде SBS.

Удалите файлы в папке config (если вы не можете их открыть!) и замените их копией папки на вашем локальном компьютере.

Исправлено это для меня:)

0 TheJoe [2020-01-31 18:23:00]

Я должен был сделать запись в файле [project].vs\config\applicationhost.config.

До этого он работал из развертывания, но не из кода.

Настройка виртуальных каталогов Internet Information Services

Для работы компонентов веб-приложения «Форсайт. Аналитическая платформа» на веб-сервере и BI-сервере необходимы виртуальные каталоги, созданные стандартными средствами Internet Information Services: « fp _App_v x64» и « fp BI_App_v x64», пулы « fp Pool v » и « fp BI Pool v x64», где — это версия «Форсайт. Аналитическая платформа». Например, названия виртуальных каталогов для «Форсайт. Аналитическая платформа» версии 9.2: « fp _App_v9.2 x64» и « fp BI_App_v9.2×64», пулы « fp Pool v9.2» и « fp BI Pool v9.2 x64».

На веб-сервере создание каталогов и пулов происходит автоматически при установке веб-приложения «Форсайт. Аналитическая платформа» (FP9WebServer.exe).

Если по каким-либо причинам на веб-сервере не был создан виртуальный каталог, то его следует создать вручную.

Настройки Internet Information Services

Проверьте настройки, для этого откройте диспетчер служб Internet Information Services:

В дереве « Подключения » выберите раздел « Пулы приложений ».
Для пула « fp BI Pool v9.2 x64» и « fp Pool v9.2» выполните команду контекстного меню « Основные настройки ». Убедитесь, что выбран режим управляемого конвейера « Встроенный »:

В дереве « Подключения », в разделе «сайты», выберите пункт « Default Web Site » — откроется список виртуальных каталогов. Убедитесь, что для виртуального каталога « fp _App_v9.2» в свойствах установлен пул « fp Pool v9.2», а для « fp BI_App_v9.2 x64» – « fp BI Pool v9.2 x64». Для открытия свойств нажмите ссылку « Основные настройки » в окне « Действия », расположенном справа.

Выберите корневой элемент дерева « Подключения », дважды кликните « Ограничения ISAPI и CGI »:

Для строк «ASP.NET v4.0.30319» и «Axis2 v9.2 x64» в столбце « Ограничение » должно отображаться « Разрешено »:

Если это не так, то для каждой строки откройте диалог редактирования и установите флажок « Разрешить выполнение пути расширения ». Если отсутствуют строки «ASP.NET v4.0.30319», то выполните настройку Microsoft .NET Framework 4.5.2. Если нет строки «Axis2 v9.2 x64», значит не зарегистрировалась библиотека продукта «Форсайт. Аналитическая платформа», добавьте ее вручную:

Для виртуального каталога fp BI_App_v9.2×64 дважды кликните «Сопоставления обработчиков»:

В открывшемся списке должна быть строка:

Если ее нет, то создайте ее вручную, как показано ниже:

Создайте виртуальный каталог в IIS из >

Я работаю над классическим сайтом asp, который предоставляет программное обеспечение как услугу. Потенциальный клиент этого сайта связывается с нами, и мы настраиваем сайт вручную. Мы хотим максимально автоматизировать этот процесс. В настоящее время у меня есть форма, которую мой начальник заполняет, чтобы заглушить данные в базе данных. Этот процесс отправляет мне электронное письмо, и я должен вручную создать виртуальный каталог для сайта.

Я хотел бы использовать Classic ASP для настройки этого. Я не нахожу очень хорошие результаты от ГИС. Я нашел материал для создания командных файлов или выполнения appcmd. Кто-нибудь имел успех с этим?

Прямо сейчас наш URL выглядит как https://www.somesite.com/CustomerName . Позже я хотел бы изменить это на что-то вроде » https://CustomerName.somesite.com «. Любая помощь в этом отношении также будет принята с благодарностью.


2 ответа

Обзор

Я могу думать только о двух способах программного изменения конфигурации IIS от классического ASP. Первый — использовать COM-классы, такие как ADSI или WMI, для управления конфигурацией. Второй будет использовать новые классы ASP.Net, представленные Microsoft, Microsoft.Web. Администрация . (Для полноты вы можете также использовать систему. DirectoryServices , но эти классы являются просто управляемой оболочкой для ADSI.)

Подход 1 — COM через ADSI

Сначала я собираюсь обсудить решение на основе COM, поскольку этот подход потребует минимальных затрат. Я собираюсь сосредоточиться на ADSI, а не на WMI, поскольку это то, что я использовал в прошлом. ADSI можно использовать для добавления сайтов, виртуальных папок, приложений и т. д.

Илон Маск рекомендует:  Как сделать ссылку для скачивания

Например, для создания нового сайта вы можете использовать CreateNewSite () :

Чтобы создать новый виртуальный каталог, вы можете использовать:

Я на 95% уверен, что для использования ADSI или WMI вам необходимо включить IIS6-совместимость, поскольку эти COM-объекты пытаются манипулировать метабазой, которую более новые версии IIS больше не используют. Чтобы включить совместимость с IIS6, см. Эту страницу MSDN для IIS 7.5 или эта страница MSDN для IIS8 .

Подход 2. .Net через Microsoft.Web.Administration

Если бы я каким-то образом был настроен на использование .Net, я бы выбрал Microsoft.Web.Administration вместо System.DirectoryServices. Независимо от того, к какому классу .Net вы идете, вам придется обернуть его, чтобы иметь возможность использовать его из классического asp, поскольку нет никакого собственного способа вызова .Net. Для этого вам нужно обернуть любой код, который вы пишете в CCW, — a COM-Callable Wrapper . Вполне возможно сделать это так, что вы напишите весь свой код в .Net и создадите экземпляр COM-компонента, который является просто контейнером для всего кода .Net. Я не буду вдаваться в подробности о том, как обернуть код .net в CCW, но ваш код .Net CCW’d будет так просто, как:

Дополнительную информацию о том, как использовать CCW, см. в этой статье MSDN .

Наконец . Разрешения.

Теперь большая проблема: вы работаете как IUSR, или IUSR_ MachineName , или с какой-либо ограниченной учетной записью, у которой нет абсолютно никаких разрешений для взлома с помощью конфигурации IIS. Так или иначе, вам придется получить больше разрешения. Возможно, вы сможете использовать олицетворение в классическом asp , но другой подход заключается в изменить удостоверение, которое ваше приложение выполняет как . В вашем случае, как бы абсолютно не страшно , вам нужно работать как нечто более привилегированное, чем IUSR.

Или просто отключите анонимную аутентификацию и включите базовую аутентификацию. Затем предоставьте достаточные привилегии пользователю, который будет выполнять аутентификацию на сервере, и код должен работать нормально.

Создание виртуального каталога в IIS из классического ASP — iis

Я работаю над классическим сайтом asp, который предоставляет программное обеспечение как услугу. Потенциальный клиент этого сайта связывается с нами, и мы настраиваем сайт вручную. Мы хотим максимально автоматизировать этот процесс. В настоящее время у меня есть форма, которую мой босс заполняет, чтобы заглушить данные в базе данных. Этот процесс отправляет мне электронное письмо, и я должен создать виртуальный каталог для сайта вручную.

Я хотел бы использовать классический ASP, чтобы установить это. Я не нахожу очень хорошие результаты из ГИС. Я нашел материал для создания пакетных файлов или выполнения appcmd. Кто-нибудь имел успех с этим?

Прямо сейчас наш URL-адрес выглядит как https://www.somesite.com/CustomerName «. Позже я хотел бы изменить это на нечто вроде https://CustomerName.somesite.com». Любая помощь в этом отношении также будет очень признательна.

    3 2
  • 26 окт 2020 2020-10-26 09:25:43
  • fizch

2 ответа

Ниже приведены возможные шаги:

  • Соберите все необходимые данные (например, имя приложения/сайта) для создания/настройки нового сайта/приложения.
  • Используйте System.DirectoryServices apis для создания/настройки нового сайта. Перейдите по ссылке this, чтобы узнать больше о том, как создать/настроить сайт/приложение в IIS6.
  • Если вы используете IIS7, то эта статья поможет вам создать/настроить новый сайт/приложение.
  • 26 окт 2020 2020-10-26 09:25:44
  • Pankaj Kapare

Обзор

Я могу только подумать о двух способах программирования программной модификации IIS — от классического ASP. Первый — использовать COM-классы, такие как ADSI или WMI, для управления конфигурацией. Второй будет использовать новые классы ASP.Net, которые Microsoft представила, Microsoft.Web.Administration. (Для полноты вы также можете использовать System.DirectoryServices, но эти классы — всего лишь управляемая обертка вокруг ADSI.)

Подход 1 — COM через ADSI

Сначала я собираюсь обсудить решение на основе COM, так как этот подход будет включать наименьшее количество накладных расходов. Я собираюсь сосредоточиться на ADSI, в отличие от WMI, с тех пор, что я использовал в прошлом. ADSI можно использовать добавить сайты, vdirs, apps и т.д..

Например, чтобы создать новый сайт, вы можете использовать CreateNewSite():

Чтобы создать новый виртуальный каталог, вы можете использовать:

Я на 95% уверен, что для использования ADSI или WMI вам потребуется включить совместимость IIS6, поскольку эти COM-объекты пытаются манипулировать метабазой, какие более новые версии IIS больше не используются. Чтобы включить совместимость с IIS6, см. Эту страницу MSDN для IIS 7.5 или эту страницу MSDN для IIS8.

Подход 2 -.Net через Microsoft.Web.Administration

Если бы я был настроен на использование .Net, я бы выбрал Microsoft.Web.Administration через System.DirectoryServices. Независимо от того, с каким классом .Net вы сталкиваетесь, вам придется его обернуть, чтобы использовать его из классического asp, так как нет обычного способа вызова .Net. Для этого вам нужно обернуть любой код, который вы пишете в CCW — COM-Callable Wrapper. Это можно сделать так, что вы пишете весь свой код в .Net и создаете COM-компонент, который является всего лишь контейнером для всего кода .Net. Я не буду подробно разбираться в том, как обернуть код .net в CCW, но ваш код CCWd.Net будет таким же простым, как:

Для получения дополнительной информации о том, как использовать CCW, см. эту статью MSDN.

Наконец. Разрешения.

Теперь, большая проблема: вы работаете как IUSR, или IUSR_MachineName, или какая-то ограниченная учетная запись, которая не имеет абсолютно никаких разрешений для настройки конфигурации IIS. Так или иначе, вам нужно получить больше прав. Вы можете использовать олицетворение в классическом asp, но другой подход — изменить идентификатор что ваше приложение работает как. В вашем случае, как абсолютно страшно, как это, вам нужно будет работать как нечто гораздо более привилегированное, чем IUSR.

Илон Маск рекомендует:  Выпадающее меню

Или просто отключите анонимную аутентификацию и включите Basic Auth. Затем предоставите достаточные привилегии пользователю, который будет аутентифицировать сервер, и код должен работать нормально.

IIS API — создание виртуальных каталогов?

Просто ищите соответствующую документацию. Пример не нужен, но будет оценен.

У нас есть ситуация, когда нам приходится вручную создавать 100 виртуальных каталогов, и кажется, что автоматизация будет хорошим способом сделать процесс более эффективным.

Возможно, в следующем году мы сможем переработать серверную среду, чтобы позволить чему-то более разумному, например переписывание URL-адресов (к сожалению, это не представляется возможным в текущем цикле веб-приложения). Разве не здорово наследовать код дерьма?

Очевидно, вы также можете сделать это с помощью сценариев PowerShell:

Это проще сделать с помощью vbscript.

НЕ ИСПЫТАН (со старой базы кода и написанной моим бывшим моим подрядчиком)

Средство установки WIX создает способ управления этим — вы определяете их как часть инструкций сборки установки. Он делает некоторые работы, чтобы настроить весь проект, но после этого обслуживание должно быть легким. Вот выдержка из учебника по созданию записей в Virtual Directory.

6.3 Веб-каталог

Набор инструментов WiX имеет дополнительные библиотеки, которые позволяют установщику выполнять дополнительные задачи, такие как создание веб-каталога в IIS. Чтобы использовать эти расширения, все, что вам нужно сделать, это связать с соответствующей библиотекой WiX. Компилятор автоматически включит необходимые вспомогательные библиотеки DLL в установочный пакет.

Сначала мы должны создать веб-сайт с файлами, принадлежащими ему:

Следующим шагом будет создание виртуального каталога:

Наконец, создайте запись для ссылки на веб-сайт:

Iis создание виртуальных каталогов

1047 просмотра

1 ответ

1922 Репутация автора

Я пытаюсь создать виртуальные каталоги в IIS 6.0 программным способом и испытываю проблемы с проверкой, существует ли виртуальный каталог, если виртуальный каталог находится во вложенной папке.

Так что, если у меня есть дерево папок, например:

Когда я беру объект DirectoryEntry для этой метабазы ​​сайта:

Объект DirectoryEntry (назовем его entry) будет иметь двух детей, с

но entry.Children [1] .Name = «Папка B», которая не является виртуальным каталогом. Я должен сделать следующее (код), чтобы добраться до любых виртуальных каталогов во вложенных папках:

Что для меня довольно некрасиво. Есть ли лучший способ проверить существующие виртуальные каталоги, если они существуют в подпапках?

Ответы (1)

1 плюс

17468 Репутация автора

Вы ищете рекурсивную функцию для итерации всего сайта?

IIS API — Создание виртуальных каталогов?

Просто глядя на соответствующую документацию. Пример не является необходимым, но буду оценен.

Мы имеем ситуацию, когда мы вынуждены создавать 100s виртуальных каталогов вручную, и, кажется, автоматизируя это будет хорошим способом, чтобы сделать этот процесс более эффективным на данный момент.

Возможно, в следующем году мы можем переработать серверную среду, чтобы позволить что-то более вменяемое, такие как переписывание URL (к сожалению, это не представляется возможным в текущем цикле веб-приложения). Разве это не здорово, чтобы наследовать код дерьмо?

Это легче сделать это с VBScript тоже ..

Очевидно, вы также можете сделать это с помощью сценариев PowerShell:

НЕ ПРОВЕРЕНО (от старой кодовой базы и написано бывшим подрядчиком шахты)

Инструмент Установщик WIX создает способ управления этим — вы бы определить их как часть инструкции установки сборки. Это сделать какую-то работу, чтобы получить весь проект сконфигурированного, но после этого технического обслуживания должна быть ветром . Вот отрывок из учебника по созданию записей виртуального каталога .

6.3 Web Directory

Набор инструментов WiX имеет дополнительные библиотеки, которые позволяют установщику выполнять дополнительные задачи, как создание веб-каталога в IIS. Для того, чтобы использовать эти расширения, все, что вам нужно сделать, это связать с соответствующей библиотекой WiX. Компоновщик будет включать необходимые вспомогательные библиотеки DLL в пакет установки автоматически.

Во-первых, мы должны создать веб-сайт с файлами, принадлежащие к нему:

Следующим шагом является создание виртуального каталога:

И, наконец, создать запись для ссылки на веб-сайт:

IIS7 Создание виртуального каталога для файлов на другом сервере

Я перевожу некоторые ASP. Чистые приложения от IIS6 до IIS7 и все прошло хорошо до сих пор. Я пытаюсь создать несколько виртуальных каталогов на одном сервере, которые будут указывать на файлы на другом сервере. В IIS6 все, что мне нужно было сделать, это заставить анонимную аутентификацию использовать пользователя, который имел доступ к файлам. В IIS7 я не могу заставить его работать. Я настраиваю виртуальный каталог с именем пользователя и паролем, но получаю 500. 19 ошибка «Не удается прочитать файл конфигурации из-за недостаточных прав доступа». Я не могу себе представить, что мне действительно нужно поставить веб. Конфигурация в каталоге, который просто содержит изображения и без файлов приложений. Если я нажимаю на каталог в диспетчере IIS, я получаю эту ошибку о сети. Конфигурационный файл на все, что я нажимаю, такие как раздел аутентификации. Кроме того, запись в файлы из виртуального каталога, кажется, работает нормально, поэтому я не думаю, что в любом случае у меня есть проблемы с доступом. Я дал каталогу доступ к группе IIS_IUSR.

1 ответов

При использовании виртуального каталога, который указывает на общий ресурс UNC, перейдите к дополнительным настройкам виртуального каталога, а затем выберите конкретную учетную запись пользователя, которая имеет соответствующие права для доступа к папке. Это работает для моего виртуального каталога в моем asp. Сетевое приложение, которое указывает на общий ресурс UNC на удаленном сервере.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL