CodeNet / Веб программирование / WEB Сервера / Apache
Установка сервера в связке: Apache 2, PHP 5 и MySQL 5
Ставим Apache 2
Я ставил Apache версии 2.0.55, т.к. большинство сидит на винде, а автоматический установщик (для ленивых) есть максимум для версии 2.0 Апача. Скачать данную версию вы можете с офф. сайта http://httpd.apache.org/download.cgi. Установка его довольно проста и описана во многих руководствах, выложенных в сети. Загружаем файл apache_2.0.55-win32-x86-no_ssl.exe себе в дистрибутивы и запускаем его. Нажимаем "Далее", как показано на рисунке
Соглашаемся с лицензией и нажимаем "Далее"
Можете почитать о данной версии, если хотите. Нажимаем "Далее"
Если у вас нет зарегистрированного домена (как у меня), то можете писать что хотите. Указываем параметры как на рисунке, нажимаем "Далее"
Ставим "Обычный" тип установки, жмём "Далее"
Здесь можно выбрать папку, в которую поставить сам модуль Апача. Я выбрал по умолчанию. Следует заметить, что данные самого сервера (его наполнение) может лежать в любой папке на любом диске, это указывается в настройках самого Апача (об этом будет расказано ниже). Нажимаем "Далее"
Наконец начинаем саму установку, нажимаем "Инсталлировать"
После того как закончится инсталляция Апача, нажимаем "Завершить" и выходим из программы установки
Всё, теперь Апач установлен, осталось его сконфигурировать. Информацию о конфигурации я взял отсюда.
Сначала создайте себе папку в корне какого-нибудь диска (я сделал D:\Site\), в которой будут храниться все остальные приложения и данные сайта. Далее создайте папку D:\Site\localhost\, в которой создайте директории www и cgi соответственно. www будет содержать материалы сайта, а cgi - скрипты CGI, если таковые у вас будут. Из папки ...\Apache2\logs\, скопируйте файлы access.log и error.log в директорию D:\Site\localhost\ чисто для удобства. По названию данных файлов легко понять их функции: регистрация обращений к сайту и ошибок соответственно. В директории ...\Apache2\conf\ найдите файл httpd.conf (не спутайте с httpd.default.conf) - это файл с настройками Апача. В нём найдите строчку
ServerRoot "C:/Program Files/Apache Group/Apache2"
она должна содержать путь к самому Апачу, т.е. на ту папку, куда у вас Апач установлен. Обратите внимание, что в пути слэш прямой и заканчивается адрес без слеша.
Далее привязываем Apache к конкретному порту:
Listen 80
При некоторых ошибках сервера Апач выдаёт E-mail администратора, это можно прописать в данной строке
ServerAdmin your@email.name
Теперь прописываем путь к данным сайта
DocumentRoot "D:/Site/localhost/www"
Найдите блок
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
и замените его на
<Directory "D:/Site"> Options Indexes Includes AllowOverride All Order allow,deny Allow from all </Directory>
Задаём файлы, которые будут открываться по умолчанию, если в строке адреса браузера не будет указано: какую именно страницу открывать первой
DirectoryIndex index.php index.html index.html.var
Настраиваем языки. В языковых настройках оставьте только строчки
AddLanguage en .en AddLanguage ru .ru
Далее указываем языковой приоритет
LanguagePriority en ruНастройку кодировок:
AddDefaultCharset WINDOWS-1251 AddCharset WINDOWS-1251 .cp-1251 .win-1251
остальные просто заремьте символом #.
Включаем SSI
AddType text/html .shtml AddHandler server-parsed .shtml .html .htm
Так как у нас нет виртуальных хостов, то прописываем пути к файлам логов:
ErrorLog D:/Site/localhost/error.log CustomLog D:/Site/localhost/access.log common
Всё Апач установлен. Перезапустите его, чтобы изменения вступили в силу.
Для проверки правильности создайте файл index.html в директории D:\Site\localhost\www напишите там следующее:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//RU"> <html> <head> <title>Главная страница</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body> <center> Hello World </center> </body> </html>
Если Апач правильно установлен, то при вводе в адресную строку браузера адреса http://localhost/ откроется этот самый index.html с надписью Hello World. Если же не выводится, то копайтесь в настройках Апача, перепроверяйте всё, что можно: слеши, директории, закрытость тегов и т.п.
Ставим PHP 5
В первую очередь качаем файл php-5.1.2-Win32.zip с http://www.php.net/downloads.php. Распаковываем его (такой какой он есть, вместе с поддиректориями) в папку D:\Site\PHP. Информацию по установке PHP5 я брал с http://www.softtime.ru/info/articlephp.php?id_article=24. Так нам пока не нужно, чтобы PHP работал постоянно, то будем устанавливать его как CGI-приложение.
Откройте настроечный файл Апача httpd.conf и раскомментируйте/измените строчки:
AddType application/x-httpd-php phtml php <Directory "D:/Site/PHP"> Options ExecCGI </Directory> ScriptAlias "/php_dir/" "D:/Site/PHP/" Action application/x-httpd-php "/php_dir/php-cgi.exe"
Сохраняем файл httpd.conf и закрываем его.
Конфигурируем PHP. В папке D:\Site\PHP находим файл php.ini-dist и сохраняем его в директорию ...\WINDOWS\ как php.ini. Это файл с настройками PHP. Открываем его, ищем и заменяем/разремиваем строки
error_reporting = E_ALL & ~E_NOTICE
Затем
display_errors = On
Далее
variables_order = "EGPCS"
Потом:
register_globals = On
Далее
register_long_arrays = On
Настраиваем индекс файл
DirectoryIndex index.html index.html.var index.php
Сохраните файл и закройте его.
Всё. PHP установлен, для проверки работоспособности в директории www создайте файл phptest.php, содержание которого указано ниже
<?php phpinfo(); ?>
Перезапустите Апач. При правильной настройке после запуска этого скрипта по ссылке http://localhost/phptest.php откроется страница с перечислением настроек и модулей установленного PHP5.
Ставим MySQL 5
С http://dev.mysql.com/downloads/ качаем дистрибутив mysql-essential-5.0.19-win32.msi и запускаем его. Нажимаем "Далее"
Устанавливаем выборочно
Меняем директорию на D:\Site\SQL
ОК
Нажимаем "Далее"
Нажимаем "Установить"
Процесс установки
Пропускаем авторизацию
И сразу конфигурируем SQL Server
"Далее"
Стандартная конфигурация. (В выборочной можете поменять кодировку, количество одновременно подключаемых и т.д.)
Везде ставим галочки, "Далее"
Ставим root-пароль, повторяем его, "Далее"
Нажимаем "Выполнить"
После записи настроек и перезапуска сервиса нажимаем "Закончить"
Теперь установлен MySQL. При таком раскладе ваш юзер в MySQL будет root, а пароль сами ставили ;-)
Осталось сконфигурировать PHP под него. Открываем файл настройки PHP, т.е. php.ini, он находится в директории ...\WINDOWS\. Найдите там строку
extension=php_mysql.dll
раскомментируйте её.
Теперь найдите строку extension_dir ="./" и поменяйте её значение на местоположение папки ext в директории с установленным PHP
extension_dir ="D:/Site/PHP/ext"
Перезапустите Апач. Теперь MySQL установлен. Для проверки создайте в серверной папке www файл sqltest.php со следующим кодом
<?php $dblocation = "127.0.0.1"; $dbname = "test"; $dbuser = "root"; $dbpasswd = ""; $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); if (!$dbcnx) { echo "<p>К сожалению, не доступен сервер mySQL</p>"; exit(); } if (!@mysql_select_db($dbname,$dbcnx) ) { echo "<p>К сожалению, не доступна база данных</p>"; exit(); } $ver = mysql_query("SELECT VERSION()"); if(!$ver) { echo "<p>Ошибка в запросе</p>"; exit(); } echo mysql_result($ver, 0); ?>
При правильной установке страница выдаст версию MySQL.
Ссылки по теме
- Установка и настройка Web - сервера Apache, базы данных MySQL и интерпретаторов языков PHP и Perl
- Переход с сервера Apache 1.3 на Apache 2.0
- Установка и настройка Apache, PHP, MySQL и SMTP под Windows NT/2000/XP
Оставить комментарий
Комментарии
Смените строчку $dbpasswd = ""; на $dbpasswd = "ваш рут пароль";
как быыыть??
<Directory "J:/Apache2/htdocs">
на
<Directory "J:/TEST">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
и даже
<Directory "J:/TEST/localhost/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
АПАЧ у меня намертво становится, выдает ошибочку:
The requested operation has failed!
А вот если я делаю вот так:
<Directory "J:/TEST">
Апач снова стартует как ни в чем не бывало.
Прошу помощи милейшие... Срочно нужно
Осталось сконфигурировать PHP под него. Открываем файл настройки PHP, т.е. php.ini, он находится в директории ...WINDOWS. Найдите там строку
раскомментируйте её.
Строку я нашел там у меня написано
что с ней нада сделаать? ( сори за тупой вопрос) но я как то первый раз вообще этим занимаюсь )
на
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
у меня отказывался запускаться апач, вылечилось у меня вписыванием адреса всесто <Diretory D:/site> этого <Directory \"D:/site/licalhost/www\">...но все-равно огромное спасибо за данный мануал!))
ася 201981061, apostolkann@mail.ru, либо в личку.
Заранее благодарю! С уважением, Павел.
Это руководство поможет Вам установить и сконфигурировать Apache 2.2.11 + PHP 5.3 + MySQL 5.1.36 и PHPMyAdmin 3.2.0.1 для Windows Vista & Windows 7 по «принципу шаг за шагом».
• Шаг 1 : Установка Apache
• Шаг 2 : Установка & конфигурация PHP 5.3
• Шаг 3 : Конфигурация Apache 2.2.11
• Шаг 4 : Тестирование Apache + PHP
• Шаг 5 : Установка & конфигурация MySQL5
• Шаг 6 : Installing and Configuring PhpMyAdmin 3 Optional
• Шаг 7 : Научим Windows узнавать myserver.com Optional
Что потребуется :
1. Apache HTTP Server (2.2.11)
Лучший ,на мой взгляд, вебсервер, если Вы хотите превратить Ваш компьютер в мощный вебсервер для работы ваших приложенийs.
Скачать Apache 2.2.11 (with no mod ssl)
2. PHP 5.3 – Скачать PHP 5.3.0 (VC6 Thread safe)
3. MySQL 5.1.36 – перейти к странице для скачки
4. PHPMyAdmin 3.2.0.1
PHPMyAdmin страница для скачки
Вышеуказанный софт совместим с Windows 7/Vista/Vista SP1-SP2 (32 bit OS).
До того как приступить к выполнению руководства, пожалуйста выключите UAC (User Access Control) в Vista. Поверьте, иначе Вы намучаетесь от popupов в процессе инсталляции.
Шаг 1 : Установка Apache
...
...
Дальше могу продолжить если кому интересно :-(
register_globals = On,
имхо, за такое сразу расстрел в саду. Нет, я конечно понимаю, что в такой конфигурации это можно использовать. Когда понимаешь, ЧЕМ это чревато, но включать эту опцию в стать для новичков?! В сад.
ты знаешь, я на диалапе пробовал, мой сайт видится через IP
там есть кусок
Найдите блок
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
и замените его на
<Directory "D:/Site">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
так делать не надо.
тег директори закрывается ниже.
просмотри кусок настроек там ты увидишь и Option Indexes и AllowOverride.
Поищи по тегу </Directory>
Сразу все поймешь.
Может я что-то не так делаю!?
ну бля сайт открываеся на 127.0.0.1 ! как опубликовать сайт в сеть и что б открывался не на ету хуйню ->127.0.0.1! а на мой ::айпишник ??? Я ваще немогу вдуплить че нуна делать !помогите разобраться:)
Была аналогичная проблема. Причина крылась в skype как ни странно. Если запустить сначала апач потом скайп - все ок
Ты запустил сразу 2 web сервера или у тебя запущен троян.
"<OS 10048>Only one usage of each socket address <protocol/network/port is normally permited. :make_sock : could nor blind to address 0.0.0.0.:80 no listening sockets available,shutting down
Unable to open logs "
Прошу помоч как можно быстрей !
!!! Зарание благадарю !!!
г-н noname никак не поймёт этого:)
денвер никогда и не претендовал на роль сервера, а специально сделан был для девелоперов
По статье малюсенькое замечание:
"Перезапустите Апач. Теперь MySQL установлен. Для проверки создайте в серверной папке www файл sqltest.php со следующим кодом"
Апач перезапускать на этом шаге не обязательно, ибо php настроен как cgi
к сожалению плохая обработка IPv6 и нехватка настроек заставляют писать дополнительные модули на перле. Денвер не отвечает всем запросам избалованного вебмастера, собственно денвер был сделан для тестирования WEB-ресурсов на localhost и это - его главная функция, а для полноценной работы в среде LAN он неподходит, особенно при чрезмерной нагрузке на клиентские устройства маршрутизации.
Денвер - узкоспециализирован но при этом отвечает минимальным запросам среднего пользователя. Относительно некоторых модулей Денвера:
1.Очень кривой Perl
2.PHPMy Admin - позор, говорить даже ничего не надо.
3. Отсутсвие модуля управления встроеной авторизацией Apache особенно удивляет.
4. Безграмотно сделанй модуль установки потряс до глубины души (при некотрых обстоятельствах возможен вариант покупки нового харда).
5.Коряво настроенный vhost.
6.Бесконечное пожерание оперативной памяти серверного оборудования (есть реальный пример перегрузки 6 гигабайтного модуля на сервере WIN 2003 OEM 2xOpteron 6Gb RAM на гигабитном канале :))
собственно Денвер как он есть
и вообще, *NIX - рулит...
Apache2 + PHP5 + MySQL + PHPMyAdmin
это все что нужно для полноценного хостинга у вас дома!