Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 12696
Последний выпуск: 9.07.2014

Установка и настройка Web - сервера Apache, базы данных MySQL и интерпретаторов языков PHP и Perl

Автор: Death Scorpion
3 октября 2005 года
http://security.h12.ru/

Часть 1. Установка.

1.1 Установка Apache

Первым делом поставим сам Веб-сервер Apache, что логично. Для этого заходим на сайт www.apache.org, и скачиваем оттуда самого Апача: ссылка на файл должна выглядеть примерно так:

Apache 1.3.xx Win32 Binary (Self extracting)

Примечание:

Я буду все рассказывать на примере Apache версии 1.3.33. Он довольно стабилен и проблем с его установкой и настройкой не возникало. Хотя Вы сможете скачать свежачок с сайта. КРАЙНЕ НЕ РЕКОМЕНДУЮ ставить Apache 2. Так как связка Apache 2 + php является скорее экспериментальной и с ее установкой и настройкой проблем возникает гораздо больше (особенно, когда еще подключается MySQL).

Еще хочу развеять одно заблуждение - Apache 2 - это не новая версия Apache 1.3, а проект, который разрабатывается параллельно с Apache 1.3. Сам Apache 1.3 продолжает развиваться независимо от 2 версии.

1.1.1 Итак, Вы скачали Apache. Название файла выглядит примерно как apache_1.3.33-win32-x86-no_src.exe. Открывайте этот файл. Бегут буковки, циферки и в результате Вы видите следующее окно:

Значит, Вы скачали то, что нужно и сейчас начнется инсталляция: Жмите Next.

1.1.2 Появится окно с лицензионным соглашением. Выберите пункт I accept the terms in the license agreement и жмите Next.

1.1.3 В следующем окне тоже жмите Next.

1.1.4 Теперь должно появиться окно:

Первое поле - название домена. Допустим, напишите mysite.ru

Второе поле - название сервера. Допустим, www.mysite.ru

Третье поле - e-mail адрес администратора. Напишите что - нибудь, вроде admin@mysite.ru

Примечание:

Если Вы будете использовать свой Веб - сервер только для тестирования скриптов на локальном компьютере - то неважно, что Вы там напишите. После установки, если захотите, можете переправить эти поля.

Ниже выберите пункт Run as a service for Al Users.

Жмите Next.

1.1.5 В следующем окне выберите пункт Complete и нажмите Next.

1.1.6 Теперь Вас спросят, куда ставить Apache. Советую, не мудрствуя лукаво, ставить в папку по умолчанию: C:\Program Files\Apache Group\

Жмите Next.

1.1.7 Вам напишут, что все готово к установке. Нажмите Install, чтобы ее начать.

1.1.8 Если все прошло успешно, по окончанию инсталляции Вы увидите окно

Жмите Finish. Вот и все! Мы установили самый лучший Веб - сервер в мире - Apache!

Но не расслабляйтесь, нам еще предстоит много. Переходим к следующему пункту:

1.2 Установка php

Сперва нам надо получить сам php. Заходим на сайт http://www.php.net/ и качаем оттуда ZIP-архив Windows Binaries (PHP 5.x.x Zip package).

Не стоит качать "PHP 5.x.x installer" - так как там отсутствуют многие необходимые нам файлы!

Далее распаковываем архив в C:\php, хотя Вы можете распаковать куда хотите, но в дальнейшем я буду описывать настройку, полагая, что он у Вас все - таки в C:\php :

Вот и все, php мы установили. Если захотите его стереть, то надо будет всего навсего удалить папку c:\ php, а не через Установку и Удаление. Идем дальше:

1.3 Установка perl

Теперь займемся установкой интерпретатора другого популярного языка для web - кодинга - Perl. Для Win32 нам нужен не обычный Перл, который изначально создавался под *nix - системы, а уже скомпилированная под Windows версия - Active Perl (хотя, если есть желание, то можете скачать исходники и скомпилировать сами Perl под Win32). Качаем его с сайта www.activestate.com.

Я буду рассказывать на примере Active Perl 5.8.0, так как его установить будет проще - он имеет привычный графический Windows - инсталлятор (хотя, если хотите, можете поставить свежачок - Active Perl 5.8.6. Он имеет консольную инсталляцию и устанавливается тоже очень просто. Подробно об установке этой версии можете прочитать тут http://poizon.net.ru/?s=4;f=5).

1.3.1 Итак, мы скачали файл. Он выглядит примерно, как ActivePerl-5.8.0.805-MSWin32-x86.msi - обычный Win - инсталлятор. Запускаем и видим окно:

Жмем Next.

1.3.2 Появится окно с лицензионным соглашением. Выберите пункт I accept the terms in the license agreement и жмите Next.

1.3.3 Выбираем, куда ставить Perl. Я советую сменить имя директории на C:\usr.

Примечание:

Это следует сделать по следующей причине: если Вы тестируете скрипты на локальной машине, то наверняка потом выкладываете на Web - сервер. А хорошие сервера, как известно, работают под *nix - системами. В начале перл - скрипта Вы пишете путь к интерпретатору перла. Обычно на сервере он выглядит как

#!/usr/bin/perl. А если на локальной машине Перл у Вас будет стоять в папке, скажем, С:\Perl, то первая строчка будет выглядеть так #!/Perl, и после тестирования скриптов и перед их закачкой на сервер, Вам придется менять первую строчку во всех Ваших скриптах.

1.3.4 В следующем окне жмем Next (не надо ставить галочку).

1.3.5 В следующем окне оставляем галочки, где они стоят и жмем Next

1.3.5 Должно появиться окно:

Теперь все готово к инсталляции, жмем Install.

1.3.6 Инсталляция завершена. Жмем Finish. Читаем справку и радуемся - мы уже установили сам веб - сервер и интерпретаторы 2 самых популярных языков программирования в Вебе - PHP и Perl. Но на этом установка не закончилась.

Каждый веб - мастер, пишущий серьезные проекты (а рано или поздно Вы начнете их писать) использует базы данных, а самой популярной, удобной и простой в использовании базой данных является, безусловно, MySQL. Не стоит откладывать этот шаг до лучших времен - давайте лучше сразу все установим и получим полноценный рабочий Веб - сервер со всеми наворотами. Поэтому, переходим к следующей части:

1.4 Установка MySQL

Как обычно, сначала нам надо скачать эту красоту. Делаем это тут: http://www.mysql.com/

В разделе Downloads. Выбирайте там самую последнюю версию под Windows и скачивайте. Я буду рассказывать на примере MySQL 4.1.9, хотя инсталляция более новых ничем не отличается от этой. Дистрибутив представляет собой zip - архив, который надо куда - нибудь развернуть.

1.4.1 Теперь запускайте файл setup.exe. Должно появится окошко:

Жмем Next.

1.4.2 В следующем окне выбираем тип установки Custom. Жмем Next.

1.4.3 Щелкаете по кнопке Change и меняете путь на C:\Program Files\MySQL\

Жмете Next.

1.4.4 Все готово к установке, жмем Install.

1.4.5 Появится окно:

Выбираем нижний пункт и жмем Next.

1.4.6. В следующем окошке ставим галочку и давим Next.

1.4.7 Появится окно Configuration Wizard

Ну что ж, будем конфигурировать:. Жмем Next.

1.4.8 Выбираем Detailed Configuration и жмем Next.

1.4.9 Выбираем Developer Machine и жмем Next.

1.4.10 Выбираем Multifunctional Database и давим Next.

1.4.11 Появится окно:

Оставляем все, как на рисунке и нажимаем на Next.

1.4.12 Выбираем пункт Decision Support (DSS)/OLAP и опять жмем Next.

1.4.13 Оставляем галочку Enable TCP/IP Networking, номер порта оставляем 3306 и давим на Next.

1.4.14 Выбираем Standart Character Set и жмем Next.

1.4.15 Ставим галку напротив Install As Windows Service, имя оставляем MySQL, а с Launch the MySQL Server automatically снимаем. Хотя если хотите, то можете оставить, но она будет постоянно висеть в памяти и кушать ресурсы (хоть и не большие, где-то 9 мегабайт). Лично я предпочитаю все запускать вручную, когда понадобится.

Жмем Next.

1.4.16 Ставим галку напротив Modify Security Settings, пишем пароль рута (так в *nix системах зовется администратор), потом подтверждаем во втором поле и жмем Next.

1.4.17 Теперь жмем Execute

1.4.18 Жмем Finish.

Примечание:

Запускается и останавливается сервер MySQL соответственно командами

net start mysql
net stop mysql

1.5 Заключение к первой части

Подведем итоги: мы с вами установили джентльментский набор Web - мастера под Win - платформу :

  • Сам Web - server Apache
  • Интерпретаторы Perl и PHP
  • Базу данных MySQL

Теперь можете отдохнуть перед следующей частью нашей с Вами работы - настройкой всего выше перечисленного добра :)

Часть 2. Настройка.

Ну что ж, мы все успешно установили, теперь нам нужно сделать так, чтобы это все друг с другом работало. Итак:

2.1 Настройка работы Apache

Сперва так настроим Apache, чтобы нам было удобно работать с нашим сервером. Основные настройки сервера храняться в файле httpd.conf, который находится по адресу c:\Program Files\Apache Group\Apache\conf\httpd.conf (если Вы, конечно, установили его туда как я описывал в первой части). Это обычный текстовый файл, открывайте его блокнотом.

2.1 Настройка работы Apache

Сперва так настроим Apache, чтобы нам было удобно работать с нашим сервером. Основные настройки сервера храняться в файле httpd.conf, который находится по адресу c:\Program Files\Apache Group\Apache\conf\httpd.conf (если Вы, конечно, установили его туда как я описывал в первой части). Это обычный текстовый файл, открывайте его блокнотом.

2.1.1 Первым делом ищем строчку

DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs" и меняем ее на DocumentRoot "C:/www/html"

Теперь объясню, зачем мы это сделали. Не очень удобно делать так, чтобы все html - страницы Вашего сайта находились по адресу C:\Program Files\Apache Group\Apache\htdocs. Гораздо удобнее, когда все HTML - документы на Вашем сервере лежали бы в одной папке C:\www\html.

Обратите внимание, что в пути вместо стандартного для Win - систем обратного слэша "\" используется прямой - "/". Это объясняется тем, что Apache разрабатывался изначально под *nix - системы, а там везде вместо "\" используется "/".

2.1.2 Теперь ищем строчку

ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"

и меняем ее на 2 следующие строчки:

ScriptAlias /cgi/ "C:/www/cgi/"
ScriptAlias /cgi-bin/ "C:/www/cgi/"

Тут мы делаем, таким образом, 2 вещи: первая, что все cgi - скрипты будут располагаться в папке c:\ www\cgi. Делается это также исключительно для удобства. А вторая, что для каталога C:/www/cgi создается 2 псевдонима. Таким образом, если будет указан путь http://localhost/cgi или http://localhost/cgi-bin , то на самом деле обращение будет идти к одной и той же папке c:\www\cgi

2.1.2 Ищем секцию <Directory "C:/Program Files/Apache Group/Apache/htdocs"> и заменяем ее содержимое на следующее:

<Directory "C:/www">
 Options Indexes Includes
 AllowOverride All
Allow from all
</Directory>

Тут мы задаем ряд настроек по умолчанию для нашего каталога c:\www и всех подкаталогов, которые в нем содержатся: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, возможность использовать файлы .access для индивидуальной настройки каталогов.

2.1.3 Ищем строчку

#AddHandler cgi-script .cgi

стираем перед ней комментарий и добавляем .bat .exe

В результате строчка принимает вид:

AddHandler cgi-script .cgi .bat .exe

Тут мы указываем серверу, что файлы с расширениями .bat, .exe, .cgi надо рассматривать как cgi - модули

2.1.4 Ищем строчки

#AddType text/html .shtml
#AddHandler server-parsed .shtml

И меняем их на

AddType text/html .shtml
AddHandler server-parsed .shtml .html .htm

Здесь мы указываем серверу, файлы с какими р будут обрабатываться как SSI.

Примечание

SSI (Server Side Include) - технология, которая позволяет включать в WEB - страницу "внешние" файлы (будь то другая html - страница или скрипт, находящийся в папке cgi). Таким образом можно строить сайт как бы по кирпичикам.

2.1.5 Не забудьте сохранить изменения в файле httpd.conf

Общая настройка Apache закончена. Нажмите Пуск -> Выполнить, введите команду

net start apache.

Теперь если в адресной строке браузера Вы введете http://localhost, то высветится страничка index.html, расположенная в папке c:\www\html, а если ее там нет, то список файлов в этой папке.

2.2 Настройка связки Apache + PHP5

2.2.1 Скопируйте файл php5ts.dll из папки C:\php в папку C:\WINDOWS\SYSTEM32

2.2.2 Скопируйте файл php.ini-dist из папки C:\php в каталог C:\WINDOWS и переименуйте его в php.ini, откройте в блокноте, найдите переменные, указанные ниже и установите их значения, как написано ниже:

register_globals = off
magic_quotes_gpc = off
magic_quotes_runtime = off
error_reporting = E_ALL  # - и именно так, никаких E_ALL & ~E_NOTICE и пр.!
display_errors = on 

Примечание:

Если Вы начинающий программист на PHP, то советую Вам установить значение register_globals = on. Объясню почему: почти во всех руководствах по РНР пишут, что даные, полученные из формы, или переданные по ссылке, вот так: http://localhost/my_script.php?variable1=x&variable2=y автоматически становятся переменными PHP, $x и $y. Но эта информация немного устарела.

Приведу по этому поводу отрывок с сайта http://phpfaq.ru

"Дело в том, что в целях безопасности, начиная с версии 4.1, РНР настраивается по умолчанию так, чтобы переданные значения не назначались переменным.

Получить же переданное значение можно обратившись к соответствующему массиву.

Например:

Если передаем методом GET, обратившись к скрипту по ссылке вида

script.php?var=value

или отправив форму, указав в ней method="GET",

то все переменные содержатся в массиве $_GET.

echo $_GET['var']; напечатает "value".

Если получаем данные из формы, отправленной методом POST, то все поля этой формы содержатся в массиве $_POST. Допустим, в форме был элемент

<input type="hidden" name="var" value="1">,

то в скрипте, который указан в action формы, можно написать echo $_POST['var']; и будет выведена 1.

Поэтому, если вы уверены, что переменная есть, но вы не можете ее найти - ищите ее в суперглобальных массивах.

Подробнее о них можно почитать на русском языке в официальной документации http://ru2.php.net/variables.predefined

То же касается и серверных переменных, таких, как $REMOTE_ADDR, $PHP_SELF. Получить их можно, обратившись к массивам $_SERVER, $_ENV или функцией getenv - getenv('HTTP_REFERER');

Переменные, зарегистрированные в сессии, следует искать в массиве $_SESSION.

Данные cookie содержатся в массиве $_COOKIE, сведения о закачанных файлах - в $_FILES

Переменные окружения - в $_ENV, а так же, существует массив $_REQUEST, в котором собраны данные из GET, POST и cookie.

Важно! Весьма в поисках переменных помогает одна их главных функций PHP - phpinfo()

ее следует применять всякий раз, когда вы "потеряли" переменную, вызовите phpinfo(32); в скрипте, в котором не работает авторизация, в скрипте, который принимает файл при аплоаде - и все найдется!

За назначение переменных отвечает параметр register_globals в php.ini.

Если register_globals=on, то все полученные скриптом данные будут назначены соответствующим переменным.

Разработчики PHP настоятельно рекомендуют выключать register_globals (такой режим даже введен по умолчанию во всех новых версиях) и пользоваться данными, полученными от пользователя, только обращаясь к соответствуюим массивам.

Это сделано потому, что при register_globals = on легко взломать небрежно написаный скрипт.

К примеру, функция авторизации выставляет переменную $admin=1, а если авторизации не было, то не делает ничего. В таком скрипте при register_globals=on очень легко стать админом, просто обратившись к нему script.php?admin=1

Огоромное количество сайтов было взломано таким образом.

К тому же, register_globals = off заставляет пользоваться суперглобальнми массивами ($_GET, $_POST и т.д.), что помогает избежать путаницы. ОЧЕНЬ много людей, записав некую переменную в сессию, а потом пытаясь изменить ее значение, передавая ее скрипту методом GET, долго не могли понять, почему у них ничего не работает? Поэтому

очень важно при работе с сессиями, при любых настройках (и особенно - при register_globals=on!) работать только с массивом $_SESSION, как это описано в соответствующем разделе.

То есть, register_globals=off - на самом деле не цель, а средство. Побудительный мотив для программиста писать защищенные скрипты и избегать путаницы.

Если вы хотите написать скрипт, не зависящий от настройки register_globals, и при этом защищенный - переменные надо объявлять перед использованием. На это нацелена еще одна инициатива разработчиков PHP - написание программ при уровне отображения ошибок (error_reporting) равном E_ALL, при котором об использовании необъявленных переменных выдаются предупреждения.

Именно объявление ВСЕХ переменных, используемых в скрипте и являетс гарантией от взлома. Если вы пишете программу для распространения, то гарантией ее безопасности является только объявление переменных.

Если же нет возможности переделать готовый скрипт, но его надо заставить работать при register_globals=off, то надо помнить, что во-первых, вы делаете потенциальную дыру у себя на сайте, а во-вторых, для этого можно воспользоваться функциями extract и import_request_variables

НО: Бездумное использование этих функций является таким же опасным!

Если вы хотите адаптировать старый скрипт под новые правила, то выполните приведенный код именно в таком порядке!

import_request_variables("GPC");
extract($_SERVER);

сначала назначаются переменные, пришедшие от юзера, а потом - предопределенные серверные, чтобы первые не могли затереть одноименные серверные.

ВАЖНО!!! Этот код должен вызываться как можно раньше в скрипте. ДО любого кода и присвоения переменных.

Поскольку он являет собой дыру похлеще register_globals=on!

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

Последние версии PHP сообщают вам об этом нотайсом при использовании import_request_variables.

И то правда - три года прошло с тех пор, как введены новые правила. Пора бы уже и научиться писать скрипты правильно.

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

Все то же самое можно прочесть и в документации: http://www.php.net/manual/ru/security.globals.php"

2.2.3 Настроим PHP двумя способами: как модуль Апача и как CGI - бинарник

2.2.3.1 Настройка PHP, как модуля Apache:

В файл конфигурации Apache httpd.conf добавляем:

LoadModule php5_module C:/php/php5apache.dll 

(хотя может быть и LoadModule php5_module C:/php/sapi/php5apache.dll. Зависит от Вашей версии PHP. У меня 5.0.3 и этот файл лежит, как в первом случае )

После последней директивы AddModule добавляем строку

AddModule mod_php5.c

Внутри блока <IfModule mod_mime.c> добавляем строку

AddType application/x-httpd-php .php

В строке DirectoryIndex надо прописать еще index.php:

DirectoryIndex index.php index.html

2.2.3.2 Настройка PHP, как CGI - бинарника:

В файл конфигурации Apache httpd.conf добавляем:

Внутри блока <IfModule mod_mime.c> добавляем строку:

AddType application/x-httpd-php .php

Сразу после нее добавляем 2 строки:

ScriptAlias /_php_/ "c:/php/"
Action application/x-httpd-php "/_php_/php-cgi.exe" 

Примечание:

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

Action application/x-httpd-php "/php/php.exe"

В строке DirectoryIndex надо прописать еще index.php:

DirectoryIndex index.php index.html

Примечание:

Я советую Вам устанавливать PHP как модуль Apache. В противном случае, Вы лишитесь некоторых функций в PHP, например очень полезной полезной функции virtual(). Да и вообще, на мой взгляд, PHP, установленный как модуль Apache работает стабильнее и быстрее.

2.2.4 Вот и все! Мы уже настроили Apache и PHP. Теперь проверим работу. Создайте файл index.php в папке C:\www\html, а в нем напишите следующие строчки:

<?
phpinfo();
?>

Теперь если Вы, написав в адресной строке браузера http://localhost/index.php, увидите страничку с информацией о версии PHP, установленной на Ваш компьютере, то значит, что все работает, связка Apache+PHP настроена правильно.

2.3 Настройка связки Apache + Perl

В принципе, в разделе "Настройка работы Apache" мы уже все настроили. Теперь остается только проверить работу. Напишем следующий простенький скрипт test-perl.cgi на Perl:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "It works!<br>\n";

Сохраним его в папке C:\www\cgi. В адресной строке пишем

http://localhost/cgi-bin/testperl.cgi

Если видите надпись "It works!", значит действительно It works ;).

2.4 Настройка работы MySQL и PHP

2.4.1 Из каталога с:\php скопируйте в C:\windows\system32 файл libmysql.dll

2.4.2 В файле php.ini раскомментируйте строку extension=php_mysql.dll

2.4.3 Проверьте, чтобы в php.ini строчка, с указанием расположения файлов - расширений выглядела так:

extension_dir = "c:\php\ext"

2.4.4 Работоспособность связки Apache+MySQL+PHP проверим следующим скриптом

mysql_test.php:

<? 
if(!mysql_connect("localhost","root","ваш_пароль "))
{
echo "Не могу соединиться с сервером\n";
echo mysql_error();
exit;
}
echo "Работает!!!";
?> 

Под "ваш_пароль" имеется ввиду тот пароль, который Вы указали при установке MySQL (root password)

Если Вы увидели надпись "Работает!!!", значит нам с вами удалось настроить работу MySQL через PHP.

2.5 Настройка работы MySQL и Perl

Здесь нам, в принципе, ничего настраивать не надо. Для доступа к базе будем использовать модуль DBI. Для проверки работы Perl с MySQL напишем скрипт mysql_test_perl.cgi:

#!/usr/bin/perl
use DBI;

print "Content-type: text/html\n\n";

 = DBI->connect("DBI:mysql:test",,)
	|| die "Can't connect: ::errstr\n";
->do("drop table if exists test");
(->do("\
CREATE TABLE test (
  str CHAR(11)
  )
  "))  or die ::errstr;

=->quote("HELLO WORLD");
->do("INSERT INTO test (str) VALUES ()")
	or die ::errstr;
=->prepare("SELECT * FROM test")
	or die ->errstr;
->execute() or die ->errstr;
print ->fetchrow_array;
->do("drop table test");
->disconnect;

Примечание:

Хочу Вам напомнить, что после изменения любых конфигурационных файлов, надо перезапускать Apache:

net start apache
net stop apache

2.6 Заключение ко второй части:

Ну вот Вы и научились устанавливать и настраивать джентльменский набор Web - мастера. Теперь Вы можете спокойно тестировать любые скрипты на своем домашнем компьютере.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
74K
28 июля 2011 года
Pavel_SS
0 / / 28.07.2011
Мне нравитсяМне не нравится
28 июля 2011, 14:44:51
Попробуйте уже настроенную сборку и платформу для хранения своих проектов fregateserver.ru (последняя версия 1.3.0.10) - Apache-2.2.17 MySql-5.5.12 PHP-5.3.5 phpMyAdmin 3.4.1
2.
4
01 октября 2002 года
mike
3.7K / / 01.10.2002
+1 / -0
Мне нравитсяМне не нравится
1 мая 2011, 19:10:36

Цитата:
а у меня нет файла setup.exe что мне делать

Найти дистрибутив, в котором есть setup.exe.

3.
71K
25 апреля 2011 года
alferov
0 / / 25.04.2011
Мне нравитсяМне не нравится
1 мая 2011, 14:20:26
а у меня нет файла setup.exe что мне делать
4.
57K
10 января 2010 года
vasya23
0 / / 10.01.2010
+1 / -0
Мне нравитсяМне не нравится
11 января 2010, 10:23:37
Добрый день!
Извините, пожалуйста, за беспокойство, что оторву у Вас несколько минут Вашего времени. Обрушаясь к Вам с огромной просьбой , не знаю Вашего имени и отчества, не сочтите за труд, помогите пожалуйста с наладкой Web- сервера Apache, базы данных MySQL и интерпретаторов языков PHP и Pеrl. Отыскал в компьютере Вашу прекрасную статью. Автор: Death Scorpion от 3 октября 2005 года. Внимательно прочитал её, думаю о это как раз для дебилов в том числе и для меня, расписано все очень подробно и доходчиво, я просмотрел много материала, но лучшего и доходчивого нет нечего, большое Вам спасибо за Ваш огромный труд, Вас за это Господь Бог отблагадаит
Выполнил все Ваши рекомендации, скачал весь материал, именно тот который Вы рекомендовали, рассказывали и показывали на примере. Хот я потерял, уйму времени пока его нашел. Установил все в точности с Вашими инструкциями и советами, проверил и перепроверил 5 раз. Но увы и ах: Настройки.
1 Apache: ввожу в IE адресную строку http://localhost, то должна высветится строчка index.html, как у Вас написано, а у меня высвечивает HTTP 404- не найдено.
2 Настройка связи Apache + PHP5.
Ввожу в адресную строку: http://localhost/index.php, высачивает HTTP 404- не найдено и так по всем настройкам, обидно до глубины души, просидел все новогодние праздники, а результат нулевой. Перепробовал все, что доступно моему уму, все беспользы.
Помогите пожалуйста, я Вам буду очень, очень благодарен за помощь.

С огромным уважением к Вам Василий..
5.
51K
30 июня 2009 года
bifrein
0 / / 30.06.2009
+1 / -0
Мне нравитсяМне не нравится
1 августа 2009, 18:36:40
Я в этом деле новичек, и не могу найти apache версии 1.3.(31, 33, 41) будте добры скинте на e-mail рабочую ссылку или саму программу буду благодарен;)
6.
50K
20 мая 2009 года
oi!
0 / / 20.05.2009
Мне нравитсяМне не нравится
20 мая 2009, 16:08:48
а почему у меня не сохраняет файл httpd??? пишет: Не удается создать файл C:\Programm Files\Apache Software Fundation\Apache 2.2\conf\httpd.conf

и не нашел строчки #AddHandler server-parsed .shtml

помогите плисс
7.
50K
14 мая 2009 года
tutmos
0 / / 14.05.2009
+1 / -0
Мне нравитсяМне не нравится
14 мая 2009, 16:28:35
Подскажите...а как сделать что бы на локальном компе обращение шло не http://localhost а другое
8.
49K
26 апреля 2009 года
Chubuk
0 / / 26.04.2009
Мне нравитсяМне не нравится
26 апреля 2009, 19:37:20
Прошу прощения, помпешил я умничать.
"!" нужен + пароль свой туда нужен и все работает.
9.
49K
26 апреля 2009 года
Chubuk
0 / / 26.04.2009
Мне нравитсяМне не нравится
26 апреля 2009, 19:00:33
по поводу
"Отличная статья. Спасибо большое. Вот только, у меня при проверке работы Apache+MySQL+PHP, появляется ошибка:
Fatal error: Call to undefined function mysql_connect() in c:wwwhtmlmysql_test.php on line 2
Что там может быть? Пароль? Вроде правильно набрал. А может кривые руки? :))"

Тоже столкнулся с этим и как посмотрел в комментариях не только я и человек, которого комментарую.

Я решил так:
во-первых запустил мускул-сервер ))))
и во-вторых убрал восклицательный знак в строчке
if(!mysql_connect("localhost","root","ваш_пароль "))
и у меня нарисовалось слово "Работает!!!" при наботе в браузере
http://localhost/mysql_test.php

10.
25K
24 марта 2008 года
Frozzeg
38 / / 24.03.2008
Мне нравитсяМне не нравится
26 апреля 2009, 18:21:38
все установил, пхп и мускул 5.x, апач 1.x

мускул не хочет работать, пишет Fatal error: Call to undefined function mysql_connect() in ...

делал все точно как в статье
11.
40K
23 января 2009 года
singaporian
12 / / 23.01.2009
Мне нравитсяМне не нравится
23 января 2009, 20:49:11
описка по поводу perl

приведен пример скрипта (пункт 2.3)

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "It works!<br>\n";

это в перле, установленном под Винду ? Путь к бинарнику уж совсем юниксовый ))) Я минут 10 гадал почему не работает, пока случайно не заметил - в логах апач почему то ругается на другое.

У автора была конечно заметка в пункте 1.3.3, что надо менять путь, но так как это все же статья для новичков - многие наверно спотыкаются. Можно переписать первую строку на дефолтную #!c:/Perl/bin/perl.exe ?

А вообще статья очень хорошая! Автору зачёт и благодарности толпы.
12.
43K
05 октября 2008 года
kuper_s
0 / / 05.10.2008
Мне нравитсяМне не нравится
5 октября 2008, 12:37:38
У меня аналогично не запустился Apache после первых переделок а строки #AddHandler server-parsed .shtml вобще нет в кофе
13.
38K
30 марта 2008 года
vind
0 / / 30.03.2008
Мне нравитсяМне не нравится
30 марта 2008, 21:40:21
Огромнейшее спасибо! Хоть статья и написана давно, но всё же актуальна до сих пор.
Ещё раз спасибо!!!
14.
37K
05 марта 2008 года
zuser
0 / / 05.03.2008
Мне нравитсяМне не нравится
5 марта 2008, 23:32:54
Статья полезная. Но есть несколько замечаний насчет связки Apache-PHP.

Я устанавливал только Apache 2.2.8 и PHP 5.2.5

1) "2.2.3.1 Настройка PHP, как модуля Apache" - этим способом вообще ничего не вышло. Веб-сервер даже не запускается, валится на строчке "LoadModule php5_module C:/php/php5apache.dll" в файле httpd.conf. Так что сделал связку вторым спосбом (Настройка PHP как CGI - бинарника).

2) Если при попытке открыть http://localhost/index.php выдается ошибка 403 (Доступ запрещен), значит нет разрешения на папку, в которой лежит обработчик php-файлов.
В httpd.conf кроме <Directory "C:/www"> надо добавить такую же шнягу и для папки C:/php

<Directory "C:/php">
Options Indexes Includes
AllowOverride All
Allow from all
</Directory>
15.
33K
11 декабря 2007 года
Figaro
3 / / 11.12.2007
Мне нравитсяМне не нравится
19 февраля 2008, 01:04:04
Да! Статейка - то что надо. Лично у меня все заработало...
Могу подбросить немного полезной информации тем кто вдруг начнет пользоваться Apache2+php5+MySQL>=4.1, то здесь имеются некоторые отличия.

По поводу php:
Вместо строки LoadModule php5_module C:/php/php5apache.dll пишем LoadModule php5_module C:/php/php5apache2.dll. Директив LoadModule в Apache2 нету, так что строчку AddModule mod_php5.c можно пропустить. Блок <IfModule mod_mime.c> нужно добавлять самому.

По поводу MySQL:
Если вы стали счасливыми обладателями MySQL версии 4.1 или выше тогда поздравляем. По умолчанию с сервером БД вы не соединитесь, так как php использует старые методы аутентификации, а у MySQL хеши аутентификации после версии 4.1 изменены. Решение было мною найдено здесь: http://www.digitalpeer.com/id/mysql. Здесь описано как заставить работать Сервер БД MySQL со старыми клиентами.
А так вроде все...
16.
37K
12 февраля 2008 года
ZilS
0 / / 12.02.2008
Мне нравитсяМне не нравится
12 февраля 2008, 20:07:48
constotek походу браузер видит это не как страничку а как файл...попробуй проверь,у тебя это вообще веб страничка или нет.тоесть формат php или нет.
17.
33K
22 октября 2007 года
MaxFR
0 / / 22.10.2007
Мне нравитсяМне не нравится
22 октября 2007, 22:20:02
Огромное спасибо автору статьи. Сам бы не разобрался.. Щас все работает
18.
32K
15 сентября 2007 года
Artak11110111101
0 / / 15.09.2007
Мне нравитсяМне не нравится
15 сентября 2007, 04:01:34
Во первых спасибо у меня все как там написано
но у меня если я сохраняю документ с php кодом как *.php мой код работает но когда я добавляю php код в html документ и сохраняю как *.html код не роботает подскажите пожалуйста почему
19.
30K
11 сентября 2007 года
Maksim-nk
9 / / 11.09.2007
Мне нравитсяМне не нравится
11 сентября 2007, 17:46:10
Спасибо за статью, но вот у меня почему то когда я в строку браузера ввожу http://localhost/index.php для того, что бы проверить работу связи Apache + PHP5, он пишет, что не может отбразить страницу! Интересно почему?
20.
32K
22 августа 2007 года
Janus
0 / / 22.08.2007
Мне нравитсяМне не нравится
22 августа 2007, 19:42:43
Огромное ГИГАНТСКОЕ СПАСИБО АВТОРУ!
Пусть я долго мучился, но в итоге всё понял и всё заработало (хотя не совсем понял почему всё таки изначально не работало ;-) )!
21.
31K
06 июля 2007 года
Maks6969
0 / / 06.07.2007
Мне нравитсяМне не нравится
6 июля 2007, 18:51:24
Здесь нужно устанавливать модули DBI и DBD, или они уже есть в Activepearl или нет? У меня стоит ActiveState ActivePerl 5.8.0 Build 805, Именно обращение Перла к MySQL (через DBI) почему-то не работает. В чем может быть дело? На странице "Internal Server Error", а в логе

[Fri Jul 06 18:50:00 2007] [error] [client 127.0.0.1] Premature end of script headers: c:/www/cgi/mysql_test_perl.cgi

[Fri Jul 06 18:50:00 2007] [error] [client 127.0.0.1] Can't locate DBI.pm in @INC (@INC contains: c:/usr/lib c:/usr/site/lib .) at c:\\www\\cgi\\MYSQL_~1.CGI line 2.\n

[Fri Jul 06 18:50:00 2007] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at c:\\www\\cgi\\MYSQL_~1.CGI line 2.\n
22.
30K
02 июля 2007 года
Kanev
0 / / 02.07.2007
Мне нравитсяМне не нравится
2 июля 2007, 19:44:20
Отличная статья. Действительно нет мыла, а толково и профессионально изложена тема. Добавил сайт в Избранное. Зарегистрировался. Рекомендую. Здесь есть чему научиться.
23.
23K
02 ноября 2006 года
amargin
0 / / 02.11.2006
Мне нравитсяМне не нравится
2 ноября 2006, 23:23:01
Отличная статья. Спасибо большое. Вот только, у меня при проверке работы Apache+MySQL+PHP, появляется ошибка:
Fatal error: Call to undefined function mysql_connect() in c:\www\html\mysql_test.php on line 2
Что там может быть? Пароль? Вроде правильно набрал. А может кривые руки? :))
24.
20K
20 сентября 2006 года
Death Scorpion
3 / / 20.09.2006
Мне нравитсяМне не нравится
20 сентября 2006, 20:54:11
Господа, я очень рад, что вам помогает моя статья. Есть мысли дополнить ее. Если есть хорошие предложения - шлите мне на death_scorpion@mail.ru
Всего хорошего!
25.
21K
01 сентября 2006 года
Nelapsi
0 / / 01.09.2006
Мне нравитсяМне не нравится
1 сентября 2006, 14:36:37
Отличная статья! Присоединяюсь к Тиме... в инете много хлама но эта статья просто открытие! Проблема возникла только в главе 2.1.2

просто внимательнее надо посмотреть файл httpd.conf... короче проблема была во невнимательности!
26.
20K
20 июля 2006 года
consotek
0 / / 20.07.2006
Мне нравитсяМне не нравится
20 июля 2006, 15:55:19
что то я понять не могу, когда ввожу в строку браузера
http://localhost/index.php для проверки связки апаче+php,
вылетает табличка windows с предложениме сохранить файл index.php
и всё.. т.е явно где то косяк, а где понять не могу, если кто знает
как исправить, подскажите в чём проблема?
27.
не зарегистрирован
af
Мне нравитсяМне не нравится
30 мая 2006, 13:09:33
Хотел бы поблагодарить автора статьи. Очень понятно написанный материал! Единственное с чем я столкнулся, что в index.html, который лежал в папрке www/html код PHP не обрабатывался, пока я его не переименовал в index.php... хотя все четко сделал по инструкции? ) .. у меня PHP 4.2.3 и Apache 1.3.35.
Может дело в версии PHP или Aрache?

"Где собака порылась?"
28.
не зарегистрирован
Леон
Мне нравитсяМне не нравится
11 мая 2006, 23:36:06
А я чето не нашел строчку #AddHandler server-parsed .shtml
в httpd.conf.
29.
не зарегистрирован
Валек
Мне нравитсяМне не нравится
11 мая 2006, 14:30:33
Спасибо за статью. Сделал всё как Вы описали, работает :))). Ещё бы статью как правильно модули к Apache подключать, да Virtual Host-ы ставить.
30.
не зарегистрирован
LnxP
Мне нравитсяМне не нравится
17 апреля 2006, 17:12:29
Ну никак не могу затавить работать Perl. И связка php+MySQL не отрабатывает. Он не ругается, но и ничего не выводит на экран. Народ,помогите!!!
31.
не зарегистрирован
Ruza
Мне нравитсяМне не нравится
15 апреля 2006, 21:25:51
В скриптах вместо #!/usr/bin/perl
надо написать #!c:/perl/bin/Perl.exe и всё будет работать.
32.
не зарегистрирован
Kot Bayun
Мне нравитсяМне не нравится
6 апреля 2006, 00:29:49
Прекрасная статья, но очень хотелось бы увидеть подробную расшифровку файла httpd.conf с расшифровкой зачем, что нужно, а то многое приходится изменять методом "тыка"
nova просто необходимо скачать и установить дополнительные модули для mysql dbi и dbd.
33.
не зарегистрирован
Марат
Мне нравитсяМне не нравится
6 марта 2006, 14:30:44
Perl Не работает ((((((((((((
34.
не зарегистрирован
Марат
Мне нравитсяМне не нравится
6 марта 2006, 01:28:52
Кое чего отредактировал поперло всем сенкс удачного программировнаия
35.
не зарегистрирован
Тима
Мне нравитсяМне не нравится
25 февраля 2006, 14:29:58
Огромное спасибо за такую подробную и полезную статью! Я очень долго бился и не мог настроить Apache,MySQL и PHP. В инете куча статей на эту тему, но все они противоречат друг другу или не полные статьи! Это единственная статья которая мне реально помогла! ПОБОЛЬШЕ БЫ ТАКИХ САЙТОВ И СТАТЕЙ НА РАЗНЫЕ ТЕМЫ! Еще раз огромное спасибище!!!
36.
не зарегистрирован
Rom
Мне нравитсяМне не нравится
18 февраля 2006, 18:12:46
Спасибо за строчку 2.2.3.1
я 2 месяца периодически php мучил ну нигде небыло того чтобы вставить эту строку
LoadModule php5_module C:/php/php5apache.dll
вставил и всё как часы поехало.
Большое спасибо дружище. Прими большой мерси.
37.
не зарегистрирован
sh
Мне нравитсяМне не нравится
14 февраля 2006, 12:49:05
<blockquote><small>Цитата:<hr size=1>КРАЙНЕ НЕ РЕКОМЕНДУЮ ставить Apache 2[/quote]
А я рекомендую поставить. Там есть удобный мониториг апачей. Поставить скопировать \bin\ApacheMonitor.exe, снести нафиг А2 и поставить А1.3.34.
Монитор отлично работает и под эту версию.
38.
не зарегистрирован
Fgrty
Мне нравитсяМне не нравится
19 января 2006, 17:24:50
2*CorwinuS* не добавляй ети строки вообще!
39.
не зарегистрирован
Death Scorpion
Мне нравитсяМне не нравится
25 декабря 2005, 22:21:27
*CorwinuS*, статья писалась про установку и настройку Апача ветки 1.3 В Апачах ветки 2 есть свои нюансы. Поэтому ставь версию 1.3, настраивай и радуйся жизни =)
40.
не зарегистрирован
*CorwinuS*
+1 / -0
Мне нравитсяМне не нравится
20 декабря 2005, 23:37:31
в пункте 2.2.3.1

1)После последней директивы AddModule добавляем строку

AddModule mod_php5.c \\У меня apache 2.0.48 не могу

найти ниодной строки AddModule? так что куда писать!!!

2)Внутри блока <IfModule mod_mime.c> добавляем строку

AddType application/x-httpd-php .php \\Такая же проблема там нет блока <IfModule mod_mime.c>


Помогите!!!
41.
не зарегистрирован
nova
Мне нравитсяМне не нравится
20 декабря 2005, 13:17:40
Братва кто нибудь разобрался с последним скриптом, помоему он не пашет или я ничего не могу понять, = DBI->connect("DBI:mysql:test",,)
что это за строка такая, чему она равна, может там переменная перед равно должна стоять, и так весь скрипт
42.
не зарегистрирован
Verty
Мне нравитсяМне не нравится
30 ноября 2005, 20:09:09
Suertero-E а ты по этому руководству разобрался с установкой и настройкой или я тебя не понял?
43.
не зарегистрирован
Suertero-E
Мне нравитсяМне не нравится
29 ноября 2005, 18:44:09
НА вопросы начинающих советую самим искать всякие статьи читать install.txt и всякую еренуду читать сами конфиги и ини файлы сам прошел и вот сегодня получил просветление и настроил себе Apache2+php5 который я уже делаю более 8 месяцев... Так что новисы дерзайте а пока пользуйтесь готовыми документами который предоставляют например http://www.manlix.ru будет лучшим решением для настройки...

Дерзайте Люди и Успехов вам!
44.
не зарегистрирован
Allkim
Мне нравитсяМне не нравится
29 октября 2005, 05:08:44
Пункт 2.5 заключительный. Выдает седующее:
505 Internal Server Error

Подскажите что не так?
45.
не зарегистрирован
Death Scorpion
+1 / -0
Мне нравитсяМне не нравится
17 октября 2005, 18:56:21
2 valentin: Да, тут Вы правы, надо было пояснить этот момент для начинающего. Но я имел ввиду, что старый блок надо не комментировать, а удалить и на его место поместить новый.
А если в c:\www\html скопировать содержимое C:\Program Files\Apache Group\Apache\htdocs то действительно появится дефолтовая страница Web - сервера Apache
46.
не зарегистрирован
valentin
+1 / -0
Мне нравитсяМне не нравится
13 октября 2005, 16:02:59
Дневник.
Начал с нуля. Действую строго по инструкции.
На чем попал (скорее для себя, но м.б. кому-нить поможет):
1. В 2.1.2 для начинающих следует уточнить, что содержимое секции Directory включает все до </Directory>, т.е. перед заменой нужно закомментировать (удалить) все строки старой секции
После исправления все прокатило.
2.В c:\www\html скопировал содержимое C:\Program Files\Apache Group\Apache\htdocs
Появилась красивая страничка http://localhost/
47.
не зарегистрирован
WarWar
+1 / -0
Мне нравитсяМне не нравится
4 октября 2005, 09:49:39
Если код нетрогать, то на РНР5.1.0RC1 работать небудет. Надо пару мест править.
И апач тут совсем непричем.
48.
не зарегистрирован
Death Scorpion
+0 / -1
Мне нравитсяМне не нравится
3 октября 2005, 21:34:00
2WarWar: а почему Вы считаете, что на апаче 1.3 и php 5 не захочет работать phpBB? У меня работает без проблем...
49.
не зарегистрирован
WarWar
+1 / -0
Мне нравитсяМне не нравится
3 октября 2005, 17:25:13
Еще хотелось бы заметить одну странность.
Автор нерекомендует ставить апач 2 ветки, однако предлагает РНР 5 ветки. Это выглядит магко говоря странно.
На данный момент (середина 2005 года) в Интернете есть масса статей для РНР4 и немного, в основном об отличиях, для РНР5.
А новички скорее всего захотят на связку apache+РНР+MySQL повесить что-то типа phpBB, который незахочет нормально работать!

ЗЫ. Кстати вторая ветка апачи довольно стабильно работает у меня уже более года, с нагрузкой в 200 пользователей, которым каждый рабочий вечер необходима аналитическая отчетность.
50.
не зарегистрирован
Mariman
+1 / -0
Мне нравитсяМне не нравится
3 октября 2005, 11:58:55
Статься не раскрывает всех тонкостей установки. Есть куча вопросов типа "зачем" и "почему". Гарантирую что у начинающих непойдет все гладко с первого раза. Тем не менне достаточно красиво расписано про безопасность.
Статья больше напоминает инструкцию по установке с надергаными скриншотами, а не пояснения с разжовыванием и примерами...
Совет начинающим - Установите Денвер. (Джентельменский набор веб разработчика) www.denwer.ru
Все что тут перечислено - уже собрано в одном флаконе... и с достаточно приличной оболочкой + пару вкусностей типа заглушки sendmail (можно отлаживать отправку почты - при вызове функции mail письма аккуратно складываются в каталог в виде вайлов .eml), уже установленный phpMyAdmin, и САМОЕ ГЛАВНОЕ - переведены на руский httpd.conf и php.ini

З.Ы. Это не реклама. Бесплатные продукты не рекламируют. Просто вот подобного рода статьи абсолютно не объясняют ни концепций ни назначаний сервисов и новичков просто загоняют в угол. Им нужно сначала чтобы все работало а потом потихоньку разбираться как это работает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог