Сегодня четверг, 25 мая 2017 года
 
 
ГлавнаяApache HTTP ServerApache - ответы на вопросы
ЧерныйКрасныйСерый Увеличить текстУменьшить текстПо умолчанию

Разделы

Apache

сервер Apache
Apache - этапы установки
установка Apache
установка apache на Windows Vista Ultimate
проверка работоспособности
конфигурирование httpd.conf
установки httpd-vhosts.conf
httpd-userdir.conf и host
тестирование Apache
Apache - ответы на вопросы

Главный сайт сервера

шаблон главного сайта сервера Apache
установка главного сайта сервера Apache
директивы SSI - переменные окружения
скрипты на Perl - вывод переменных окружения
скрипты на Perl - среда кеша
скрипты на PHP - примеры
скрипты на PHP - конфигурация ядра PHP
скрипты на PHP - вывод переменных окружения
SendMail для Windows
отправить почтовое сообщение с сайта

ActivePerl

язык Perl
установка ActivePerl
установка ActivePerl (прод.)
скрипты на Perl - ошибки выполнения

PHP

язык PHP
установка PHP 5.2.x zip
установка PHP 5.2.x installer
скрипты PHP
php ini - файл конфигурации
phpmyadmin

MySQL

установка MySQL
настройка MySQL
mysql php

SendMail

установка SendMail

Создание сайта

создание сайтов
регистрация сайта

Бесплатные сайты

создать бесплатный сайт

Почтовый ящик

почта: почтовый ящик
контакты
карта сайта
поиск по сайту

май 2017 г.
Пн
Вт
Ср
Чт
Пт
Сб
Вс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
 
 

Информация

Apache

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

Apache

После внесения изменений в файлы кофигурации (обычно это делается в программе 'Блокнот'), не забывайте их сохранить и перезагрузить сервер Apache 2.2.16
Для перезагрузки необходимо нажать на ярлык:
restart apache

см. создание ярлыков

Следует помнить, что директивы и параметры сервера считываются из файла httpd.conf только при запуске службы Apache 2.2.16, т. е. при включении компьютера. Без перезапуска Apache вы не увидите результатов от внесенных вами изменений. Но самое неприятное может произойти в том случае, если, не перезапустив службу Apache 2.2.16 (с внесенными некорректными записями в файле httpd.conf) вы выключите компьютер. При повторном включении, может появиться сообщение - "сбой, по крайней мере, в одной службе или драйвере при запуске системы".
См. подробнее - ошибки Apache.

Страница, защищена от копирования - Copyscape


Установка, настройка (конфигурирование) Apache - ответы на вопросы .

Тестирование Apache HTTP Server.

В данном разделе сайта приведены рекомендации по получению рабочего сервера Apache 2.2.16 и интерпретаторов Perl и PHP. Конфигурация которых удовлетворяет большинству требований по разработке, отладке и тестированию сайтов на персональном компьютере с OS: Windows NT 4.0, Microsoft Windows Server 2000, Microsoft Windows XP Professional, Microsoft Windows Server 2003, Microsoft Windows Server 2007, Microsoft Windows Server 2008, Microsoft Windows Vista
. Сервер Apache и языки-интерпретаторы PHP и Perl - являются сложными программными продуктами, поэтому их установка и настройка должна производиться предельно точно и аккуратно. Подход, аналогичный используемому при создании документов в Microsoft Office - напечатаем, если захочем - проверим или так пойдет - данном случае неприемлем. Не исправив сразу же ошибки - ничего, кроме сообщений об них, нельзя увидеть. Это в лучшем случае. Порой, причину ошибок можно выявить только после исследования содержимого лог-файлов сервера Apache, записей в журнале событий ОС, сообщений в консоли MMC. Следует всегда помнить о том, что версия Apache 2.2.16 - итог десятилетнего труда группы из 60-ти разработчиков и миллионов добровольных помощников, имеющих многолетний опыт эксплуатации сервера. Это должно помочь понять - имеете ли вы знания и навыки в их объеме, и предостеречь от необдуманной "творческой" переработки всего, что привлекло внимание. Не увлекайтесь, не изучив документацию, внесением изменений в файлы конфигурации и модули сервера Apache. Сначала подумайте - насколько вы талантливей многочисленной группы специалистов, уже что-то сделавшей и живущей годы в данной теме. Если это вам нужно только для того, чтобы написать что-то "умное" на одном из множества "форумов", с сообщениями, содержащими по три ошибки в каждом слове длиннее пяти букв, то можете смело заканчивать изучение веб-программирования. Это занятие для людей, которые на самый простой вопрос, не дадут ответа - не подумав. Можно предостеречь наивных юношей - никто не будет проверять, исправлять ваши ошибки и разъяснять причины их появления.

Коротко для тех - кто нигде не учился !

Прежде чем задавать вопросы аналогичные приведенному ниже, спросите у знакомых студентов - можно ли зайдя на кафедру или в деканат предложить преподавателям объяснить вам что-то из прочитанной лекции или, тем более, из школьного курса? Получите, примерно такой, вежливый ответ - высшее образование не является обязательным, а адреса и цены на услуги репетиторов можно узнать в газетном киоске. А если вы не студент, а прохожий, у которого вдруг появилось желание обучиться чему-то. В ВУЗах учат учиться, а усвоил - не усвоил материал - проблема обучающегося. Вам читают курс и выдают темы практических заданий. Затем проверяют знания на зачетах и экзаменах. Далее, продолжение обучения или отчисление.
Материал разделов сайта изложен предельно доходчиво и проверен десятками тысяч успешных установок. Для более полного изучения описанных программных комплексов, необходимо обратиться к документации или получить разъяснения у их разработчиков.
Цитата из письма: "Хочу написать сайт, чтобы все объявления в городе присылали ко мне. Видел такое на сайте - имя.ru. Вопрос такой - как в блокноте создать файл с .php расширением. Я установил Apache, PHP-5.2.5 по рекомендациям с вашего сайта, но в браузер выйти со скриптами не получается" (текст - после перевода с "русского" на русский). Что-то подобное этому - Умею нажимать клавиши (гармошки), решил написать партитуру пьесы для струнных с оркестром. Прочитал общие требования к её оформлению. Можно это сделать на оберточной бумаге и, если да, то как ее разлиновать?

Написать что-то достойное внимания на PHP возможно только зная C++, т. к. в первый пытаются включить все, что есть в последнем. PHP - это попытка превратить язык-компилятор C++ в интерпретатор. Работающие в C++ v 5.02, легко узнают знакомые элементы ООП, такие как: сокрытие информации с использованием спецификаторов доступа (атрибуты - public, protected, private) к элементам классов (данным-членам и функциям-членам классов). Увидят попытку использования множественного наследования. Введение, для освобождения ресурсов, деструкторов (непонятно для чего - память после выполнения сценария PHP и так освобождается), обработку исключительных ситуаций. Естественно, все это довольно далеко от возможностей поддержки ООП в C++. Приведенного выше достаточно для понимания того, с какой подготовкой можно приступать к осуществлению мечты, подобной изложенной в приведённом сообщении.

Причина появления таких писем в общем-то одна - любого из тех кто может включить компьютер и что-то напечатать (во время, когда доступность компьютеров зависит только от наличия определенной суммы), именуют "компьютерщиками" или даже программистами. И большинство из них начинают верить, что первое из этих слов, в мире программирования, определяет самую высокую квалификацию. Ну, а программистами они являются по определению. Как не поверить, если в одной из телепередач, солидного возраста ведущий с группой "экспертов", в течение получаса, обзывали десятилетнего, не умеющего пользоваться носовым платком  - хакером. Только за то, что тот, получив от великовозрастного знакомого логин и пароль от оплаченного организацией доступа в сеть, в вечернее время (после окончания работы конторы), гулял по сайтам за её счет. Не раз приходилось слышать от родителей, что их талантливые чада легко заходят в корпоративные сети Пентагона, Госдепартамента и т. д. И это в то время, когда в их городах не было ни одного Интернет-провайдера.
Сказанное выше адресовано тем, кто уже понимает, что замена даже нескольких символов в исполняемых файлах (exe), ни к чему, кроме разрушения программы не приведет. Но пока еще ясно не представляет, что внесения изменений в файлы конфигурации, многочисленные модули программных комплексов, описание которых приведено в разделах сайта, без изучения документации приведут к тому же результату.

Возвращаясь к приведенному выше письму - как можно на него ответить не имея информации о том:

  • заменены ли файлы конфигурации Apache,
  • установлен ли PHP,
  • внесены ли в них изменения для работы с PHP,
  • в какой каталог установлен шаблон главного сайта сервера Apache,
  • выполняются ли из шаблона главного сайта сервера, установленные на его страницах, проверенные скрипты php,
  • если выполняются, то в чем проверен и в какой каталог виртуальных хостов помещен "созданный или не созданный в блокноте файл с расширением .php",
  • установлены ли для этого каталога соответствующие разрешения,

и так до бесконечности, потому что невозможно предугадать, что и как пытается сделать с этими сложнейшими программными продуктами человек не понимающий, что делает, судя по неудачным попыткам создать в "блокноте файл с  расширением .php".
Можно конечно попытаться ответить, неделю пытаясь представить - что и где может кто-то сделать, чтобы не установить серверное программное обеспечение. Начав примерно так:

Если правильно установлен сервер Apache, то после ввода в адресную строку браузера  - http://localhost/вы увидите тестовую страницу сервера Apache:

It works - сервер apache установлен правильно

Если не установлен интерпретатор PHP или не найден путь к нему, то будет выведено окно диалога с предложением сохранить файл с расширением - .php. (Вместо отображения php страницы предлагается загрузить или сохранить файл).

сохранить php сохранить файл с расширением - .php

Если не установлен интерпретатор Perl, то вместо результатов выполнения скрипта будет выведено сообщение -

[an error occurred while processing this directive - произошла ошибка при обработке этой директивы]

И так далее.

На страницах разделов сайта приведены примеры с детальным описанием: установки и настройки Apache, PHP, Perl, MySQL, phpMyAdmin, SendMail. Имеются примеры рабочих скриптов php, perl, директив SSI. Не желающим изучать документацию, не просмотревшим сжатое, предельно краткое описание применения современных веб-технологий на практике, научившимся пользоваться лишь отправкой почтовых сообщений со страницы контакты, ждать что кто - то, бросив все, будет показывать где какую букву ввести – надеяться наивно.

Если не можете четко выполнить инструкции по установке и получению рабочего сервера Apache - значит этот вид деятельности не для вас и не нужно тратить зря время.

Внимание !

Правильная последовательность действий по установке сервера Apache 2.2.16

Возможна установка Apache 2.2.16 на следующих операционных системах:
  1. Windows NT 4.0
  2. Microsoft Windows Server 2000
  3. Microsoft Windows XP Professional
  4. Microsoft Windows Server 2003
  5. Microsoft Windows Server 2007
  6. Microsoft Windows Server 2008
  7. Microsoft Windows Vista. См. - Установка Apache 2.2.16 на Windows Vista Ultimate

Для установки сервера Apache 2.2.16 необходимо:

создать или получить и записать в указанные каталоги пять шаблонов сайтов:

заменить три конфигурационных файла:
  • httpd.conf  —  главный файл конфигурации сервера
  • httpd-vhosts.conf  —  файл конфигурации виртуальных хостов
  • httpd-userdir.conf  —  файл настройки параметров для каталогов пользователей

внести добавления в файл:

  • hosts  —  файл сопоставления имен узлов IP-адресам

Устанавливать нужно именно в такой последовательности.

Выполнив эти несложные операции, вы получите  —  на (вашем) локальном компьютере  —  полностью работоспособный сервер Apache HTTP 2.2.16.
Всё изложенное в этом разделе относится ко всем версиям Apache 2.2.x - Apache 2.2.2, Apache 2.2.3, Apache 2.2.4, Apache 2.2.6, Apache 2.2.8, Apache 2.2.16, Apache 2.2.10.

После этого можно приступать к установке интерпретаторов PHP и Perl и другим составляющим современных веб-серверов.

Apache - журнал ошибок.

  • Путь к файлу журнала ошибок для главного сайта сервера Apache 2.2.16 HTTP определяется в директиве:

    ErrorLog c:/httpserver.ru/logs/error.log
    файла конфигурации сервера Apache HTTP - httpd.conf. См. Конфигурирование httpd.conf

  • Путь к файлу журнала ошибок для тестируемого вами, на сервере Apache, сайта должен  быть определен в блоке директив,например так:

    <VirtualHost 127.0.0.4:80>
    ErrorLog c:/www/docs/имя_сайта.ru /logs/имя_сайта.ru-error.log  
    файла - httpd-vhosts.conf. См. Конфигурирование - httpd-vhosts.conf.

Если при просмотре файла регистрации ошибок вы встретили записи аналогичные приведенным (реальный пример):

[Sun Dec 21 05:38:31 2008] [error] [client 127.0.0.1] File does not exist: C:/www/docs/avege.ru/www/css/0a16v84j0y54h848p547a0512/06/0a16v84j0y54f848m547i0512/f1.gif, referer: /russian/apache/apache_01.shtml

[Sun Dec 21 05:38:31 2008] [error] [client 127.0.0.1] File does not exist: C:/www/docs/avege.ru/www/css/0a16v84j0y54h848p547a0512/06/0a16v84j0y54f848m547i0512/f1.gif, referer: /russian/apache/apache.shtml

Из которых следует - не найден файл f1.gif вызываемый из страниц:
/russian/apache/apache_01.shtml
/russian/apache/apache.shtml


Несмотря на такой сложный путь к каталогу, в котором должен находиться файл - f1.gif, можно легко перейти в указанное место, с помощью Total Commander. Введите в его командную строку команду DOS Total Comander'а - cd и скопируйте в нее путь к не найденному файлу:
cd
C:/www/docs/avege.ru/www/css/0a16v84j0y54h848p547a0512/06/0a16v84j0y54f848m547i0512/

1

После нажатия на - Enter вы перейдете в нужный подкаталог, в котором, в данном примере, можно видеть, что вместо файла f1.gif находится - f1.png.

2

Более серьезные ошибки.

При обращению к сайту - www.имя_сайта.ru, на локальном сервере Apache, выводится сообщение об ошибке:

Server error!

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

If you think this is a server error, please contact the webmaster.

Error 500

www.имя_сайта.ru
12/17/08 15:10:24
Apache/2.2.16 (Win32) PHP/5.2.8

Тоже самое происходило и при обращении к сайтам -
dummy-host.httpserver.ru, (C:\www\docs\dummy-host2.httpserver.ru)
dummy-host2.httpserver.ru, (C:\www\docs\dummy-host2.httpserver.ru)
name.ru, (C:\www\htdocs\name.ru)
name1.ru (C:\www\public_html\name1.ru)

При обращении к главному сайту сервера Apache 2.2.16 - www.httpserver.ru, главная страница сайта нормально выводится в браузерах.

Не трудно определить, что не работают сайты расположенные в общем каталоге - C:\www\, следовательно нужно искать причину здесь.

В файле регистрации ошибок сайта www.httpserver.ru - error.log (C:/httpserver.ru/logs/error.log) не видно ничего, что бы могло подсказать направление поиска причин вызывающих такое поведение сервера.

[Wed Dec 17 15:05:30 2008] [notice] Apache/2.2.16 (Win32) PHP/5.2.8 configured -- resuming normal operations
[Wed Dec 17 15:05:30 2008] [notice] Server built: Dec 10 2008 00:10:06
[Wed Dec 17 15:05:30 2008] [notice] Parent: Created child process 2524
[Wed Dec 17 15:05:30 2008] [notice] Child 2524: Child process is running
[Wed Dec 17 15:05:30 2008] [notice] Child 2524: Acquired the start mutex.
[Wed Dec 17 15:05:30 2008] [notice] Child 2524: Starting 64 worker threads.
[Wed Dec 17 15:05:30 2008] [notice] Child 2524: Starting thread to listen on port 80.

Дежурная проверка записей в файлах:

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf

# пути к каталогу PHP.

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Program Files (x86)/PHP/"
LoadModule php5_module "C:/Program Files (x86)/PHP/php5apache2_2.dll"

#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

и в

C:\Program Files (x86)\PHP\php.ini

в секции:
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

Directory in which the loadable extensions (modules) reside.
Каталог, в котором находятся загружаемые расширения (модули).

extension_dir ="C:\Program Files (x86)\PHP\ext"

как и следовало ожидать, ничего не дала.

Причина: В каталоге C:\www\ находился, временно размещенный для редатирования и не удаленный, файл .htaccess, в котором находилась директива - Options -Indexes.

На страницах одного из сайтов - www.имя_сайта.ru не выполняются скрипты Perl.

В файле регистрации ошибок сайта www.имя_сайта.ru - error.log имеются записи:

invalid CGI ref "//cgi-bin/today.cgi" in C:/www/docs/www.имя_сайта.ru/www/index.shtml

C:/www/docs/www.имя_сайта.ru/cgi-bin/.htaccess: Options not allowed here (Варианты, не позволенные здесь)

Причина: В каталоге c:\www\docs\www.имя_сайта.ru\cgi-bin\ находился, файл .htaccess, с директивой - Options -Indexes.

Следует помнить, что директивы в файле .htaccess расположенном в любом подкаталоге сайта, переопределяют значения директив в файлах конфигурации сервера Apache - httpd.conf и httpd-vhosts.conf.

Сервер Apache 2.2.16 - резервирование файлов конфигурации.

Создайте каталог Дневник с подкаталогами: месяц - день - время. разместив его в удобном для вас месте, например, C:\Дневник\Январь\01\14 20\

Apache Windows - установка сервера.

И, до внесения изменений в файлы конфигурации и главного сайта сервера Apache 2.2.16, сохраняйте (предварительно проверенные) их копии в дневнике. Это позволит вам в любой момент вернуться к рабочей и проверенной версии главного сайта и сервера Apache 2.2.16.

Резервировать, для того, чтобы быть полностью уверенным в работоспособности сервера Apache, необходимо:
  • полностью каталог conf находящийся в   C:\Program Files\Apache Software Foundation\Apache2.2\
Apache 2.2 - резервировать каталог conf
  • файл hosts находящийся в
    C:\WINDOWS\system32\drivers\etc\
Apache 2.2 - резервировать файл host
apache

Apache - правила позволяющие избежать ошибок при конфигурировании сервера.

  • Всегда имейте резервные копии рабочих версий файлов конфигурации сервера Apache 2.2.16 HTTP
  • Не забывайте сохранить файлы конфигурации после внесения изменений (бывает, при нескольких открытых программах) и перезапустить сервер Apache 2.2.16. нажав на ярлык    или, левой кнопкой мыши на значок      и   выбрав пункт Restart или пройдя путь - Пуск - Все программы - Apache 2.2.16 HTTP Server - Control Apache Server - Restart.
  • Перед выключением компьютера - перезапустите службу Apache 2.2, чтобы убедиться в том, что в последнем сеансе работы вами не внесено изменений приводящих к фатальным ошибкам сервера Apache/
Антоненков В. Е.  

copyright © 1999-2009, avege.ru. All rights reserved.
[115]
опубликовано - август 2003 г.
обновлено -Sunday, 08-Feb-2015 08:32:44 MSK