Содержание:
Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Находим в списке раздел Службы IIS. Раскрываем его и выбираем нужные компоненты:
Базовый набор:
- Безопасность. Выбираем все компоненты кроме «Проверка подлинности с сопоставлением сертификата …».
- Компоненты разработки приложений. Мне нужна только компонента CGI, для последующей установки PHP.
- Общие функции HTTP. Отмечаем все пункты.
- Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
- Функции повышения быстродействия. Отмечаем все пункты.
- Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».
Когда все пункты выбраны, нажимаем Ок. После завершения установки обязательно перезагружаемся!
Теперь переходим к созданию веб-сайта. Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу «Службы и приложения» и открываем «Диспетчер служб IIS». В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку «Добавить веб-сайт».
Далее необходимо указать имя веб-сайта и месторасположение его файлов (по умолчанию c:\inetpub\wwwroot). Остальные опции оставляем без изменения.
Нажимаем OK. На этом базовая настройка завершена. Нужно проверить работоспособность только что созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите похожую страницу:
Последний штрих. Чтобы сайт был доступен из вне, необходимо открыть 80-й порт для входящих соединений. Как это сделать на примере штатного брандмауэра Windows 7:
Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В списке необходимо найти и включить правило Службы Интернета (входящий трафик HTTP) :
В этом режиме базовой установки веб-сервер способен отображать только статические страницы (обычный HTML + JavaScript). Чтобы расширить его возможности, можно установить поддержку ASP, ASP.NET или PHP. Сам я занимаюсь программированием пока только на PHP, поэтому далее расскажу только об установке PHP на IIS в режиме FastCGI.
Конечно, оптимальный веб-сервер для PHP — это Apache, но все же бывают случаи когда требуется установить PHP на IIS. Тем более, в последнее время разработчиками была проделана большая работа, чтобы производительность PHP на IIS улучшилась.
Перед началом установки необходимо скачать релиз PHP с сайта http://windows.php.net/download/. Там предлагается несколько вариантов. Нам необходим релиз VC9 x86 Non Thread Safe. Для работы в режиме FastCGI это наиболее быстрый и стабильный вариант. Я рекомендую скачивать релиз с установщиком (installer), а не zip-архив (это для любителей ручной установки).
Теперь запускаем установщик. После нескольких не особо информативных окон нам предложат выбрать веб-сервер и режим работы PHP:
IISFastCGI — да, сейчас это единственный стабильный вариант установки PHP на IIS.
Далее переходим к выбору компонетов PHP. Если установку PHP производите впервые, лучше оставить значения по умолчанию.
После завершения работы установщика, переходим к настройкам IIS. В принципе здесь надо сделать только одно действие — поднять приоритет php-файлов, чтобы они обрабатывались в первую очередь. В диспетчере служб IIS нажимаем по названию нашего сайта и в окне справа выбираем раздел «Документ по умолчанию». В появившемся списке необходимо переместить index.php в начало:
Пользователи Windows 7 64-бит, внимание! Вам необходимо произвести одно дополнительное действие. Откройте раздел «Пулы приложений». Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке). В разделе Общие необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если уже созданы дополнительные пулы для уже существующих сайтов, то для каждого из них нужно проделать ту же операцию.
Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:
<?php phpinfo()?>
Открываем сайт в браузере (http://localhost). Если все работает правильно, вы увидите страницу с информацией об установке PHP:
Установка MySQL
Инструкция по установке MySQL на Windows вынесена в отдельную статью.
- При запуске сайта возникает ошибка: «Процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0×80070020)».
Эта ошибка говорит о том, что порт, к которму осуществлена привязка сайта (по умолчанию 80-й), уже занят другим приложением. Очень часто такая ошибка возникает, если установлен другой веб-сервер (например Apache).
Чтобы выяснить какой процесс занимает 80-й порт, в командной строке введите: netstat -ano -p tcp
В колонке «Локальный адрес» ищем запись вида 0.0.0.0:80, далее смотрим какой «PID» соответствует этой записи. В «Диспетчере задач» открываем вкладку Процессы (опцию «Отображать процессы всех пользователей» должна быть отмечена). Далее переходим в меню Вид -> «Выбрать столбцы» отметь «ИД проесса (PID)». Теперь с помощью PID можно выяснить какой процесс занимает порт.
Еще одним из решений этой проблемы является привязка сайта к альтернативному порту (например 8080). - При запуске php-скрипта появляется ошибка: Warning: fopen(путь_к_файлу): failed to open stream: Permission denied in путь_к_файлу.
Проблема в том, что группа пользователей IIS_IUSRS имеет права только на чтение. Открыть свойства папки, в которой распологаются файлы веб-сайта (по умолчанию wwwroot), закладка Безопасность. В списке находим группу IIS_IUSRS и даем ей права полного доступа. - Как установить кодировку сайта.
Откройте «Диспетчер служб IIS», выберите нужный веб-сайт.В настройках сайта откройте раздел «Заголовки ответов HTTP». Нажмите ссылку Добавить. В открывшемся окне в поле Имя введите: Content-type, в поле Значение введите: text-html; charset=windows-1251 (см. скриншот). Вместо windows-1251 можно прописать любую другую кодировку.
Ссылки по теме:
- Настройка веб-сервера Apache + PHP + MySQL на Windows 7
- Установка MySQL на Windows 7
- Настройка ftp-сервера (IIS) на Windows 7
- Настройка WebDAV на IIS (Windows 7)
- Настройка DDNS — как сделать постоянный доступ к веб-серверу, если провайдер Интернет предоставляет только динамические внешние ip-адреса.










А вы не расскажите что нибудь про DNS. Как устанавливать, как пользоваться и так далее.
Пока в планах это не стоит. Для домашнего использования должно хватить файла hosts
Вот у меня еще вопрос. Я буду очень вам признателен если ответите или подскажите где можно прочесть у вас подобную статейку.
Я вот сделал два сайт на компьютере или если быть еще точнее то на (Денвере). Уверен что вы знакомы с этой штукой. На денвере много неудобств. В общем сделал два сайта и сейчас я решил отказатся от Денвера из за многих неудобств и Перейти на IIS + PHP + MySQL на Windows 7. Теперь что бы мне это все перенести на IIS я не могу понять как сделать что бы доменые имена в локалке виделись под моими домеными именами?
С уважением.
Не совсем понял насчет доменных имен.
Объясните как было и как стало сейчас.
Ну вот я делал два сайта. На денвере можно делать сколько угодно, то есть создавать доменые имена с сайтами у себя на компьютера, и когда я набираю в поисковой страке браузера название сайта то он появляется. Вот я и спрашиваю, как сделать так же на IIS, что бы я набирал в поисковой страке браузера название сайта и он появлялся в браузире. Я там как то пытался сделать и не получается.
Есть несколько вариантов:
1. Устанавливать сайт в подпапки основного сайта. Они будут открываться по адресу http://localhost/site1, http://localhost/site2 и т.п.
2. Вешать сайты на разные внутренние ip начиная с 127.0.0.2. К этим айпишникам можно прицепить имя через файл hosts (windows\system32\drivers\etc)
Что то как то нет то. На денвере ни чего не надо менять в файле hosts (windows\system32\drivers\etc), там просто создаешь папку с названием сайта и все. Отключаешь интернет, открываешь сайт в браузере и он работает и после уже можно влючать интернет, тогда он не будет конектится в интернет.
В IIS можно разлаживать все сайты(папки) по разным уголкам компьютера, не проблемма.
Через hosts (windows\system32\drivers\etc) не совсем удобно, потом реальный сайт не откроешь пока не удалишь от тудого значение. Что не есть хорошо и не удобно вести отладку.
http://localhost/site1, http://localhost/site2 совсем как то не то. У меня просто есть существующий домени и сайт который почти готов и вести отладку таким способом не получается.
Ведь как то же делают. Просто это все в ннастройках. А я не силен.. Или может лучше Apache поставить, вместо IIS ?
Я Денвером не интересуюсь, не знаю как они там что делают…
Если сайт нормально написан, то ему все равно на каком домене сидеть. Лично у меня никаких проблем с отладкой нет, распихиваю сайты по подпапкам.
С Apache то же самое будет.
Извиняюсь, все получилось то что надо. Я сделал как вы сказали про hosts (windows\system32\drivers\etc) . Кокрас то что надо ))) Спасибо большое. Сделал все что хотел благодаря вашему сайту.
Супер. То что надо. Спасибо. Сколько не искал подобного решения, нормального не нашел или толково объясняющее. Спасибо большое.
А как кадеровку поменять? а то вопросики ))))
См. третий пункт FAQ
А как быть с wi-fi роутером? Несколько компьютеров подключены по wi-fi. Как обьяснить «интернету» , что файлы хранятся именно на моём компьютере?
forvarding в роутере всё решил
Все правильно! Рад, что разобрались самостоятельно )
Здравствуйте! Можете немного рассказать о настройке прав доступа в Windows 7 для того что бы было возможно установить CMS
См. второй пункт FAQ. Этого должно быть достаточно.
Спасибо, получилось!
Установил связку IIS + MySQL + PHP на windows 7 локально все работает, но вот через интернет увидеть сайт не возможно. Проблема, когда водишь имя домена «mysite.ru», открывается «localhost» вместо сайта, но если ввести «http://mysite.ru/mysite.ru/» открывается необходимый сайт.
Не совсем понятно, но такое ощущение, что файлы своего сайта вы разместили не в корне сайта, а в подпапке mysite.ru
Или я ошибаюсь? И у вас создано два независимых сайта — один стандартный + mysite.ru?
mysite.ru тестируете из внешней сети или из локльной? Надо из внешней.
Спасибо за помощь!
В настройках IIS неправильно прописал путь к сайту
было: «C:\inetpub\wwwroot», сейчас «C:\inetpub\wwwroot\mysite.ru»
здравствуйте. все сделал как сказано выше(пшп не настраивал).. и что-то не так, сайт не виден никакими компьютерами, ип внешний, статический! возмонжо ли проблема в том, что мой комп — сервер сети, т.е. через него я раздаю интернет на остальные компы в доме. скайп отключен! при введении локалхост сайт виден (на сервере), но другим он вапще не виден!
Настройте для начала для локальной сети.
Проверьте привязки, настройки фаервола (может у вас дополнительный стоит?)
у меня в привязках — тип: http порт: 80 ip адрес: * остальные поля пустые! есть фаервол у антивирусика (eset smart security 4). может антивирус запрещает?
>может антивирус запрещает?
Конечно! Смотрите настройки eset smart security 4
поставил антивирус в режим обучения и все заработало! спасибо)
1. Спасибо автору, 5+
2. У меня вопрос. Сделал все как в статье.
Но сайт не виден в интернете.
Стоит роутер — порты переброшены.
IP — статичный, внешний.
использую сервис проверки сайта на доступность — не доступен
В чем может быть проблема, подскажите пожалуйста.
П.С. файрвол дополнительный не стоит.
А из локальной сети сайт доступен?
В привязках сайта «Ip адрес» — «Все назначенные», «Имя узла» — пустое поле?
Да, пустое
Если вбиваю туда внешний ип роутера, то по внешнему ип даже с локального компьютера не заходит
Вбивать туда ничего не надо. Должна быть установлена опция «Все назначенные».
Пока ситуация выглядит так:
Если вы можете попасть на сайт из локальной сети с другого компьютера, то сам сервер настроен правильно. Надо проверить настройку проброса порта. Если у тут все ок, уточнить у провайдера не блокируют ли они 80-й порт в целях безопасности.
Выходит что действительно неправильно настроен роутер, т.к. провайдер сказал что ничего не блокирует.
Из домашней сети по внешнему ип сайт грузится.
Роутер работает в режиме Home Gateway.
Дальше выбераю NAT Setting > Virtual Server.
Для добавления 6 полей в которых я выбераю:
Port Range — 80
Local IP — ип на котором стоит сервер
Local Port — 80
Protocol — TCP
Protocol No. — HTTP
Description — http site
Нигде не ошибся?
Также отключал файрвол в роутере, проверяю сайт на доступность — не доступен.
В чем еще может быть проблема? SOS
Проброс вроде бы правильно настроен.
Фаервол не надо отключать на роутере. Частенько через него проброс портов реализуется.
Проверяйте порт через Open Port Tool. Интересно, что он скажет.
Если по прежнему будут проблемы попробуйте настроить на роутере DMZ — выбранный комп будет полностью открыт внешней сети.
Open Port Tool:
An attempted connection to 195.158.232.48:80 was refused. This typically indicates that there are no services available on that port, but that it is NOT being blocked by a firewall or your ISP.
пробовал настроить на роутере DMZ — тоже самое. Может дело не в роутере? попробую напрямую соединить
Нет, это не роутер..
Подключал напрямую все тоже самое.. НУ теперь я совсем запутался))
А в настройках брандмауэра для внешнего подключения открыли порт 80?
В брандмауэре для входящих включил службу интернета (входящий трафик HTTP)
И какой результат?
Я сделал это в начале, по инструкции. Результата тот же(
В моем случае это какая-то аномалия или еще можно что-то проверить?=)
Уточню.
Интернет подключен к компу напрямую.
Сайт открывается по localhost?
Сайт открывается по внешнему адресу?
Что говорит Open Port Tool?
Какой тип подключения интернет? Через VPN?
Нет, инет через роутер, но и на прямую подключал, результат:
Сайт по localhost и по внешнему ип открывается, с других компов домашней сети — тоже.
Open Port Tool — «An attempted connection to 195.158.232.48:80 was refused. This typically indicates that there are no services available on that port, but that it is NOT being blocked by a firewall or your ISP.»
Подключение не впн, не знаю как правильно оно называется, прямое наверное))
Кстати стоит windows server 2008 datacenter
Если напрямую все работает, то это либо провайдер, либо роутер…. Больше мне на ум ничего не приходит )
Да, длинный диалог получился =)
Хочу еще раз сказать слова благодарности Max Bond за статью и за помощь.
Все оказалось как Вы и говорили — вина провайдера.
Сейчас мне дали новый ип и все заработало. За что и им спасибо.
Блин, только возникла еще одна проблема.
После установки php и создании тестового файла index.php, если в браузере ввести просто локалхост, отображается стандартная картинка iis сервера, а не инфо по php. Если указать полный адрес http://localhost/index.php? то отображается инфа по php. В «Документах по умолчанию» index.php идет первым..
Странно.
Попробуйте очистить кэш браузера.
Здравствуйте, это все конечно интересно и главное доходчиво преподнесено, но у меня всего один вопрос: а не проще поставить ?
извиняюсь тег не прошел.. не проще поставить AppServ?
Кстати, если говорить о подобных комплектах, то мне гораздо больше нравится Zend Server CE
Дело не в простоте, а в возможности… На этом сайте есть и другие инструкции по установке альтернативных веб-серверов.
А вообще, IIS нормальный сервак! )
не могу с вами спорить) потому что не пробовал пока ничего кроме AppServ’а )) а не могли бы вы сказать какие преимущества у Zend Server’а? что лучше для локальной сети: Zend Server, AppServ или IIS? У меня сейчас на AppServ’е в локальной сети работает чат с фотогалереей и форум…
Zend Server хорош для php-разработчиков, плюс в нем удобный интерфейс, а также мощный оптимизатор (срипты потребляют меньше памяти — актуально для нагруженных серверов).
IIS — на него тоже можно поставить Zend Server (существует два варианта установки под Apache и под IIS). Поддержка FTP, WebDAV, .NET тут все в одном флаконе и доступно вместе с Windows.
Преимущества AppServ? Не знаю… потому как не использовал.
В любом случае, не думаю, что вам надо что-то менять, если все работает исправно…
что то я не пойму откуда взять файл index.php
» Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:
Я прописал это в блокноте и назвал его index.php , но ничего не происходит! При наборе http://localhost , всё остаётся как и было
Проверьте не сохранился ли у вас файл с расширением *.txt (index.php.txt)?
Здравствуйте.
Подскажите пожалуйста, в чем именно ошибка.Устанавливаю IIS по инструкции, т.е. отмечаю во «включении и отключении компонентов Windows» все необходимые галочки, но в Управление компьютером так и не появляется «Диспетчер служб IIS». W7 домашняя базовая.
Дело в том, что IIS в Windows 7 Домашняя Базовая устанавливается в крайне урезанном варианте (http://technet.microsoft.com/ru-ru/library/cc753473.aspx). То что получается в результате веб-сервером назвать нельзя… Поэтому на Домашнюю Базовую устанавливайте Apache!
спасибо!
А как теперь прикрепить домен к сайту? Заранее спасибо!
Смотря какой у вас внешний ip: динамический или статический?
Если динамический, то с помощью DDNS
Если статический, то покупаем домен (~450 руб в год) + поддержка DNS (~750 руб в год). Например в Ру-центр — nic.ru
Я та понял что нужен домен, а как указать его в iis, чтоб он работал именно к определённому сайту в iss?
В привязках сайта (Имя узла) можно указать домен
Но для работы одного сайта это делать (указывать домен в привязках) не обязательно.
Эта функция нужна, чтобы на один ip повесить несколько сайтов.
Здравствуйте! Это опять я вам пишу. По-моему опять, что-то пошло не так. Первое время использовал mysql нормально. Пароль установил себе в конфиг-файле.Логин тоже. Сначала нормально вход выполнялся, а где-то через пару недель при входе появляется ошибка 1045(не может соединиться с сервером mysql). Когда вхожу без пароля, phpmyadmin впускает, но я не могу создать базу данных, вместо поля создания стоит красная надпись-нет привилегий.Не пойму, в чём дело.Что это может быть?
Я, можно сказать, по вашему заказу написал статью про ручную установку MySQL:
http://www.q2w3.ru/2011/03/07/3305/
Советую переустановить MySQL строго по этой инструкции. Уверен, проблем сразу поубавится.
Здравствуйте! Мне кажется, что и phpmyadmin нужно переустановить.
а смысл? Что там переустанавливать?
Проверьте конфигурационный файл, да и все. В крайнем случае создайте его заново.
Какой конфигурационный файл? phpmyadmin или mysql? По-моему я уже всё там сделал, пароль и логин прописывал в файле config.inc.php. Но всё-равно выдаёт ошибку, сначала просто выдавал ошибку, потом- что не работает механизм сессий, а теперь вообще страница не грузится. Может переустановка поможет? Может в phpmyadmin дело?
Я говорю о конфигурационном файле phpmyadmin, разумеется.
http://www.q2w3.ru/2010/10/24/2338/
Здравствуйте, пытался установить iis но не получается. дело в том что в «Включение или отключение компонентов Windows» пусто, а именно открывается пустое окно. Как решить проблему?
Ого! Что то у вас с системой не в порядке…
Обновления устанавливаются нормально? Вот что-то похожее описано тут: http://support.microsoft.com/kb/931712
Здравствуйте, возникла такая проблема. Короче, я php на iis установил, только не сохраняется файл в директории wwwroot. Всё время ошибка, что я не могу сохранять файлы в данной папке, и предлагает сохранить файл в другой папке. В чём может быть проблема?
Отключи контроль учетных записей, или открой редактор файлов «от имени администратора».
Спасибо, всё получилось. Только я не пойму, можно ли в корневой папке создавать вложенные папки для отдельных сайтов, как происходит аналогично на Денвере?
Можно, как обычные папки.
Ещё вопрос: а что надо делать, начиная создавать новый сайт на этом сервере?
Я что-то не совсем понял вопрос… )
Как создать сайт? Через «Диспетчер служб IIS» создаешь новый сайт, или создаешь подпапку (можно виртуальную) внутри существующего сайта. Заливаешь туда файлы. Открываешь сайт в браузере. Все.
Лично я предпочитаю под каждый проект создавать отдельный сайт, а не раскидывать их по подпапкам…
Здравствуйте! Всё было бы хорошо, если бы при установке mysql не появилась ошибка. При конфигурировании mysql, в самом конце процесса, появляется сообщение об ошибке, Can’t connect to MySql server on ‘localhost’(10060), и написано, что настройки защиты не могут быть применены к серверу, потому что соединение было ошибочным из-за данной ошибки.
В чём причина этой ошибки?
Попробуй отключить фаервол на время установки. У тебя только встроенный виндовый? В комплекте с антивирусом нет фаервола?
У меня также, кроме встроенного есть Outpost Security Suite Pro.
Скорее всего это он блокирует доступ. Посмотри политики безопасности. Попробуй открыть порт 3306.
Всё, получилось открыть порт. Сейчас попробую…
Всё равно проблема остаётся. Даже не знаю, что и делать.
Попробуй вообще отключить Outpost на время
У него лицензия всё-равно истекла. Но всё-таки ради острожности я его отключаю. В тот момент, когда я пишу эти строки, процесс конфигурирования уже идёт. Позже отчитаюсь перед его результатами.
Почему-то опять ошибка. Могут ли быть ещё какие-нибудь варианты проблемы?
> У него лицензия всё-равно истекла.
Тогда вообще можешь его удалить. Поставь бесплатный COMODO Internet Security и не парься.
>Почему-то опять ошибка. Могут ли быть ещё какие-нибудь варианты проблемы?
Открой службы Windows. Посмотри работает ли вообще служба MySql?
А просто антивирусник у тебя никакой не установлен в дополнение к Аутпост?
Данная служба работает. Насчёт Outpost, вы , наверно, неправильно меня поняли. Outpost-это и есть антивирус, в комплект к нему никакого фаервола не входит. Впервые с этим сталкиваюсь.
Outpost Security Suite Pro — это антивирус + брандмауэр (он же фаервол). Просто как антивирус он, по-моему, не блещет. Вот и спросил может что еще стоит )
Этой командной строки у меня почему-то нет. В списке только программа конфигурации. А как можно открыть в главной директории?
Только это и стоит у меня. Может, ещё какие-нибудь решения есть? Я сначала думал, что дело в том, что какая-нибудь программа на порту 3306 висит. Проверил, введя команду netstat -aon|more. Все программы удалил с этого порта. А не может сервер ещё какие-нибудь порты занимать? Может в этом проблема?
При первой установке по умолчанию он всегда использует 3306.
>Все программы удалил с этого порта
А какие левые проги там были?!?
MySQL висит на 3306? Проверьте через PID.
Там висит какой-то процесс mysqld.exe. Но если это mysql, то почему возможность соединения исчезла? Очень подозрительный случай. Я и раньше sql ставил, только на денвер, там такая-же фигня была.
mysqld.exe — это то что надо.
Проверь работает ли MySQL в командной строке:
Открываем Пуск -> Все программы -> MySQL ->MySql Server 5.1 -> MySQL Server Command Line Client (утилита для работы с MySQL в командной строке).
Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку (mysql>). Введите команду: show databases; (точка с запятой на конце обязательны). В результате вы должны увидеть список баз данных (как минимум две – information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.
Этой командной строки у меня почему-то нет. В списке только программа конфигурации.
В командной строке выполните:
mysql -uroot -p
А для выполнения этой команды сначала нужно перейти в каталог mysql?
Всё разобрался. После исполнения команды появляется Enter password. Я ввожу свой пароль и ничего не происходит только курсор продолжает пульсировать. Но ничего нельзя ввести. Это ошибка или нет?
>Я ввожу свой пароль и ничего не происходит только курсор продолжает пульсировать. Но ничего нельзя ввести. Это ошибка или нет?
Если приглашение mysql> не появляется, то это значит, что ничего не работает…
Странный случай… попробую погуглить…
Здравствуйте! Вы были правы- через несколько минут появилось сообщение Can’t connect to mysql on ‘localhost’. Сейчас попробую ещё что-нибудь сделать.
Здравсвуйте! Хотел у вас спросить, как итог: стоит ли мне продолжать работать на этом сервере или лучше перейти на другой? Вчера гуглил около 3 часов, но результат нулевой.
Советую сделать напоследок вот что: удалить Outpost (если еще не удалили, почему-то мне кажется, что в нем проблема), удалить MySQL (полностью вычистить что там успело установиться). Ну и попробовать установить MySQL заново.
Насчет других серверов. Денвер мне не нравится, а сам я для разработки под PHP использую Zend Server CE — http://www.zend.com/en/products/server-ce/ (это комплект из апача + php + MySQL + интерфейс управления настройками сервера). Правда, MySQL там устанавливается так же как обычно, так что очень вероятно, что вот эта ошибка может повториться.
Здравствуйте! Так срок outpost уже истёк, по идее он не должен работать. Ладно попробую сейчас удалить. О результатах напишу.
При конфигурировании возникает другая ошибка:The template configuration file cannot be found at C:\Program\my-template.cnf. Раньше такой ошибки не было, и процесс конфигурирования не доходит до конца. Что это за ошибка?
> Здравствуйте! Так срок outpost уже истёк, по идее он не должен работать. Ладно попробую сейчас удалить. О результатах напишу.
Это значит, что он обновляться перестал, а вот проактивная защита скорее всего работает. Она запросто может палки в колеса вставить.
>При конфигурировании возникает другая ошибка:The template configuration file cannot be found at C:\Program\my-template.cnf
А почему путь такой странный. Так устанавливаете? Все следы от предыдущей установки подчистили?
Здравствуйте. Если принять, что установщик устанавливает сервер в директорию MySQL в корне диска C, то я делаю в такой последовательности:
1. Удаляю сам сервер, воспользовавшись разделом Изменение или удаление программ в Моём компьютере.
2. Затем удаляю папку вручную, точнее то, что осталось после удаления.
Если сервер устанавливается ещё куда-нибудь, то я мог вполне это пропустить. Но вроде бы, ему больше некуда устанавливать, вариант пути по умолчанию никогда не меняю, устраивает.
>Так устанавливаете?
А что, можно установить не так? Я устанавливаю стандартно: запускаю установщик, следую за ним по этапам, на всякий случай смотря в вашу инструкцию. Вроде ничего неверного нет.
>Все следы от предыдущей установки подчистили?
Я уничтожил только сам сервер и папку от него полностью. Больше ничего.
Насчёт фаервола- удалил его вообще с компьютера, но проблемы это не решило.
Посмотри файл mysql_install_log в папке установки MySQL, какие там ошибки?
Странно, в сообщении об ошибке упоминается my-template.cnf, а уже давно как cnf-файлы заменили на обычные ini. Версию какую ставишь?
Здравствуйте! Ставлю версию 5.5. Не самую старую. Насчёт этого файла:как это ни странно, но его вообще нет. Есть только файл errmsg.sys.
Бред какой-то происходит…
Попробуйте поставить 5.1 — http://www.mysql.com/downloads/mysql/5.1.html#downloads (Essentials — Recommended)
Да, ставите 64 или 32-битную версию?
Ставлю 32-битную версию.
В настоящее время процесс скачки уже идёт, чуть позже выдам результат.
Опять ошибка насчёт директории C:\Program\my-template.cnf
Откройте редактор реестра и перейдите в HKEY_LOCAL_MACHINE\Software\Mysql AB\Mysql server 5.1\
Проверьте правильно ли там указаны пути для параметра location. Должна быть указана папка установки, а не с:\Program.
Кстати, физически существует папка с:\Program?
Ну и последний вариант. Скачайте zip-архив той версии что устанавливаете. Извлеките из него my-template.ini, переименуйте в my-template.cnf и поместите в C:\Program.
Может так обмануть удастся? )
Здравствуйте! Такой папки вообще не существует. Сейчас поробую зайти в реестр.
Здравствуйте! В реестре, как и положено, все пути правильные и указывают на папку установки. Насчёт второго способа, то файл my-template.ini я не найду. По-моему его там нет. Может быть можно избежать проблемы ,извлечя все файлы из архива в папку установки? Сейчас попробую.
Здравствуйте! Я хотел спросить: вы можете дать мне более подробную информацию, о сервере, который вы используете? Хорош ли он?
Zend Server — хорош! )
Это комплект из Apache2 + PHP5 + MySQL + phpMyAdmin
Есть удобная панелька управления сервером, которая дает полный контроль за всеми настройками php.ini.
Еще очень крутая вещь — Zend Optimizer+ — значительно снижает потребление памяти скриптами (даже круче чем eAccelerator).
Ну и Zend Debbuger — наверное лучший дебагер для PHP.
Насчет установки MySQL. Думаю вам надо попробовать ручную установку из zip-архива. Инструкция на английском: http://dev.mysql.com/doc/refman/5.1/en/windows-install-archive.html.
Вот новая инструкция по ручной установке MySQL на Windows
А туда можно поставить всякие дополнительные средства, предположим Smarty,PEAR и др.? Проблема в том, как деактивировать iis. Потому что картинка сервера висит при каждом посещении http://localhost. Как его можно свернуть без конфликта для другого сервера?
> А туда можно поставить всякие дополнительные средства, предположим Smarty,PEAR и др.?
Конечно можно!
>Проблема в том, как деактивировать iis. Как его можно свернуть без конфликта для другого сервера?
Очень просто: либо совсем удалить IIS из компонентов Windows, либо изменить привязку сайта iis на порт 8080 к примеру. Тогда будет работать IIS и Apache.
Пока всё идёт отлично. Сейчас начинаю скачивать сервер. А после установки доступ к серверу можно будет получить через http://localhost?
Можно
Здравствуйте! У меня вопрос по новому серверу. Вроде всё прошло нормально, в конце установки у меня попросили придумать пароль к серверу. Но после установки, захожу на страницу входа, ввожу свой пароль, но страница не загружается. Думал сначала, пароль неправильный, но он оказался правильным. При этом никаких ошибок не выводится. Может что с сервером?
М-да… что-то вам не везет. Что там не так, честно сказать, не знаю.
Попробуйте открыть localhost. Zend Server Test Page отображается?
phpMyAdmin устанавливали? Попробуйте открыть localhost/phpMyAdmin/, работает?
Здравствуйте! Ничего пока что не устанавливал кроме сервера. А на локалхосте с самого начала не было такой страницы?
> А на локалхосте с самого начала не было такой страницы?
… если веб-сервер не установлен, то конечно никакой страницы отображаться не будет…
> Ничего пока что не устанавливал кроме сервера
phpMyAdmin идет в комплекте, если выбрали полную установку, то он у вас установлен прям сразу.
Здравствуйте! Сервер должен быть установлен, поскольку настал этап ввода пароля к серверу. Но локалхост не работает.
Ну что тут скажешь… облом!
Я бы рекомендовал почистить систему, может даже под чистую переустановить, т.к. глюки какие-то невероятные.
По нормальному все должно устанавливаться в штатном режиме и не доставлять таких хлопот… )
Еще совет. Поставить виртуальную машину, установить туда свежую систему и попрактиковаться в установке различных серверов. Если уж на чистой системе будут проблемы, значит что-то вы делаете не так…
Мне кажется, что windows 7 достаточно плохая, потому что у меня там есть полно глюков, не связанных с сервером, в частности, никак не хотят открываться приложения командной строки, на той системе таких проблем не замечалось.
Сейчас переустановил сервер, там была какая-то ошибка, но на этот раз зашёл в админку сервера, и вроде бы всё прошло успешно, в том числе и с паролем. Сейчас попробую протестировать и отчитаюсь.
Здравствуйте! Всё сделал самостоятельно, установку окончил удачно, php установил и протестировал успешно, mysql функционирует- всё прекрасно.
Здравствуйте, вот я все сделал, но давал ип знакомым и никто не может зайти, пишет что не существует данный сервер (из локалки все нормально). ip статический, внешний. Как настроить на внешний доступ IIS? :(
А на роутере порт пробросили?
Еще раз здравствуйте. Попытался перезапустить сайт, выходит ошибка: Значение не попадает в ожидаемый диапозон. Что это значит? Единственное что я сделал, это установил форум phpBB3
Нашел причину. Отключил Firewall на антивируснике DrWeb заработало
Здравствуйте. У меня проблема. Установил службы ISS и добавил сайт web-test. Но в браузере localhost не отображается. В мозилле просто чистая страница, в IE — 404 ошибка. Файлы по пути inetpub\wwwroot имеются. Добавил index.htm, default.htm и все равно без изменений. Подскажите что делать?
А в настройках привязки ничего не меняли? Например указали какой-то конкретный ip-адрес или ввели имя узла?
Вопрос снят. Проблема решена
Спасибо. За поддержку. Не сразу увидел ссылку на FAQ. Проблема была в Skype
вопрос такой: как полностью удалить IIS? Я поширил в инете, отключал компоненты, перезагружал комп и снова включал и перезагружал — не помогает. порыл еще, узнал, что кое-какие файлы хранятся на компьютере в следующих директориях:C:\Windows\System32\inetsrv и в C:\Windows\Help\IIshelp.
первую директорию не удалить никак — мешает некий trusted installer, редактирование параметров безопасности этой директории тоже вызывает осложнения, на это нет прав доступа (у администратора!). Вторая директория у меня отсутствует (может, конечно она скрыта, я не уверен, не проверял пока, парюсь пока с первой директорией).
А нужно мне это все, чтобы исправить ошибку при попытке запуска IIs примерно такого содержания: «w3svc не удалось запустить» .
Да, переустановку всей операционной системы, пожалуйста, не предлагайте.
Тут куча проблем, которые имеют такие симптомы. Скорее всего сам IIS ни при чем… так что удалять папки в ручную не советую. Посмотри логи системы, может выудишь более подробную информацию об ошибке.
Да, система какой версии?
Случаем, Скайп не включен, когда ты пытаешься iis запустить?
Система — Windows 7.
скайп настроил так, что он использует только 13354 порт, 80 и 443 он не юзает, кучу других программ настроил также.
вообще, проблем не было, до тех пор, пока я по глупости не попытался удалить директорию inetpub, чтобы не мешалась (для файлов создал отдельный сайт в IIS, физический путь к которому C:\www).
Попробуй открыть файл
%windir%\system32\inetsrv\config\applicationhost.config
найди в нем все старые пути типа
%SystemDrive%\inetpub\wwwroot
и замени их на новые
боюсь,меня это не спасет, тк, тех файлов, которые прописаны в %windir%\system32\inetsrv\config\applicationhost.config в C:\www не существует. мне их не стоило удалять, знаю, теерь такую ошибку больше не совершу, но IIS, похоже надо переустановить.
Посмотрел в логах, есть следущие ошибки: 2297,2307, связанные с IIs w3svc.
Рекомендую создать эти папки. Так оно проще )
а откуда файлы брать?
а, понял, ща попробую.
И все-таки, как переустановить? Неужели нет такой возможности?
Попробуй так:
Отключи все компоненты IIS.
Затем отключи Контроль учетных записей. Панель управления \ Учетные записи пользователей и семейная безопасность\Учетные записи пользователей\Изменение параметров контроля учетных записей -> ползунок вниз. Перезагружаемся.
Теперь удали папку %windir%\system32\inetsrv\config.
Думаю, этого будет достаточно.
Никак. Trusted Installer не дает.
Тогда не всю папку удали, а только файл applicationHost.config
%windir%\system32\inetsrv\configapplicationHost.config и так там нет. Там только директория schema
> %windir%\system32\inetsrv\configapplicationHost.config и так там нет. Там только директория schema
Это, я думаю, хорошо. Теперь все заново заинсталируй. Intepub создается автоматом? Если нет, то создай вручную + все папки, которые прописаны в applicationhost.config
пипец какой-то, создал вручную эти директории, теперь установка компонентов IIS вообще зависает. Мне надо или все это снести к чертовой матери, затем снова установив, или скачать где-нибудь бекап директории inetpub. Что думаете по последней идее?
Бэкап? Идея правильная!
Если у тебя работают теневые копии, то нет ничего проще.
Посмотри свойства системного диска, закладка «Предыдущие версии». Выбери дату до того как стер Inetpub, нажми Открыть. Вытащи оттуда Inetpub, скопируй на прежнее место.
Если это не поможет, то еще советую восстановить саму систему. На эту же дату должна быть контрольная точка восстановления системы.
бекап inetpub Скопировал, но установка компонентов не идет. может, оттого, что я еще по совету кого-то в сети отключал службу активации Windows?
Дааа… эта служба необходима для работы IIS.
и чего делать?) 100% надо как-то переустановить это все
Откати систему в момент до того как ты удалил inetpub.
не могу. Переустаовить IIs, как я понимаю, можно только переустановив WIndows?
служба снова не включается
>Переустаовить IIs, как я понимаю, можно только переустановив WIndows?
Ну что тут тебе сказать? ) Если другие способы не помогают, то да… переустановка
Кстати, я не совсем понял что ты там мутил с Trusted installer. Это учетная запись, которая позволяет установщику виндоуз получать доступ к системным папкам и файлам. Если ты изменил какие-то значения по умолчанию… может поэтому переустановка не помогает. Вот ты писал, что скопировал inetpub и переустановка забастовала. Скорее всего причина в том, что после копирования у этой папки отсутсвовали права для доступа Trusted installer.
короче, понял, что мне нужно. У меня не включается .Net Environment, и слдовательно, все, что от него зависит. От чего зависит сам Net Environment?
А с чего ты так решил?
Можешь, конечно, переустановить .NET Framework.
От чего завистит? Не знаю…
исправил, то что я мутил с trusted installer. Не помогло.
Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:
Где мне найти этот файл INDEX.PHP?
index.php надо создать руками в обычном текстовом редакторе а-ля Блокнот.
Спасибо. Но с каким расширением нужно сохранять документ .php просто у меня сохраняет .php.txt.
Спасибо за ответ
Если у тебя получается .php.txt, можно:
1. Зайти в Панель управления -> Оформление и персонализация -> Параметры папок -> Закладка Вид -> Отключить опцию «Скрывать расширения для зарегистрированных типов файлов». Тогда ты сможешь изменить расширение вручную.
2. Открыть файл в Блокноте. Затем Файл -> Сохранить как. Тип файла указать как Все файлы. Имя файла: index.php. Сохраняешь. Файл будет без расширения .txt
Спасибо. Выручил!)
Кто бы не разместил этот материал — СПАСИБО!
Все установил. Работает. Только почему-то работает на index.php, а на других страницах php не пашет.
Это как выглядит? ) Давайте подробности.
Ну сделал стартовой не index.htm, a index.php. На стартовой php работает, а вот в подкаталогах в *.php не работает.
Хорошо. А что пишет? Какие ошибки?
Или просто пустая страница?
Если посмотреть исходный код страницы, увидите ваш php-код?
Пустая. Курсор в задумчивости (часики). Код просмотреть не дает
Сори. Открывал через windows.open — повис. Открыл через Файл-открыть: код php виден.
>Сори. Открывал через windows.open – повис. Открыл через Файл-открыть: код php виден.
Не, смотреть исходный код надо, когда в браузере открываешь страницу. Правый клик по странице -> Исходный код
Дак правильно. Так и сделал. Просто у меня открытие данных страниц с html-страницы осуществляется через window.open (‘email/email.php’…. При таком открытии (нажатии ссылки) открывается страница, но содержимого нет, курсор в режиме задумчивости и контекстное меню не открывает.
Если открыть в браузере через Файл->Открыть-> и выбрать файл email.php, то содержание страницы появится, но вот php работать не будет.
Еще добавлю, что на сервере провайдера все работает, а у себя веб-сервер настрить не могу
Лады.
А в настройках безопасности подкаталога группа IIS_IUSRS имеет право на чтение и запись?
А не могли бы по подробнее про IIS_IUSRS?
Нужно открыть свойства папки, в которой распологаются файлы веб-сайта (по умолчанию wwwroot), закладка Безопасность. В списке находим группу IIS_IUSRS и даем ей права полного доступа.
У меня такая проблема: скачал по ссылке дистрибутив php 5.2, но в нем отсутствуют функции для работы с MySQL. Папка ext отсутствует, в php.ini все отключено, не знаю, что делать. Заранее благодарен за помощь.
Думаю, что во время установки вы просто не выбрали расширения MySQL (а может и отключили их случайно). Чтобы это исправить нужно зайти в Панель управления -> Установка и удаление программ. Выбрать в списке PHP и нажать кнопку Изменить. Запустится мастер установки PHP. На первом экране выберите Change, далее IISFastCGI, на следующем экране вы увидите список установленных компонент. Откройте ветку Extensions, найдите MySQL, если кнопка MySQL с красным крестом, выберите установку на локальный диск, затем жмите Next и в конце концов Change. Модули должны будут установиться.
Если же все равно не получится (что маловероятно), скачайте zip-архив php и скопируйте нужные расширения (php_mysql, php_mysqli) оттуда вручную.
Спс, попробую потом и отпишусь.
Вообще, когда я устанавливал php, у меня по умолчанию установщик устанавливать никаких расширений не хотел, везде стоял крестик, проверю, огромное спасибо за помощь!
Все сделал, как написано. Но после того как выполняю «Теперь открываем сайт в браузере (http://localhost)» в браузере выходит пустая страница. Что делать?
Пустая страница до установки PHP или после?
Здравствуйте! Да, после установки PHP.
+++ Да, кстати, только что открыл 80-й порт. Все равно пустой экран.
++++ Когда смотрю код страницы, там нет
Простой html-файл нормально отображается?
Какой именно? Обычные html-страницы? Да.
А когда вбиваю http://localhost/ — отображается просто пустая страница (в коде нет ничего, кроме ). Что может быть?
Так, а в index.php какой код?
Попробуй в php.ini включить отображение всех ошибок:
error_reporting = E_ALL
может что-от всплывет…
В php.ini тот код, который выше указан (если его вставлять здесь в сообщение, он почему-то не отображается).
Проверил в IE8 — вообще-то в коде страницы ?php phpinfo()? (с по бокам) присутствует. Что это может быть тогда?
Про error_reporting — сделал, не выводит ничего.
Ага, если в коде страницы <?php phpinfo() ?> присутствует, значит файл не обрабатывается парсером php.
Если открыть http://localhost/index.php будет пустая страница или ошибка, что файл не найден?
Если все же выйдет пустая страница, значит php установился некорректно. В настройках IIS в разделе «Сопоставление обработчиков» присутствует запись PHP_via_FastCGI — *.php? И еще в настройках присутствует раздел «Параметры FastCGI» (в нем должен быть указан путь к файлу php-cgi.exe)? В компонентах IIS не забыли установить поддержку CGI?
1. «Если открыть http://localhost/index.php будет пустая страница или ошибка, что файл не найден?»
— пустая страница (в коде как у вас указано выше присутствует).
2.»В настройках IIS в разделе «Сопоставление обработчиков» присутствует запись PHP_via_FastCGI – *.php?»
—- Да, есть. Внутри указан путь к нужному файлу C:\_PHP\php-cgi.exe
!!!!****!!!! В том же окне «сопоставление модулей» CGI.exe «отключен» — так должно быть?
3. «И еще в настройках присутствует раздел «Параметры FastCGI» (в нем должен быть указан путь к файлу php-cgi.exe)?»
—- да, все есть, указан тот же путь (см. выше).
4. В компонентах IIS не забыли установить поддержку CGI?»
—- не забыл, отмечена флажком (вообще, все настройки там сделаны, как написано у вас в самом начале).
Дааа… странно. Судя по последнему вашему комментарию настройки правильные, но php почему-то не работает.
Попробуйте в php.ini включить опцию display_startup_errors = On и перезапустить службу IIS. Может покажет какие-то ошибки.
Какую версию php устанавливаете? Как последнее средство, попробуйте удалить текущую версию и установить каку-нибудь другую (бывают кривые дистрибутивы). К примеру вместо 5.3.х поставить 5.2.х.
Maxx, вот это так и должно быть:
2.»В настройках IIS в разделе «Сопоставление обработчиков» в окне «сопоставление модулей» CGI.exe «отключен»?
Да, так и должно быть.
В общем, несколько раз все сносил и перестанавливал — ничего не получалось. В итоге сделал, как показано здесь: http://www.youtube.com/watch?v=XD5qUeWXkVI ВСЕ ЗАРАБОТАЛО!!!
Да, отличная инструкция по ручной установке. Сравнил с тем, что делает автоматический установщик php, на 99% то же самое.
Отличия от ручной установки:
Вместо short_open_tag = On установщик оставляет Off и это правильно, тег <? уже давно подмял под себя язык xml.
Установщик не задействует опцию cgi.fix_pathinfo = 1, что уже не так хорошо, лучше все же ее включить.
Но самое главное отличие, что для 64-битной версии Windows, в разделе «Пулы приложений» для DefaultAppPool необходимо задействовать поддержку выполнения 32-битных приложений (кстати, если созданы дополнительные пулы для существующих сайтов, то в них необходимо проделать ту же операцию). Вот этого я не знал! У тебя, кстати, виндоуз случайно не 64-битный? Если да, то это все объясняет.
Да, Windows 7 64-bit. А я думал, что они все 64-битные.
Огромное спасибо автору за отличную статью. Все работает. Даже без всяких перезагрузок. Избавился от необходимости использовать дополнительный софт.
Приветствую.
Тоже есть вопрос. Поставил IIS в связке с ASP.NET, но суть не в этом. Надо чтобы другие люди стучались к сайту и пользовались им соответственно по айпишнику. АйПи статический всё как положено. Сайт в пределе локалхоста работает на ура, только вот по ай-пи ну некак не хочет. Может есть ещё какие то советы, что это может быть. В брэндмауре правило служба интернета включил.
Заранее благодарю.
А Интернет через роутер? Если да, то на нем необходимо настроить форвардинг 80-го порта.
После этого проверьте открыт ли порт.
Max Bond: с тобою можно связаться по аське(9757671) или тому же скайпу(igriik1)?у меня куча проблем
А что за проблемы? Если по теме, пиши сюда.
«Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:» сделал как написано,вместе с ,запускаю локалхост,но вылезает всё равно страница IIS7,а не РНР страничка
Если index.php создавал в блокноте, то при сохранении могло добавиться расширение .txt. Проверь, может в этом дело.
Еще можно удалить файл iisstart.html из корневой папки. Что тогда будет — «Ошибка HTTP 403.14 — Forbidden»?
про расширение,я его изменил поставив вручную РНР,2 вариант да,вылезло
Error Summary
HTTP Error 403.14 — Forbidden
The Web server is configured to not list the contents of this directory.
Значит где-то опечтака, т.к. эта ошибка означает, что сервер не может найти index.php
Если опечатки не видишь, тогда попробуй включить функцию просмотра каталога. Открываешь настройки сайта, далее раздел «Просмотр каталога» (там же где и «Документ по умолчанию» ты искал). Справа в колонке Действия нажми Включить.
После этого вновь открой сайт. Увидишь список файлов. Нажми на index.php
сделал, вылезло чистая страница с надписью после знака вопроса сам добавил пробелы,а то не видно
проблема решилась,ручная смена расширения не помогла,по этому и ошибка вылезала,спасибо всё получилось
на последней стадии «Нажимаем OK. На этом базовая настройка завершена. Нужно проверить работоспособность только что созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите похожую страницу:»,я запускаю сайт в опциях и пишут «Процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0×80070020)»,как исправить?и что за процесс вообще перехватывает ?
Эта ошибка говорит о том, что 80-й порт уже занят другим приложением.
Очень часто такая ошибка возникает, если установлен другой веб-сервер (например Apache) .
А еще из-за Skype. Если он установлен, отключите автозагрузку и полностью закройте его. Потом повторите запуск сайта.
Также можно изменить порт веб-сайта в настройках привязки, например на 8080. Это тоже должно решить проблему. Обращаться к сайту придется так: http://localhost:8080
Чтобы проверить какой процесс занимает 80-й порт, в командной строке введи: netstat -ano -p tcp
В колонке Локальный адрес ищи 0.0.0.0:80, когда найдешь, смотри какой PID соответствует этой строке. Далее в Диспетчере задач открой вкладку Процессы. Отметь опцию «Отображать процессы всех пользователей». В меню Вид -> «Выбрать столбцы» отметь «ИД проесса (PID)». Теперь с помощью PID можно выяснить какой процесс занимает порт.