Реклама и Статистика


SEO sprint - Всё для максимальной раскрутки!



Вебсервер в домашних условиях (часть 2)

Предыдущая часть.

Продолжение.

Настройка сервера Apache и PHP

С установкой программ покончено. Теперь перейдем к их настройке. В первую очередь Вам нужно найти файл "php.ini-dist" в каталоге "F:\usr\php" и скопировать его в папку C:\Windows, причем переименовать его на новом месте в файл "php.ini". В итоге у Вас должен получиться файл "C:\Windows\php.ini". Оставим его как есть, ничего в нем не изменяя и перейдем к настройке Apache. Здесь все немного сложнее.

Открываем файл "F:\usr\apache\conf\httpd.conf" в каком-нибудь текстовом редакторе, например "Блокноте". Это очень важный файл, который содержит все настройки Вашего сервера. В нем необходимо задать несколько параметров. Начнем.

  1. Найдите в файле httpd.conf строчку "#ServerName new.host.name". Измените ее на строчку "Servername localhost". Обратите внимание, что знак "#" в начале строки убирается.

  2. Далее найдите строчку "DocumentRoot "f:/usr/apache/htdocs" и измените ее на "DocumentRoot "f:/project/www". Обратите внимание на _отсутствие_ слеша в конце.


  3. Теперь найдите строчку "" и измените ее на ". Слеш опять отсутствует.

  4. Также найдите и измените строку "ErrorLog logs/error.log" на строку "ErrorLog F:/project/logs/error.log" и строку "CustomLog logs/access.log common" на "CustomLog F:/project/logs/access.log common".

  5. Теперь перейдите в самый конец файла httpd.conf и впишите в него такие строчки:
    ScriptAlias /php/ "f:/usr/php/" AddType application/x-httpd-php .php .phtml .php4 Action application/x-httpd-php "/php/php.exe"


  6. Эти строчки добавляют в настройки Apache возможность выполнения файлов с расширением .php, .phtml или .php4 как программ, написанных на PHP (PHP скриптов).

  7. Ну а теперь создайте каталог "F:\project", и в нем два каталога "www" и "logs". В итоге Вы должны получить такое дерево каталогов:

    F:\project
    F:\project\www
    F:\project\logs

Все! Поздравляю, Вы установили и настроили полноценный http-сервер с поддержкой PHP. Теперь дело за малым - научиться включать и выключать сервер, а также немножко его протестировать. Этим мы и займемся далее.

Работа с сервером Apache

При инсталляции сервера программа установки создала в Главном меню (Кнопка "Пуск", далее "Программы") папку "Apache Web Server". В этой папке находиться несколько ярлыков. Нам потребуются следующие из них:

Start Apache - для запуска сервера

Stop Apache - для остановки сервера

При желании Вы можете скопировать их на Рабочий стол, чтобы иметь возможность быстро запускать и выключать сервер.

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

Итак, создайте в папке "F:\project\www\" файл с именем "index.html" следующего содержания:


<html>

<head><title>Главная страница сервера</title></head>

<body bgcolor=#ffffff>

Поздравляю Вас, сервер работает!<br>

Протестируйте PHP: <a href="test.php">test.php</a>

</body>

</html>


Создайте там же файл с именем "test.php" такого содержания:


<? 

phpinfo();

?>


Вот и все, наконец-то можно запускать сервер. Торжественно запускаем ярлык Start Apache. При этом открывается черное окошко вроде окна MS-DOS с единственной надписью "Apache/1.3.12 (Win32) running...". Это означает, что сервер успешно запущен и на данный момент работает. Окошко закрывать не нужно, оно является рабочей средой Apache и закрывается с помощью ярлыка "Stop Apache", который и выключает сервер.


Итак, сервер запущен. Что дальше? Открывайте ваш броузер и набирайте в нем адрес "http://127.0.0.1". Помните, подключаться к Интернету в этот момент не нужно! Вы должны увидеть уже набранное приветствие, т.е. код файла "index.html". Перейдите по ссылке, ведущей к файлу "test.php". Что вы видите? Броузер должен вывести довольно большой файл с кучей различных обозначений и гордым заголовком "PHP Version 4.3.4" вместе в логотипом PHP. Это - результат работы нашего маленького скрипта "test.php", а точнее функции phpinfo(), которую мы в нем написали. Эта функция выводит все параметры PHP, установленного в системе.


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


Отдельно хочу обратиться к продвинутым пользователям, которые, я уверен, читают (или будут читать) мою статью. В первую очередь - если Вы не удовлетворены количеством информации (и объяснений к ней) по поводу настройки Apache и различных директив PHP - не стоит меня сильно в этом обвинять. Моей целью в этой статье было предоставить новичкам стартовую площадку для их обучения и первого проекта. В будущем я постараюсь продолжить эту тему.


Пример: настройка виртуального хоста

В данный момент на созданном сервере есть всего один хост, с уже известным Вам адресом http://127.0.0.1. Однако если у Вас есть несколько сайтов, то не всегда удобно использовать для их отладки один хост. Для подобных целей подойдет возможность Apache использовать несколько виртуальных хостов.


........ 


Итак, приступим к созданию виртуального хоста. Как Вы уже знаете, все настройки Apache производятся в файле httpd.conf, который расположен по адресу F:\usr\apache\conf\httpd.conf. В этом файле есть специальный раздел, который обозначен
### Section 3: Virtual Hosts. Он расположен в самом конце файла и отвечает за виртуальные хосты. Далее процесс создания хоста по шагам:


1. Выключите Apache.


2. В самом конце файла httpd.conf допишите такие строчки:


NameVirtualHost 127.0.0.2

<VirtualHost 127.0.0.2>

ServerAdmin admin@site2

ServerName 127.0.0.2

DocumentRoot "/site2/htdocs/"

ScriptAlias /cgi-bin/ "/site2/cgi-bin/"

ErrorLog /site2/error.log

CustomLog /site2/access.log common

</VirtualHost>


В данной директиве мы описываем новый хост. Строка VirtualHost 127.0.0.2 обозначает адрес нового хоста. ServerAdmin admin@site2 указывает Email администратора, который будет выводиться при ошибках и служебных сообщениях сервера. ServerName 127.0.0.2 обозначает имя хоста, по которому мы будем к нему обращаться из броузера. DocumentRoot "/site2/htdocs/" указывает директорию, где находятся html и php файлы виртуального сервера. ScriptAlias /cgi-bin/ "/site2/cgi-bin/" указывает каталог, в котором расположены cgi-скрипты (программы на perl, c++ и т.д.). ErrorLog и CustomLog указывают расположение лог-файлов сервера. ErrorLog - это журнал ошибок, CustomLog - журнал доступа. В эти файлы будут записываться все ошибки (например, когда запрошенный файл не существует) и все запросы к серверу.


3. Теперь создайте описанные директории F:\site2\htdocs и F:\site2\cgi-bin. Файлы error.log и access.log можно не создавать, они будут сформированы автоматически при запуске Apache. Директория F:\site2 является корневой директорией виртуального сервера. Обратите внимание, что если Вы не создадите или ошибетесь в именах директорий, то Apache откажется запускаться.


4. Теперь можете запускать Apache. Не забудьте перед этим сохранить изменения в файле
httpd.conf.


Вот и все, новый хост создан. Можете разместить в него файлы и просматривать их через броузер по адресу
http://127.0.0.2/. 


Файл настроек .htaccess

Файл .htaccess - это служебный файл вебсервера, с помощью которого можно производить определенные настройки своего сайта. Например, с помощью этого файла можно настроить свои страницы ошибок или обработку SSI-директив.


Файл .htaccess может быть размещен в любом каталоге сервера. Кроме того, он действует на все внутренние каталоги, размещенные в текущей директории. То есть, если у Вас есть каталог "www" и в нем два каталога "1" и "2", то размещая файл .htaccess в "www", Вы одновременно распространяете его действие на каталоги "1" и "2".


Обратите внимание, что имя этого файла начинается с точки. Файлы, имена которых начинаются с точки, в системе Unix являются скрытыми. Это означает, что если Вы загрузите этот файл на сервер провайдера, то Вы не будете видеть его в Вашем FTP-клиенте. Это, кстати, частый вопрос, с которым мы сталкиваемся в службе поддержки RunWeb.Ru. А что делать, если Вы хотите изменить этот файл? Самый простой вариант - изменить его на домашнем компьютере и заново загрузить на сервер по FTP. Ваш клиент не должен спросить перезаписывать ли его, так как он не видит .htaccess в списке файлов. Это нормально, можете быть уверены, файл перепишется.


В качестве примера использования .htaccess давайте рассмотрим установку своих страниц ошибок. Что такое "свои страницы ошибок"? Допустим, у сервера запрашивается документ, которого не существует. В этом случае возникает ошибка номер 404, "Файл не найден". Apache при этом отправляет броузеру свою служебную страницу этой ошибки (404 Not Found). То же самое и с ошибкой номер 500 "Внутренняя ошибка сервера". Она возникает при возникновении ошибки на сервере, например, при исполнении CGI-скрипта. Итак, как установить свои страницы ошибок?


Для этого создайте пустой файл .htaccess в корневом каталоге виртуального хоста (например, F:\server) и запишите в него следующие строки:


ErrorDocument 404 http://127.0.0.1/err404.html

ErrorDocument 500
http://127.0.0.1/err500.html


Они назначают каждой ошибке свою страницу, которая будет открываться при возникновении данной ситуации. Естественно, Вам нужно будет создать файлы err404.html и err500.html на сервере. Называться они могут как угодно, не обязательно как в этом примере.


Существует также много других возможностей настроек файла .htaccess. Несколько очень полезных возможностей (таких как установка индексного файла, паролирование директорий, настройки SSI и другие) описано на нашем сервере RunWeb.Ru в разделе Частые вопросы по настройкам сервера. Список часто пополняется, поэтому рекомендую Вам ознакомиться с описанными в нем возможностями.


Частые вопросы по установке

1. Отсутствуют ярлыки запуска и/или выключения сервера.


Странно, конечно, но и такое, оказывается бывает. В этом случае нужно создать ярлыки для запуска и остановки сервера вручную. Они должны иметь вид:


Запуск сервера: F:\usr\apache\Apache.exe Остановка сервера: F:\usr\apache\Apache.exe -k shutdown


2. Отсутствует файл F:\usr\apache\conf\httpd.conf 


Это случается и имеет отношение, равно как и предыдущий пункт, к различным дистрибутивам Apache. (по этому советую загружать дистрибутив, приведенный здесь!). Итак, файл "httpd.conf" отсутсвует, но есть файл "httpd.conf.default". В этом случае нужно скопировать файл "httpd.conf.default" в "httpd.conf" (именно создать копию этого файла с другим именем, а не переименовывать сам файл. "httpd.conf.default" всегда желательно иметь, так как он является дистрибутивом установок Apache и с его помощью Вы всегда можете вернуться к первоначальным настройкам). Ну а дальше производить все настройки в получившемся файле.


3. Не работает PHP (в броузер выводиться код) или не работает Apache (окошко сразу закрывается).


Проверьте правильность установки и настройки сервера (см. выше). Все пути, настройки, тексты скриптов обязательно должны совпадать с примерами - буква в букву. Иначе проблемы скорее всего будут. Например, Вы поставили слеш в настройках в другую сторону (вместо "/" написали "\" или наоборот) или в тексте скрипта вместо "<?" написали "< ?" (с пробелом) и т.п. Такие ошибки мне вычислять, к сожалению, очень сложно... мне как минимум нужно сесть за Ваш компьютер :)


4. Окно MS-DOS при запуске Apache открывается и сразу же гаснет. Не успеваю даже прочитать, что там написано.


Это означает, что Apache неправильно установлен или настроен. Не стоит сразу же повторять установку (запускать setup) - файлы сервера скопированы верно, ведь ярлык открывает файл Apache.exe. В этом случае обычно неверны настройки сервера. Проверьте файл "httpd.conf" в каталоге "F:\usr\apache\conf\". Особенно внимательно посмотрите на пути (F:\project и т.п.). Не забывайте про слеши! Они должны быть именно такие (в ту сторону), как приведены в примере (см. архив). И, очень важно: там, где их нет (например, в конце путей) не нужно их ставить! В завершение проверьте, что на сервере верна структура каталогов.




Просмотров: 14361

  Коментарии (2)
 1 Написал(а) Jaylene, в 08:06 17.05.2017
Mein Freund liebt diese Dinger auch - wenn es eine Rucshte gibt ;) Ich gebe ihm dann noch nen Kuss und verzieh mich dann für 4 Stunden in die Sauna - ich liebe diese Zeit für mich
 2 Написал(а) Gertrude, в 07:16 21.05.2017
Articles like these put the consumer in the driver seat-very imatnoprt.

Добавить коментарий
Имя:
Коментарий:



Код:* Code

Реклама