Битва с «сумрачным гением» или Microsoft-HTTPAPI/2.0 наносит первый удар

    Как-то раз, вернувшись из отпуска, вдоволь натунеядствовавшись, решил я сваять что-то божественное на PHP. Открыл свой любимый Denwer и поразился неожиданной перемене: Apache напрочь отказался слушать 80-й порт, а значит, мои благородные намерения на этот вечер оказались под угрозой срыва. Ситуация, в общем-то, довольно банальная — сразу же в голове сработал заветный триггер: Skype! Однако к моему удивлению, Skype тут же объявил о своей непричастности к данному инциденту отсутствием галочки напротив соответствующей настройки. Чтобы окончательно проверить алиби зарубежного видеотелефона я решил посмотреть, кто же все-таки в данный момент слушает 80-й порт.

    Увиденное не прибавило мне оптимизма, а, скорее, заставило почесать макушку в задумчивости:

    Активные подключения

    Имя Локальный адрес Внешний адрес Состояние PID
    TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
    Не удается получить сведения о владельце
    TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 900
    RpcSs
    [svchost.exe]
    TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
    Не удается получить сведения о владельце
    TCP 0.0.0.0:990 0.0.0.0:0 LISTENING 2428
    WcesComm
    [svchost.exe]
    TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4
    Не удается получить сведения о владельце


    Стало понятно — на компьютере действуют незаконные вооруженные бандформирования. Причем действуют партизанскими методами, так как PID=4 принадлежал процессу System.
    Первая мысль пришла совершенно случайно: если порт кто-то слушает, то возможно он туда что-то и отвечает, потому, вооружившись связкой Firefox+Firebug, я послал запрос на localhost. Как ни странно шальная мысль дала свои плоды. Неведомый враг ответил:

    Заголовки ответа

    HTTP/1.1 404 Not Found
    Content-Type: text/html; charset=us-ascii
    Server: Microsoft-HTTPAPI/2.0
    Date: Sat, 25 Sep 2010 11:20:20 GMT
    Connection: close
    Content-Length: 315


    Итак имя подозреваемого (или его сообщника) прояснилось: Microsoft-HTTPAPI/2.0. Зверь для меня новый, до этого момента незнакомый, потому решено было отправится на просторы всемирной паутины за информацией. Гугление, вопросы в Хабр-Q&A и askdev.ru в общем, особой пользы не принесли. В основном народ указывал на некий Reporting Services из состава MS SQL Server либо остатки IIS в системе. Ни того, ни другого у меня отродясь не было (хотя на всякий случай я все же проверил эти версии усиленным поиском по именам файлов). Так что перспектива вырисовывалась нерадужная — троян или червячок. Следующие несколько дней (точнее вечеров) я провел в безуспешных поисках «нежелательного программного обеспечения» при помощи различного антивирусного ПО. Результатов не было. Вдалеке замаячил призрак полной переустановки системы.

    Вместе с тем, вопросы к уважаемому сообществу не были напрасны: один товарищ предложил тупо удалить файл c:\Windows\System32\httpapi.dll, так как именно он ответственен за все чинимые беззакония. Удалять библиотеку, я конечно, не стал, однако файлик взял на заметку. Обвешавшись утилитами от SysInternals, я ринулся в бой:

    C:\Windows\system32>tasklist /M httpapi.dll

    Имя образа PID Модули
    ========================= ======== ============================================
    svchost.exe 1328 HTTPAPI.dll
    svchost.exe 2628 HTTPAPI.dll
    svchost.exe 3856 HTTPAPI.dll


    tasklist — это стандартная утилита Windows, в сущности, консольный Диспетчер Задач. С ключом /M позволяет увидеть какие процессы используют заданную библиотеку. Стали ясны «непосредственные исполнители». Далее запустив Process Explorer от SysInternals, я нашел процессы с заданными идентификаторами. Открыв диалог свойств, на вкладке Services я увидел довольно много различных служб Windows, которые были зарегистрированы в данных процессах. Служб было много, так что выбора не было — я отключил все, чтобы просто проверить правильность своей догадки. Среди служб были такие: Смарт-карта, BranchCache, Политика удаления смарт-карт, прослушиватель домашней группы, Обнаружение SSDP, Хост поставщика функции обнаружения и пр. Всего около 15. После перезагрузки у меня отказалась работать локальная сеть (правда интеренет все-таки работал), однако к моей радости 80-й порт освободился. После этого оставалась рутина: поочередно включать только что отключенные службы и проверять, не занят ли 80-й порт. Тут необходимо сделать небольшую ремарку: то, что несколько служб зарегистрировано в процессе, который слушает некий порт, совсем не означает, что все эти службы слушают этот порт. Просто они оказались «не в то время, не в том месте». Таким образом злоумышленник был выявлен достаточно точно: им оказалась служба BranchCache, которая, как следует из описания: кэширует сетевое содержимое, полученное от кэширующих узлов локальной подсети.

    Ну а дальше — дело техники. В MSDN было нарыто руководство по BranchCache, из которого следовало, что BranchCache может работать в различных режимах: выделенного сервера (в качестве сервера нужна машина с Windows Server 2008 R2) и распределенного хранения (может работать на обычных версиях Windows 7). Соответственно предстояло выполнить две вещи: сменить порт и установить режим работы в качестве распределенного хранилища:

    REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\PeerDist\DownloadManager\Peers\Connection" /v ListenPort /t REG_DWORD /d 4455 /f

    REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\PeerDist\DownloadManager\Peers\Connection" /v ConnectPort /t REG_DWORD /d 4455 /f

    netsh br set service mode=distributed


    После этого включаем обратно BranchCache и удостоверяемся, что 80-й порт свободен (теперь слушается порт 4455). Боевая задача успешно выполнена.

    UPD: По просьбам товарищей в комментариях, сообщаю, что BranchCache — это обычная служба Windows. Отключить ее можно поставив Тип запуска: «Отключена» в параметрах. По умолчанию, эта служба имеет тип запуска «Вручную» и запускается по требованию приложений. Так что у большинства пользователей она должна быть отключена сразу.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 124

      +1
      ну вы бы описали, зачем это штука нужна…
        +2
        Я вкратце указал: BranchCache кэширует сетевое содержимое. Вообще вещь хорошая. Если в локальной сети несколько компов лазят на один сайт, то после первого захода сайт кэшируется в общем кэше — в результате сплошной профит для всех. Кэш, кстати, раздается peer-to-peer.
          +4
          Интересное назначение… Malware ещё не использует это для раздачи баннеров на все (в том числе не зараженные) машины в локальной сети?
            +4
            Странное решение при наличии обычных прокси серверов. И дополнительные расходы на передачу служебной информации между клиентами (анонимность, видимо, тоже втопку)
              +3
              Вот тут: habrahabr.ru/company/microsoft/blog/99422/ есть блог от Самого Майкрософта с описанием, что же такое BranchCache
                –5
                походу, автор спалился. Этот BranchCache работает только на винде Ultimate или Enterprise, что вместе со всем остальным написанным с большущей вероятностью говорит о пиратской максимальной винде на домашней тачке ;)
                  +2
                  Ну почему же? :) Вот у меня дома стоит честный Enterprise — раздают на работе всем сотрудникам. Может, и здесь что-то похожее.
                    –8
                    ваш случай весьма нетипичен. Николаев у нас не является большим центром аутсорсинга, скорее всего и ентерпрайз-винду конторы из Николаева своим не покупают.
                    Но это возможно, конечно. Я просто взвесил вероятности ;)
                    +2
                    походу, автор спалился

                    Когда ждать пативэн?
                      +5
                      эм… и с каких это пор нелицензионная винда является чем-то стыдным, о чем можно «спалиться»?
                        0
                        Если и решу покупать 7, то это будет «Максимальная». Пока честно купленной лет 10 назад XP Pro хватает
                          0
                          максимальная стоит около 300 баксов. Лично я за такие деньги лучше куплю себе запасной нетбук. А вот когда будет нормальная цена, то можно и Максимальную.
                            0
                            Я не настолько богат, чтоб покупать дешёвые вещи :) Если уж платить за ОС, то пускай она работает на все 100.
                            • UFO just landed and posted this here
                                0
                                То, что дарят бесплатно и так есть, вот только не всё под ним работает :(

                                А вообще имелось в виду не отсутствие багов, а наличие фич. Я с полгода сидел под RC ultimate, потом глянул список фич в разных редакциях — кое чего будет не хватать
                                • UFO just landed and posted this here
                                0
                                Хм, я вот на работе (сисадмин) использовал Линукс, и он работал на все 100. И между прочим для работы с сетью Линукс подошёл намного лучше, чем самая дорогая Винда — за счёт большего набора инструментов (например, whois, host).
                                А что касается Винды, то краденая работала у менеджеров на 90%. Кроме обновления, которое надо контролировать, всё было в порядке.
                                В принципе, я за покупку компов сразу с лицензионной Виндой. Так админам намного проще :) Но покупать Enterprise? Вот скажите, какие вы сознательно используете дома возможности Винды, которых нет в Home Premium?
                      • UFO just landed and posted this here
                          +2
                          На самом деле фича создавалась для удаленных подразделений (branch) больших компаний (и соответственно включена только в Enterprise/Ultimate). Причем в основном для кеширования документов.
                          +1
                          Обычные прокси серверы кешируют по адресу, branch cache — по содержимому. Это больше похоже на p2p сети, чем на прокси.
                        +6
                          +3
                          запоздал, прошу прощения
                      • UFO just landed and posted this here
                          0
                          Вы имеете в виду саму систему Windows, ее идеологию и интерфейс? Да, она не идеальна, но уж какая есть. А насчет порта, как я уже указал в начале топика, порт был навешан внезапно и недавно, то есть кто-то его навесил. Кто, я не знаю, этот факт остался для меня тайной, к сожалению.
                          • UFO just landed and posted this here
                              0
                              А что у Вас за система, что на 80-ый порт может претендовать только Apache и Apache2?
                              • UFO just landed and posted this here
                                  0
                                  Это не заморочка BranchCache. Проблем с настройкой серверов на 80-ый порт не проблема в любой системе. Танцы с реестром везде, в данном случае, ± одинаковые:
                                  1) Посмотреть кто слушает порт
                                  2) Почитать как это конфигурируется
                                  3) Настроить на другой порт или отключить

                                  Какая разница что за система или проблема, что настройки не в в файле, а в реестре. Прямые руки в любой системе нужны и важны. Автор молодец, что привел типовой алгоритм действия в подобной ситуации.
                                  • UFO just landed and posted this here
                                      0
                                      Ваш комментарий да разработчикам Skype в уши =)
                                      • UFO just landed and posted this here
                                          +1
                                          Скайп 80-ый порт занимает только если это явно указать в настройках… да и сделано это с вполне определенной целью — обход фаерволов, в которых бывает закрыто все, кроме 80-ого и еще пары портов.
                                            0
                                            Win-версия 4.0.32.226 порт 80 и 443 отмечены в качестве стандартных альтернативных. Третьи версии все устанавливали эту опцию по-умолчанию.

                                            Сам когда-то долго имелся, когда локальный apache перестал стартовать — оказалось что по какой-то причине Skype стал стартовать быстрее, чем apache…
                                          0
                                          Решение быстрее всего принималось на основании того что это веб-сервис торчащий в стеку. И ему логично находится на 80м порту. Тоже самое и с WinRM (первой версии), он тоже шарит 80й порт. И тоже потому что это веб сервис.
                                          • UFO just landed and posted this here
                                              –8
                                              На какие это еще стандарты они забили? В чем осложнение работы пользователя? И что это за нелеминг который програмит на платформе незная ее особенностей? Почему у меня таких проблем не возникает? И чего вы отдали 8080 или 3128? Это же не прокси. Зачем занимать еще один порт для веб-сервиса если платформа позволяет шарить порт 80?
                                              • UFO just landed and posted this here
                                                  0
                                                  Не ради поддержки решения разработчика, а только ради желания понять, предполагаю, что их логика была следующей:
                                                  — этот сервис нужен тем, у кого нет квалифицированного админа, умеющего ставить кеширующий прокси, а следовательно нет навыка установки IIS и прочих девелоперских сервисов
                                                  — этот порт не перекрыт дефолтными настройками виндового брандмауера. для других портов пришлось бы задавать неподготовленному пользователю слишком сложные вопросы.

                                                  оговорюсь еще раз — решение, как и вы считаю неудачным.
                                                  • UFO just landed and posted this here
                                                    0
                                                    Я ниже описал как этот порт шаринг работает. Вам должно быть интересно.
                                                    • UFO just landed and posted this here
                                                        +1
                                                        Я вам ничего не продаю. Я вам попытался обьяснить как это делал бы человек который шарит в платформе под которую пишет.

                                                        П.С. Вообще этот «посредник» позволяет на 80м порту одновременно хостить и Апач и ИИС.
                                                    –1
                                                    >На какие это еще стандарты они забили?
                                                    Распределения портов
                                                    >В чем осложнение работы пользователя?
                                                    Пользователь не может запустить свой софт.
                                                    >И что это за нелеминг который програмит на платформе незная ее особенностей?
                                                    Веб разработчик. Он не обязан знать тонкости администрирования платформы на которой «внезапно» и без предупреждения появляется всякая хрень от которой всё встаёт колом.
                                                    >Зачем занимать еще один порт для веб-сервиса если платформа позволяет шарить порт 80?
                                                    ??? Вы же видите — не позволяет.
                                                      +1
                                                      Не тупите, уже триста раз ответили, что Апач нормально не потдерживает Винду. Это проблема Апача, а не Винды. Читайте ниже.
                                                        0
                                                        Да понятно уже, что все — пи… пи… пи.., один вынь — д'Артаньян. Вполне очевидно, что шарить порт эта поделка умеет только с иисом :) — других ведь веб-серверов на свете не существует. Про «не поддерживает венду» поржал. Сколько лет поддерживал? Больше десятка? И «внезапно» перестал? Чудеса, да и только!
                                                          +1
                                                          Вот чего меня всегда поражало в прыще… линуксоидах, так это способность с надменным видом нести полнейшую херню, даже не пытаясь разобраться.
                                                          На какие это еще стандарты они забили?
                                                          Распределения портов

                                                          А с каких это пор (и в каком стандарте) 80 — нестандартный порт для HTTP?
                                                          Пользователь не может запустить свой софт.

                                                          Уже тыщу раз объяснили. Проблема в том, что апач не использует стандартные API
                                                          Веб разработчик. Он не обязан знать тонкости администрирования платформы на которой «внезапно» и без предупреждения появляется всякая хрень от которой всё встаёт колом.

                                                          Не обязан. Если уж на то пошло, «веб-разработчик» может отдать апачу какой нибудь ДРУГОЙ порт в экслюзивное пользование, а 80-й оставить для нормальных приложений.
                                                          ??? Вы же видите — не позволяет

                                                          Ога, не позволяет
                                                            –1
                                                            >Вот чего меня всегда поражало в прыще… линуксоидах, так это способность с надменным видом нести полнейшую херню, даже не пытаясь разобраться.
                                                            У вас какой-то линуксоид девушку что ли увёл? Эт правильно, продолжайте давить свои прыщи на людях и не такое случиться.
                                                            >А с каких это пор (и в каком стандарте) 80 — нестандартный порт для HTTP?
                                                            Вы всерьёз полагаете, что кеширование каких-то внутренних данных каких-то мутных служб каких-то локальных сетей, это именно то, для чего был разработан HTTP? Колотьба орехов микроскопом.
                                                            >Уже тыщу раз объяснили. Проблема в том, что апач не использует стандартные API
                                                            Насколько я понимаю, стандартным образом использует стандартный стек протоколов, в своё время цельнотянутый микросовтом из какого-то клона bsd. В этом нет никакого криминала. А вот хвалёная миркосовтовая «обратная совместимость» — не более, чем маркетоидная берхня, выходит. Что наглядно показано в топике. Всё остальное значения не имеет — через жопу можно и гланды вырезать, порыться в бинарном реестре, позапускать всякие хаки и решить проблему — слава аллах акбару, что решение всё-таки существует. Только это и радует.
                                                            >Если уж на то пошло, «веб-разработчик» может отдать апачу какой нибудь ДРУГОЙ порт в экслюзивное пользование, а 80-й оставить для нормальных приложений.
                                                            Если уж на то пошло, для служебных целей сложной внутренней жизни операционки можно было выделить какой-нибудь ДРУГОЙ порт, не такой популярный. Впрочем, фигня это всё, запускть апач на венде всё-равно извращение то ещё, так что кто выбрал этот пусть себе мучаются… Просто за этими граблями на ровном месте так весело наблюдать :)…
                                                              +1
                                                              У вас какой-то линуксоид девушку что ли увёл? Эт правильно, продолжайте давить свои прыщи на людях и не такое случиться.

                                                              Говоришь на меня — переводишь на себя. Классика. Правда детсадовская
                                                              Вы всерьёз полагаете, что кеширование каких-то внутренних данных каких-то мутных служб каких-то локальных сетей, это именно то, для чего был разработан HTTP?

                                                              И СРАЗУ ЖЕ подтверждаете мои слова. Загляните в /etc/services. Напомните мне, пожалуйста, там прописан apache или все таки http? Посмотрите на пост — там приведены http-заголовки. Поясните какой же именно стандарт нарушен.
                                                              После того, как Вы справились с вышеприведенными заданиями, напишите в «General Web services discussions» <www-ws@w3.org>, что Вы категорически не согласны с их видением предназначения http. После того, как добьетесь закрытия WS направления в w3c начинайте рассылать письма в ebay, amazon и прочим, чтоб они немедленно привели свои API в соответствие с Вашим видением HTTP.
                                                              Насколько я понимаю, стандартным образом использует стандартный стек протоколов, в своё время цельнотянутый микросовтом из какого-то клона bsd

                                                              Неудивительно, но Вы понимаете неправильно. Вам не только технологии стоит подтянуть, но и историю.
                                                              А вот хвалёная миркосовтовая «обратная совместимость» — не более, чем маркетоидная берхня, выходит. Что наглядно показано в топике.

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

                                                              И где же здесь «через жопу»? В том что Apache Foundation за почти десять лет не может асилить API? Про реестр — особенно понравилось. Это такой маркер, по которому сразу же видно школьников, категорически не разбирающихся в вопросе.
                                                              Если уж на то пошло, для служебных целей сложной внутренней жизни операционки можно было выделить какой-нибудь ДРУГОЙ порт, не такой популярный

                                                              Это с чего бы? Неймспейсы разделены разными урлами. Происходит то же самое что и в апачевых (на всякий случай отмечу, что и в IIS-овых тоже) виртуальных хостах, но с более гибким интерфейсом: цепляться на определенный URL может не только Apache/IIS, но и все остальные. Веб-сервисы используют http (чаще всего, хотя доступен и net.tcp, но это другой разговор), порт для http — 80. В чем конкретно Ваши претензии, кроме того, что «ололо эта жы микро$$офт».
                                                                –1
                                                                >Правда детсадовская
                                                                Так вы из детсада?? О-о-о! Это такой маркер возрастной — когда оппонент вместо аргументов и сведений начинает хамить. Старшая хоть группа или в средней зависли?
                                                                >И СРАЗУ ЖЕ подтверждаете мои слова. Загляните в /etc/services. Напомните мне, пожалуйста, там прописан apache или все таки http?
                                                                Слова ваши неясны. Вы о чём, собственно? При чём здесь апач?
                                                                >категорически не согласны с их видением предназначения http
                                                                Не нашёл там ничего касабельно использования http для целей кеширования продуктов внутренней жизнедеятельности операционной систеы в условиях локальной сети.
                                                                >начинайте рассылать письма в ebay, amazon и прочим, чтоб они немедленно привели свои API в соответствие с Вашим видением HTTP.
                                                                В соответствии с ВАШИ видением? Разве ebay amazon и прочие используют http для кеширования какого-то барахла, производимого их операционками? Напомните, кстати, что за операционки разработали ebay и amazon?
                                                                >Многоуважаемый иксперт, расскажите же мне, где здесь нарушение «обратной совместимости».
                                                                Ви идиод? Апач пользуется Berkley Soket API, поддержка которого задекларирована миркозовтом. У них даже длл-ина была с названием на berkley — именно этим и занималась. Теперь оказывается, что он неправильно как-то им пользуется?
                                                                >И где же здесь «через жопу»? В том что Apache Foundation за почти десять лет не может асилить API?
                                                                Вы всё-таки определитесь ужо, миркосовт таки отказалась от поддержки Berkley Socket API (тогда о чём предыдущий вопрос) или таки всё ещё нет (тогда о чём этот вопрос)?
                                                                >Про реестр — особенно понравилось. Это такой маркер, по которому сразу же видно школьников, категорически не разбирающихся в вопросе.
                                                                Ну, вот вы разбираетесь, отчего же не написали как сделать то же самое не через редактирование реестра?
                                                                >Это с чего бы?
                                                                То есть это теперь такой миркосовтовый тренд — вообще всё сетевое взаимодействие вешать на http? У меня в упомянутом вами /etc/services больше 1000 строчек. Да не проблема обернуть их все в веб-сервисы и повесить на 80 порт. А, что, неймспейсы разделить разными урлами и хоккей. Но… ЗАЧЕМ???
                                                                >В чем конкретно Ваши претензии, кроме того, что «ололо эта жы микро$$офт»
                                                                Бессмысленная беспощадность образа действий.
                                                                  +1
                                                                  Так вы из детсада?? О-о-о

                                                                  Опять говоришь на меня — переводишь на себя. Выучи уже что нибудь новое типа «Ехали цыгане, кошку потеряли...»

                                                                  Слова ваши неясны. Вы о чём, собственно? При чём здесь апач?

                                                                  Ну и еще одно подтверждение абсолютной неспособности линуксоидов воспринимать написанное.

                                                                  Не нашёл там ничего касабельно использования http для целей кеширования продуктов внутренней жизнедеятельности операционной систеы в условиях локальной сети.

                                                                  Это неудивительно. Ведь Вы только учитесь читать. Ну ничего — классу к четвертому начитесь. Если нет — то уже вряд ли получится.

                                                                  Разве ebay amazon и прочие используют http для кеширования какого-то барахла, производимого их операционками?

                                                                  ОХЧОРТ. Даю хинт: Web Services. Или даже так: WEB SERVICES. Ферштейн? XML-RPC (поясните, как Вы понимаете акроним RPC) -> SOAP. Последний используется, на минуточку, в WEB SERVICES. Ну и еще на всякий случай для линуксоидов: WEB SERVICES

                                                                  Ви идиод? Апач пользуется Berkley Soket API, поддержка которого задекларирована миркозовтом.

                                                                  Непробиваемый дегенерат. Ну занял http.sys «вась-ми-дисятый» порт. Где нарушение совместимости?

                                                                  У них даже длл-ина была с названием на berkley — именно этим и занималась

                                                                  Иксперты такие иксперты, лол.

                                                                  Теперь оказывается, что он неправильно как-то им пользуется?

                                                                  Да.

                                                                  Вы всё-таки определитесь ужо, миркосовт таки отказалась от поддержки Berkley Socket API (тогда о чём предыдущий вопрос) или таки всё ещё нет (тогда о чём этот вопрос)?

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

                                                                  Ну, вот вы разбираетесь, отчего же не написали как сделать то же самое не через редактирование реестра?

                                                                  Вы не писали про редактирование реестра. Вы писали про «бинарный реестр». Это словосочетание очень любит школота, влюбленная в тектовые конфиги.

                                                                  То есть это теперь такой миркосовтовый тренд — вообще всё сетевое взаимодействие вешать на http?

                                                                  Ну и еще раз. WEB SERVICES! WEB SERVICES! WEB SERVICES! Вы бы потрудились пояснить при чем здесь Майкро$$$$$офт (хинт для линуксоидов: WEB SERVICES разрабатывается www consortium-ом)

                                                                  Бессмысленная беспощадность образа действий.

                                                                  Пояснение не получилось — попробуйте еще раз.
                                                    +1
                                                    Линуксоиды такие линуксоиды.
                                                    С одной стороны у них веб-сервисы — нарушение «стандарта де-факто». С другой сам линукс — ни разу не нарушение.

                                                    Ну и самое забавное во всем этом то, что следуя единожды заученной мантре про «индусов в Майкрософте» разбираться в конкретных технологиях уже необязательно.
                                                    BranchCache — не «кеширующий сервер веб-контента». Веб-сервисы ВООБЩЕ не кешируют контент, а являются NAT-friendly (не считая прочих плюшек) протоколом удаленного вызова процедур. Сервис, который принимает команды по WS-* может быть любым и в частности BranchCache кеширует в основном документы, а не веб страницы причем кеширует по содержимому, а не по адресу/названию
                                        0
                                        А все же интереса ради, почему все таки на 80 порт то?
                                          0
                                          Я не вешал BranchCache на 80-й порт. Каким образом он там оказался, я не знаю. Я же написал уже.
                                          • UFO just landed and posted this here
                                            0
                                            Возможно от того, что этот порт обычно разрешён, а обращение к нестандартному порту может вызвать подозрения у мнительных файрволлов.
                                              +3
                                              Возможно, но по такой логике, против сомнительных фаерволов, следует всё всё всё вешать на 80 порт?
                                              Я вот правда заинтересовался, чем руководствовалась майкрософт, когда выбирала 80 порт?
                                                0
                                                Скорее всего MS полагает, что на Windows 7 (которая как бы является клиентской ОС) 80-й порт всегда свободен и никто не должен запускать там Web-сервер. Как указано здесь (http://technet.microsoft.com/en-us/library/dd837646(WS.10).aspx) клиентский кэш слушает 80-й порт, то есть выступает сам в качестве прокси-сервера по умолчанию.
                                                  +1
                                                  >Скорее всего MS полагает, что на Windows 7 (которая как бы является клиентской ОС) 80-й порт всегда свободен и никто не должен запускать там Web-сервер.

                                                  Так и вижу года через 3-4: «Вы используете домашнюю версию Windows, поэтому не можете запускать серверные приложения. Для запуска серверных приложений Вам нужно приобрести Windows Server 2012».
                                                    0
                                                    На самом деле, это мое предположение было глупостью. Ниже, люди, разбирающиеся во внутренностях системы чуть больше моего, уже подсказали, что Windows позволяет навешать несколько приложений на один порт (просто с разными URL), но Apache такую возможность не поддерживает.
                                                      0
                                                      Windows позволяет навешать несколько приложений на один порт (просто с разными URL), но Apache такую возможность не поддерживает.
                                                      Вы так шутите? Вообще Apache был первым (и долгое время единственным) веб-сервером, который поддерживал работу на одном IP и TCP-порту сразу множества сайтов с разруливанием обращений по DNS-имени в HTTP-запросах. И он до сих пор не разучился так делать.

                                                      Посмотрите фильм «Revolution OS», там упоминается эта фича Apache, и говорится что это была на тот момент просто killer-фича, т.к. тогда был бурный рост хоум-сайтов и сайтов компаний, а эта фича позволяла хостерам не поднимать на каждый ерундовый сайт дополнительные серверы и IP-адреса, а держать на одном мощном сервере с Linux+Apache кучу разных мелких сайтов.
                                                        0
                                                        Мне кажется Вы путаете «проложений» и «сайтов».
                                                        msdn.microsoft.com/en-us/library/aa364510(VS.85).aspx
                                                        Речь здесь о том, чтобы куча мелких приложений/сервисов могла использовать HTTP для работы, но при этом не требовала достаточно тяжеловесного IIS/Apache.
                                                          0
                                                          Вы не так поняли, http.sys позволяет нескольким независимым процессам реализовать http-server, у них буду просто разные пути/url. Например, все запросы типо localhost/mywebsite/* — будут форвардится в IIS, а localhost/mywebservice/* — будет приходить в вашу программу, написанную на C++ или C#.

                                                          Это совсем не то, что делает Апач, захостив несколько разных сайтов на одном порту.
                                                            0
                                                            Это совсем не то, что делает Апач, захостив несколько разных сайтов на одном порту

                                                            Я бы немного смягчил формулировку. Вместо «это совсем не то» стоит поставить «это не совсем то». Ну то есть это таки «то» — демультиплексированине запросов к разным сервисам, но в данном случае легковесный «демультиплексор» отделен от собственно all-in-one обработчика и предоставляет собственный интерфейс. Apache же — тот самый all-in-one комбайн, который нужно поднимать (и перезапускать) каждый раз при отладке веб-сервиса, к примеру.
                                                      0
                                                      В клиентскую Windows 7 в поставку включен IIS. Суть в том, что BranchCache — это веб-сервис, а все остальные могут спокойно шарить с ним порт. То что денвер этого не делает — проблема скорее денвера.
                                                      • UFO just landed and posted this here
                                                          0
                                                          > Дальше без меня ;)

                                                          Что… страшно стало..., когда… шарящие люди… подтянулись...?
                                                          Беги… красноглазый… беги! ;)
                                                          • UFO just landed and posted this here
                                                            0
                                                            Ага, когда ответить по существу нечего остается только «обижаться». В добрый путь. Не забудьте на ночь 0644 раза повторить LinuxIsPerfect™
                                                0
                                                а вам не надо волноваться, если у вас не Enterprise или Ultimate винда. В других версиях этой технологии просто нет.

                                                > Каким же ж нужно быть идиотом, чтоб на стандартный порт WEB-сервиса
                                                подвесить какую-то хренЬ…

                                                думаю, не меньшим идиотом надо быть, чтобы покупать домой Enterprise/Ultimate винду ;)
                                                • UFO just landed and posted this here
                                                    0
                                                    ну выбора-то нет. Каждый раз при обновлении мажорных версий в любом софте добавляется какая-то нездоровая фигня. Например, Опера с какой-то из 9-ых версий слушает кучу портов, даже если Unite не включать. Вот на кой браузеру слушать порты? Браузер же не сервер. Так и с остальными прогами.
                                                    • UFO just landed and posted this here
                                                        0
                                                        я со всем согласен, кроме приравнивания винды к что попало :)
                                                        Да, я тороплюсь использовать «самое-самое», потому что в этих программах меньше уязвимостей, а я очень не хочу быть сражённым вирусом. Обновление в наше время — это просто жизненная необходимость.
                                                        • UFO just landed and posted this here
                                                            0
                                                            несогласен я с отсутствием необходимости обновлять: secunia.com/advisories/search/?search=opera
                                                            В новой версии новые ошибки, но эти новые ошибки еще не используются. А старые-то используются точно.
                                                            0
                                                            В новых программах уязвимостей не меньше, их там просто пока еще не нашли ^^

                                                              0
                                                              Кстати уже лет 5 не пользуюсь антивирусами на постоянной основе — вирусов нету. И да, я в этом уверен т.к. периодически проверяю комп на их наличие + вижу сетевые соединения в админке роутера и там нет ничего лишнего.
                                                              Мне вообще всегда казалось что эта «вирусная опасность» сильно преувеличена и чересчур распиарена. Достаточно минимальной компьютерной грамотности и аккуратности, чтобы ничего не «поймать». Да, есть какой то исчезающе малый шанс нарваться на 0-day уязвимость в браузере/плагине и так повезет что зайдешь на сайт, который её эксплуатирует, но если не хранить на компьютере секреты пентагона то этой вероятностью вполне можно пренебречь… Т.к. все равно есть бэкапы и полная переустановка системы с восстановлением настроек займет минут 30-40.
                                                                0
                                                                я про антивирусы и не писал ничего. А вот всегда обновлять программное обеспечение типа браузера, флэша, пдф-ридера — это делать необходимо.
                                                              • UFO just landed and posted this here
                                                        +2
                                                        Именно потому, что этот порт стандартный, в Windows заранее продумана возможность совместного использования этого порта.
                                                        То, что висит сейчас на этом порте у ОП, это и есть тот компонент, который делает sharing.

                                                        Перефразирую вас — каким надо быть идиотом, чтобы на стандартный порт WEB-сервиса вешаться в монопольном режиме…
                                                          +2
                                                          Это я об Apache, если что :)
                                                          • UFO just landed and posted this here
                                                              +1
                                                              Yeah вынес для себя чето новое, ему респект. А кое-кто так и остнется в танке.
                                                              • UFO just landed and posted this here
                                                                +1
                                                                Фича была внедрена в лохматом 2003 году в Windows Server, и в 2004 году в Windows XP SP2.
                                                                Внедрена для того, чтобы разрешить конфликты между приложениями, реализующими HTTP server.

                                                                Или вы думаете, что Apache — единственная прога, которой нужен 80 порт? А IIS приложения? А native Web-services?

                                                                Сейчас любой приложение, реализующее сервисы без проблем может зарегистрировать свой endpoint на 80 порту и спокойно отрабатывать свои команды, никому не мешая…

                                                                По-моему гениальное решение. А то, что стороннее ПО за 7 лет не удосужилось подправить свой софт хотя бы под XP SP2 — это по-вашему проблема Микрософтов?
                                                                  0
                                                                  Собсно какараз http.sys позволяет и Апач разроутить. Просто надо зарегенить фейковый лупбек адрес и пустить его на Апач. Хорошо хоть Апач не забирает все айпи адреса ;).
                                                                  0



                                                                0
                                                                Извините, а причем тут винда?
                                                                +11
                                                                А потом еще говорят что линукс сложный, непонятный, и не дружелюбный…
                                                                  0
                                                                  А какой классный стиль изложения!!! :)

                                                                  Вы для журналов писать не пробовали? Или документацию для ПО (если посерьезнее, но настолько же коротко и ясно)? Я серьезно вполне
                                                                    0
                                                                    Спасибо. Нет, не пробовал. Я прожженный технарь, так что у меня даже знакомств среди ГСМ особо нет. Потому и предложений не было.
                                                                      0
                                                                      Если подвернется случай — попробуйте пользовательску документацию писать. Интересное занятие :)
                                                                        +1
                                                                        > у меня даже знакомств среди ГСМ особо нет.

                                                                        Я тоже как-то не очень дружу с горюче-смазочными материалами.
                                                                          0
                                                                          На тот случай, если это не ирония, то под ГСМ имеется в виду это.
                                                                      0
                                                                      Внимание, вопрос: а зачем вам вообще Branch Cache? У вас он где-то работает?
                                                                        0
                                                                        О назначении BranchCache читайте выше. Там была ссылка на блог МС на Хабре.
                                                                        У меня он отключен (теперь). Но было интересно исследовать вопрос до конца с тем, чтобы обеспечить бесконфликтную работу BranchCache и веб-сервера.
                                                                          0
                                                                          Нет, я спросил, зачем он вам.

                                                                          У меня-то прекрасно и бесконфликтно они работают, без единого ухищрения.
                                                                        0
                                                                        Есть тулза в том числе и для менеджмента http подсистемы винды. Называется netsh.
                                                                        Выполняем netsh http show servicestate verbose=no
                                                                        В сесиях нахиодим все урлы которые начинаются на HTTP://+:80/ Это все урлы которые шарят 80й порт.
                                                                        Большая часть этих урлов будет вам извесна, это быстрее всего будут приложения в IIS.
                                                                        Некторые непонятны. В часнсоти HTTP://+:80/116B50EB-ECE2-41AC-8429-9F9E963361B7/
                                                                        Если например вбить это гуид в поисковик то мы попадем на спеку Peer Content Caching and Retrieval: Retrieval Protocol Specification msdn.microsoft.com/en-us/library/dd340715(v=PROT.10).aspx, это и есть не настоящие название BranchCache. Вот и вся недолга.

                                                                        Короче, в винде надо понимать что 80й порт может слушать множество оприложений. Это стандартный компонент. Им пользуется ReportingServices, WinWm, BranchCache и многие другие. Фактически когда вы делаете приложения в IIS, каждый пул это одельный процес, которые слушают 80й(или другой) порт.
                                                                          0
                                                                          Спасибо за пояснение. Я же дошел до этой тулзы «с обратной стороны». Уже когда был выявлен BranchCache, в мануале по смене порта я увидел применение netsh. До этого о таком инструменте я ничего не знал.
                                                                            0
                                                                            Очень мощная тулза. Позволяет управлять внутренностями http подситемы. Можно развести Апач и ИИС чтобы оба слушали 80й порт. Можно добавлять фильтры. Или менять асл ексепшены. Короче, для тех кто педалит под виндовый хостинг, незаменимая штука.
                                                                          +3
                                                                          Пожалуй, желающим поразвлекаться с настройкой ОС, пора в срочном проядке ставить Win7 или WinServer2008 :) С лунксами-то все понятно — а тут какой простор!
                                                                            +5
                                                                            Статья из серии «Или лыжи не едут, или...»

                                                                            Начиная с Windows XP SP2 в ось интегрирован HTTP Server Stack, в образе http.sys, что позволяет независимым процессам делить 80 http порт, но под разными урлами…

                                                                            То, что ни Apache, ни Apache 2 не используют этот официальный API, а наглым образом хотят 80 порт в индивидуальное пользование — не есть проблема Microsoft.

                                                                            Поэтому давайте дружно пожелаем коллегам из Apache Group — RTFM, наконец, как следует…

                                                                            Живете под Windows, изпользуйте встроенные возможности OS, не изобретайте лисапет :)
                                                                            И да постигнет вас нирвана…
                                                                              0
                                                                              Apache сам по себе HTTP сервер. Сам обрабатывает запросы и т.д. Зачем переписывать ядро, делать из сервера надстройку над другим сервером, который способен решать лишь долю необходимых задач?
                                                                                0
                                                                                По той же причине, по какой люди используют другие компоненты ОС, такие как файловую систему, сеть, тот же winsocks…

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

                                                                                Apache под Windows, как iTunes — выглядит симпатично, но чужеродно. Как негр в семье бледнолицых :)
                                                                                  –1
                                                                                  Apache под Windows, как iTunes — выглядит симпатично, но чужеродно.
                                                                                  Выглядит? А вы на него не смотрите. На сервера смотреть не надо, они не для этого предназначены.
                                                                                    –2
                                                                                    Мне кажется, что этот HTTP server стэк имеет крайне ограниченный функционал. И что-то подсказывает, что геморроиться с этим АПИ пришлось бы очень много.

                                                                                    Фотоаппарат в сотовом телефоне экономит место и деньги. Однако это не повод не брать с собой в турпоездку хороший фотоаппарат.
                                                                                  –2
                                                                                  То, что ни Apache, ни Apache 2 не используют этот официальный API, а наглым образом хотят 80 порт в индивидуальное пользование — не есть проблема Microsoft.

                                                                                  Читаю и пытаюсь понять: то ли вы про директиву Listen в конфиге Апача, позволяющую указать, что апач слушает 80-ый порт только на некоторых IP-адресах, доступных системе (а на других его могут слушать другие программы), то ли программисты Windows от безумия и безнаказанности засобачили туда возможность нескольким разным программам, в зависимости от волшебных постукиваний в магический бубен с изображением окошка, одновременно слушать один и тот же TCP-порт, нарушая концепции, которые появились за годы до Windows 1.0. Не заставляйте меня разочаровываться в человечестве, подтвердите, что вы про банальную директиву Listen.
                                                                                    +2
                                                                                    Именно «одновременно слушать один и тот же TCP-порт» на одном и том же интерфейсе. По сути — роутер (фронтенд), говорящий что запросы localhost:80/mysite/* передавать IIS, а localhost:80/someservice/* передавать, например, сабжу поста. Клиенту, имхо, всё равно что за сервер (бэкенд) стоит за конкретным url, зачастую в *nix системах такую роль выполняет, например, nginx, перенаправляющий запросы с одного урла на один сервер, а с другого на другой, но такой способ требует дополнительной настройки бэкендов. По-моему, преимущества «нового» (вроде лет 5 ему) подхода MS очевидны — бэкенды и не догадываются, что не все урлы доходят до них, они думают, что весь 80-й порт принадлежит им.

                                                                                    Хотел бы иметь такой роутер и в линукс, дабы не перелопачивать каждый раз по два конфига, когда хочу попробовать новый сервер/сервис — сообщение «Can't bind to port 80 at localhost» (по памяти) чуть ли не самое частое в моём /var/log/* Традиции традициями, стандарты стандартами, но кое-что меняется в этом мире за 30-40 лет — приходят времена новых традиций и новых стандартов не всегда полностью обратно совместимых со старыми.
                                                                                      –1
                                                                                      Я сначала хотел было поругаться про то, что Microsoft сознательно запутал понятия «слушать TCP-порт» с 4-го уровня OSI и «запросы localhost:80/mysite/» с 7-го, потом решил не ругаться, ибо счёл, что эта возможность «разным приложениям биндиться на один и тот же порт» на самом деле не подмена Berkeley sockets, а всего лишь программно конфигурируемый HTTP proxy.

                                                                                      В связи с этим, вопрос: вы всерьёз верите, что каждый HTTP-сервер должен знать про все подряд HTTP-прокси, за которого его могут посадить, и пытаться самосконфигурироваться на них? Тем более, пожалуй, самый популярный в мире кроссплатформенный HTTP-сервер — про HTTP-прокси, существующий на единственной платформе, при этом весьма слабо используемой в тех задачах, где используется соответствующий сервер? Что настройка проксирования HTTP-запросов — это обязанность не самого этого прокси (и того, кто настраивает прокси), а HTTP-сервера?

                                                                                      Тогда у меня для вас неприятный сюрприз: количество HTTP-серверов разных видов (включая, помимо standalone-серверов, как программные фреймворки и библиотеки под самые разные языки, позволяющие клепать сервера за пять минут, типа всяких Twisted на Python-е или даже тестового сервера на Django, так и «встроенные» в различные программы «веб-интерфейсы», типа MLDonkey или Ejabber) всяко измеряется не в десятках, а в тысячах, и большинство из них наверняка кроссплатформенные.

                                                                                      Интересно, кроме IIS, наберётся из них хотя бы десяток программ, самоконфигурирующихся в этой новомодной Microsoft-овской проксе?

                                                                                      Поверьте, если на единицы веб-серверов, на тысячи веб-серверов, не поддерживающих «хитрый MS proxy», приходятся единицы, поддерживающие… это никак не проблема неподдерживающих тысяч.
                                                                                        +1
                                                                                        Ну всё-таки ставить в один ряд «все подряд HTTP-прокси» и стандартный сервис самой распространённой (по некоторым оценкам) ОС несколько неправомерно, имхо. Почему поддержку этого сервиса не ввели в самом популярном кроссплатформенном веб-сервере не знаю, да и мне это особо неинтересно, т. к. не пользуюсь ни этой ОС, ни этим веб-сервером. В топик забрёл случайно, заинтересовался, разобрался (кажется) и подумалось, что неплохо бы иметь что-то похожее и под моей ОС для моих веб-серверов.
                                                                                          –1


                                                                                          Судя по этой картинке, ставить в один ряд «все подряд HTTP-прокси» и всего лишь один из стандартных сервисов (может, апач под виндой ещё и сам себе порты на встроенном файрволле должен открывать?) всего лишь одной из операционок, на которой может работаь самый популярный в мире веб-сервер, вполне корректно. Моськи слонам не указывают.
                                                                                            –1
                                                                                            Я это к тому, что «самая распространённость» в хозбытовом секторе Windows-а имеет малую связь с использованием её для хостинга веб-серверов. Вон, Sony PS3 тоже весьма популярна, и на неё можно Линукс с Апачем поставить, но никто ведь не ожидает, что это разумный аргумент, чтобы считать, что Апач должен конфигурироваться геймпадом?
                                                                                              +1
                                                                                              А что на картинке собственно? :) Какое-то странное сочетание (5 организаций и 2 программных продукта афаик) знакомых слов в «хистори». Распределение в вебе количества серверов? Количество инсталяций? Количество посетителей? Запросов?

                                                                                              Где-то читал (нагуглить не смог быстро), что Windows не просто самая распространённая в хозбытовом секторе ось, а просто самая распространённая, хотя в отдельных сегмента рынка ОС и уступает конкурентам.

                                                                                              Но собственно речь не о том, я просто удивлён, что Apache потратив немало, наверное, усилий для портирования своего веб-сервера на Windows (да и вообще судя по httpd.apache.org/download.cgi платформа Win32 очень важна для проекта, как минимум вторая по важности (если считать, что все Unix это одна платформа, а отсортированы по важности, а не по алфавиту), и бинарники на ней только по вин) не реализовали его корректную работу с сабжем.

                                                                                  –1
                                                                                  Пляска с бубном вместо того, чтобы с самого начала настроить апач на замечательный порт 4242 или поднять линуксбокс. Хоть бы даже в виртуалке. Так оно, всетаки, правильнее.
                                                                                    +1
                                                                                    Считайте это удовлетворением спортивного интереса. Опять же, проблемы с портами могут возникнуть не только из-за Апача, так что я счел допустимым рассказать о своем опыте решения такой проблемы. Возможно, кому-то мой опыт пригодится.
                                                                                      –1
                                                                                      скажите, а свои божественные похапе скрипты вы тоже под денвером трассируете?
                                                                                    –2
                                                                                    То, что ни Apache, ни Apache 2 не используют этот официальный API, а наглым образом хотят 80 порт в индивидуальное пользование — не есть проблема Microsoft.
                                                                                    Читаю и пытаюсь понять: то ли вы про директиву Listen в конфиге Апача, позволяющую указать, что апач слушает 80-ый порт только на некоторых IP-адресах, доступных системе (а на других его могут слушать другие программы), то ли программисты Windows от безумия и безнаказанности засобачили туда возможность нескольким разным программам, в зависимости от волшебных постукиваний в магический бубен с изображением окошка, одновременно слушать один и тот же TCP-порт, нарушая концепции, которые появились за годы до Windows 1.0. Не заставляйте меня разочаровываться в человечестве, подтвердите, что вы про банальную директиву Listen.
                                                                                      –1
                                                                                      Чёрт. Не попал в нужную ссылку «ответить». Извиняюсь. Проигнорируйте.
                                                                                      +4
                                                                                      В итоге вы решили перевесить BranchCache на другой порт.
                                                                                      Но тут возникает резонный вопрос: «А вы вообще используете этот BranchCache на данной машине?».
                                                                                      Ну т.е. эта машина действительно стоит в сети некого удалённого филиала вашей компании, в этой сети филиала преобладают машины с Win2k8-R2 и Win7 Ent/Ult, эта сеть соединена с основной площадкой компании по слабому сетевому каналу, и компьютеры из этой сети часто обращаются к документам на файловом сервере основной площадки, поэтому такое кэширование через BranchCache действительно работает и приносит пользу?

                                                                                      А отсюда сразу следуют и подвопросы:
                                                                                      а) Если вам BranchCache на этой машине реально не нужен (например это просто домашняя машинка, ну или корпоративная, но стоит в основном сайте компании), то зачем его переносить на другой порт? Почему бы просто не отключить BranchCache?
                                                                                      б) А если BranchCache вам там нужен и он действительно используется, то будет ли всё работать корректно, если он будет висеть на другом порту? Не нужно ли где-то ещё делать перенастройки (например, на других компьютерах филиала), чтобы этот BranchCache на недефолтовом порту по-прежнему работал корректно?
                                                                                        0
                                                                                        Я же писал выше, что у меня BranchCache отключен, но пост был бы неполным без объяснения, как, в случае чего, можно поменять порт. Порт, как я понял нужно менять в случае использования BranchCache в режиме клиент-сервера.
                                                                                          0
                                                                                          > Я же писал выше, что у меня BranchCache отключен

                                                                                          Не вижу в статье фрагмента, где было бы написано «Но если вам BranchCache на этой машине вообще не нужен, то полностью корректно его отключить можно так: ...».
                                                                                          Мне кажется, не помешало бы добавить.
                                                                                            0
                                                                                            Полностью отключить его можно в службах. Это, как мне кажется, уже совсем элементарное…
                                                                                        +1
                                                                                        фтопку Денвер
                                                                                        и Windows Wisla туда же
                                                                                          0
                                                                                          Не знаю, насколько актуально это решение. Но вдруг кто-то еще держит и использует Денвер. У меня есть — остался со тех времен, когда я программировал под веб. Иногда (очень редко) запускаю по мелкой нужде.

                                                                                          Если есть в системе BranchCache, надо запустить Денвер, а заниматься правкой реестра желания нет или нет необходимости менять или требуется оставить всё без изменений:

                                                                                          1. создать файл
                                                                                          Z:\> type Z:\etc\scripts\main\start\00_BranchCache
                                                                                          init.d/BranchCache


                                                                                          2. Созлать файл
                                                                                          Z:\> type Z:\etc\scripts\init.d\BranchCache.bat
                                                                                          net stop PeerDistSvc


                                                                                          3. Полностью остановить (stop) и запустить (start) Денвер

                                                                                          Only users with full accounts can post comments. Log in, please.