Сервер апаче для windows 7. Установка веб-сервера Apache


Веб сервер Apache достаточно популярен. Это бесплатное программное обеспечение с открытым исходным кодом. Устанавливается как правило на компьютеры с операционной системой UNIX семейства, но есть возможность установить на операционную систему семейства Windows.

Я нашел версию Apache 2.4.25, и устанавливал именно её на windows 7 x64 httpd-2.4.25-win64-VC11.zip . Там есть 32-х разрядная версия и 64-версия. На Windows 7 x64 можно установить обе версии, на 32-х разрядном Windows 7 будет работать только 32-х разрядная версия. Так что выбирайте в соответствии с вашими возможностями. Так же замечу, что исполняемые файлы скомпилированы в Microsoft Visual Studio 2012, я для их работы требуется установить распространяемый пакет Visual C++. Скачать его можно на сайте Microsoft vcredist_x64.exe . И выбирайте пакет соответствующей разрядности

Приступим к установке. Если не установлен пакет Microsoft, то устанавливаем. Это несложно, всё делается автоматически. Затем из zip архива извлекаем папку Apache24 и перемещаем в "C:\Program Files". Если у вас Windows x64, а сервер x86, то в папку "C:\Program Files (x86)".

Я видел в интернете советы что нужно создать папку в корне диска C: , и распаковать в неё содержимое архива, но я придерживаюсь иного мнения. Для программ есть папка "C:\Program Files". Для тех кто возражает, дескать конфигурационные файлы глубоко закопаны и для их редактирования потребуются права администратора, отвечаю: проблемы не существует. Создаете ярлык для блокнота ("C:\Windows\notepad.exe"), в свойствах ярлыка после пути блокнота дописываете в двойных кавычках полный путь к файлу конфигурации ("C:\Program Files\Apache24\conf\httpd.conf"), и в дополнительных свойствах ставите галку "запуск от имени администратора". Ярлык помещаете в удобное для вас место, по клику будет запущен блокнот с правами администратора, и он откроет конфигурационный файл сервера. Открыв его нужно немного поправить .

После правки httpd.conf нужно создать командный файл, записать в него

"C:\Program Files\Apache24\bin\httpd.exe" -k installи запустить его от имени администратора. Эта команда серверу зарегистрировать себя как службу windows, которая будет автоматически запускаться при старте системы. Так же можете в автозагрузку поместить маленькую программу помощник "C:\Program Files\Apache24\bin\ApacheMonitor.exe". Она находится в трее, показывает состояние службы, и позволяет запускать, останавливать, перезапускать службу apache. Перезапускать службу apache нужно после каждого редактирования конфигурационных файлов чтобы изменения вступили в силу.

Если командный файл выполнен успешно и служба apache заработала, то можно в браузере набрать http://127.0.0.1 или http://localhost, браузер откроет файл "C:\Program Files\Apache24\htdocs\index.html", в котором единственная строка "It works! ". Если браузер смог это отобразить, значит сервер работает.

Конечно место по умолчанию для htlm документов, которые будут обрабатывать веб сервер не очень удобное, но это не имеет значения. Дело в том что apache умеет содержать множество виртуальных хостов, каждый из которых может быть индивидуально настроен. Сторонники денвера ставят в заслугу способность денвера содержать несколько разных сайтов, но это заслуга именно сервера apahce, который встроен в денвер. У нас же полноценный сервер, работающий как служба windows. И теперь самое заняться созданием

Ниже я написал инструкцию как на на локальном компьютере с Windows 7 — настроить сервер Apache и установить на него PHP, MySql и phpMyAdmin.

Установка Apache

Скачиваем дистрибутив с сервером Apache с сайта http://httpd.apache.org/download.cgi . Выбираем версию 2.2.22 и скачиваем установщик для windows. На домашнем компе вам вряд ли понадобится SSL, выбираем — «Win32 Binary without crypto (no mod_ssl) (MSI Installer) «.

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

Устанавливаем Apache запуская файл инсталяции. Все шаги при установке — стандартные.

Нажимаем Next.

Соглашаемся с лицензией.

Воводим данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек - установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service - Recommended» - установить как службу.

Выбираем Custom (выборочная установка).

Выбор компонентов и места установки. Можно оставить все значения по умолчанию.

Жмем Install.

Завершаем установку.

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить.

Проверяем работоспособность. Зайдите в браузере по адресу http://localhost/ ю Если все сделано правильно вы увидите надпись «It Works!». Поздравляю, первый шаг закончен успешно.

Примечание.

Рекомендую сразу включить поддержку ЧПУ ссылок, для этого раскомментируйте строку LoadModule rewrite_module modules/mod_rewrite.so в файле httpd.conf . Он находится в папке conf в месте куда у вас установился Apache.

Было так:
{codecitation}#LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Должно стать так:
{codecitation}LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Здесь и в дальнейшем, раскомментировать — значит убрать знак комментария — #, который находится в начале строки.

Продолжение следует.

Выбираем последнюю версию (на момент написания этой статьи — 2.2.17) и переходим к списку дистрибутивов. На домашнем компе вам вряд ли понадобится SSL, поэтому скачиваем версию Win32 Binary without crypto (no mod_ssl) (MSI Installer).

Теперь запускаем установщик (пользователь должен обладать правами администратора). В начале ничего интересного — просто экран приветствия:

Второй этап — соглашаемся с условиями лицензии:

Третий этап — несколько вводных слов от разработчиков. Сразу жмем Next:

Четвертый этап. Здесь надо ввести данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек — установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service — Recommended» — установить как службу:

Тип установки. Выбираем Custom (выборочная):

Шестой этап. Выбор компонентов и места установки. Я оставил все значения по умолчанию:

Седьмой этап. Все готово к установке. Нажимаем Install:

Завершаем установку (Finish):

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить службу:

Проверяем работоспособность. Открываем браузер, и в адресной строке вводим http://localhost/. Если все правильно, должна открыться страница с надписью It works!

Чтобы сервер был доступен не только на локальном компьютере, но и из вне, необходимо открыть на вход порт TCP 80 в брандмауэре Windows.

Открытие порта в брандмауэре Windows

Открываем Пуск -> Панель управления -> Система и безопасность -> Брандмауэр Windows. В левой колонке кликаем по ссылке «Дополнительные параметры». В открывшемся окне также в левой колонке кликаем по «Правила для входящих подключений» и затем уже в правой колонке «Создать правило…»:

Откроется мастер создания правила. Тип правила выбираем «Для порта»:

Протоколы и порты. Протокол TCP. Ниже выбрать опцию «Определенные локальные порты», и справа в текстовом поле ввести номер порта — 80:

Действие. Выбираем «Разрешить подключение»:

Профиль. Оставляем по умолчанию (отмечены все три опции: доменный, частный, публичный):

В конце концов вводим имя созданного правила. Например Apache Web Server:

На этом все. Нажимаем Готово. Теперь можно попробовать подключиться с другого компьютера.

Напоминаю, что для подключений к серверу не только из локальной сети, но и из Интернет, на роутере (если он есть) необходимо настроить форвардинг 80-го порта (port forwarding или еще это часто называют virtual server).

Установка PHP (ручная)

Скачиваем последнюю версию PHP (5.3.5 на момент написания) с сайта: http://windows.php.net/download/ . Здесь доступно сразу несколько версий:

  1. VC9 x86 Non Thread Safe — для установки на IIS в режиме FastCGI.
  2. VC9 x86 Thread Safe — ???
  3. VC6 x86 Non Thread Safe — для установки на Apache в режиме CGI/FastCGI.
  4. VC6 x86 Thread Safe — для установки на Apache в режиме модуля — наш выбор.

Т.к. мы затеяли установку в ручном режиме, скачиваем zip-архив.

Содержимое архива распаковываем в директорию установки. Я выбрал C:\Program Files\PHP.

Переходим в эту директорию. В корне установки вы найдете два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основное отличие — в настройках для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Итак, выбираем нужный вам файл (я выбрал php.ini-development), открываем его и сохраняем в ту же папку под именем php.ini. Эту операцию можно проделать в обычном блокноте, но все же лучше использовать редактор поудобнее, например notepad2 .

Теперь в php.ini необходимо внести несколько изменений:

  1. Найти опцию extension_dir (пользуйтесь поиском CTRL+F) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «c:\program files\php\ext»
  2. Найти опцию upload_tmp_dir. Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «c:\windows\temp»
  3. Найти опцию session.save_path. Здесь также требуется указать путь к временной папке: session.save_path = «c:\windows\temp»
  4. Перейдите к разделу Dynamic Extensions. Здесь необходимо раскомментировать строки (убрать точку с запятой в начале), соответствующие модулям PHP, которые вам необходимы для работы. Базовый набор модулей может выглядеть примерно так: ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll

Теперь переходим к настройкам Apache.

Открываем папку установки Apache (по умолчанию C:\Program Files\Apache Software Foundation\Apache2.2\). Открываем папку conf. Открываем файл httpd.conf.

Переходим в конец файла и дописываем туда следующие строчки:

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки.

В том же файле находим следующие строки:

DirectoryIndex index.html

Перед index.html дописываем через пробел index.php. В итоге получается:

DirectoryIndex index.php index.html

Чтобы изменения вступили в силу, перезапускаем службу Apache. Если служба перезапустится — это хороший знак. Если нет — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы убедиться в работоспособности PHP, откройте директорию установки Apache, далее откройте папку htdocs (здесь содержаться файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующем содержанием:

Теперь откройте в браузере http://localhost/. Если все нормально, вы увидите похожую страницу:

Если вы видите страницу с надписью «It works!», попробуйте обновить страницу с помощью CTRL+F5.

Установка MySQL

Вынесена в отдельную статью.

или устанавливаем связку серверов самостоятельно

Проверено на Windows Vista SP1, Vista Ultimate, Windows 7

Ваши действия:

  1. Скачайте бесплатно с официальных сайтов следующие дистрибутивы:

    Настройка PHP интерпретатора

    1. Откройте двойным щелчком файл php.ini из папки C:\server\php\ .
    2. В разделе "Paths and Directories" должна присутствовать строка extension_dir ="C:\server\php\ext" .
    3. В разделе "Dynamic Extensions" найдите; Be sure to appropriately set the extension_dir directive. , внизу этой строчки поместите:
      extension=php_gd2.dll
      extension=php_mbstring.dll
      extension=php_mysql.dll
      extension=php_mysqli.dll
      extension=php_pdo.dll
      extension=php_pdo_mysql.dll
      extension=php_sqlite.dll
    4. Где-то в конце файла найдите строчку; End: и удалите все, что за ней следует.

    Сохраните измененный файл там же.

    Завершив редактирование файлов, создайте папку www в папке server и папку cgi-bin в папке www . Перезапустите компьютер. В результате в трее, в статусе сервера появился зеленый треугольник вместо красного квадрата, если нет и выведено окно с предупреждением об ошибке, значит изменение файла httpd.conf было неточным и вам прийдется внимательно все проверить, наклоны слэшей, кавычки и так далее.

    www — корневая директория (root directory) локального сервера, именно здесь следует сохранять все документы (папки, страницы, изображения, скрипты и другие файлы) вашего сайта.

    Тестируем PHP интерпретатор

    Создайте новый файл в редакторе (Notepad2 или Notepad+) и напишите код:

    echo phpinfo ();
    ?>

    Сохраните файл в директории C:\server\www\ как index.php . В браузере наберите http://127.0.0.1 или http://localhost/ ⇒ должна быть показана таблица:


    У меня все получилось! Если у вас есть какие-либо вопросы или пожелания, пишите в блог.

    Мы имеем локальный сервер в связке с интерпретатором и теперь можно изучать PHP.

    Тестируем соединение с сервером баз данных MySQL

    Небольшой скрипт:

    $dblocation = "127.0.0.1" ;
    $dbname = "test" ;
    $dbuser = "root" ;
    $dbpasswd = "" ; /* Укажите пароль который вы вводили при
    установке MySQL */
    $dbcnx = @ mysql_connect ($dblocation , $dbuser , $dbpasswd );
    if (! $dbcnx )
    {
    echo "Не доступен сервер mySQL" ;
    exit();
    }
    if (!@
    mysql_select_db ($dbname , $dbcnx ))
    {
    echo "Не доступна база данных" ;
    exit();
    }
    $ver = mysql_query ("SELECT VERSION()" );
    if(! $ver )
    {
    echo "Ошибка в запросе" ;
    exit();
    }
    echo mysql_result ($ver , 0 );
    ?>

    Сохраняем скрипт в папке C:\server\www\ как mysql.php и набераем в браузере http://localhost/mysql.php ⇒ будет показан серийный номер MySQL сервера :

    5.5.12
    1. Скачайте бесплатно дистрибутив менеджера по управлению базами данных с официального сайта php-myadmin.ru , последнюю стабильную версию, файлом с расширением all-languages.zip .
    2. Распакуйте архив в папку phpmyadmin , и поместите её в папку www .
    3. Скачайте config.inc.php , извлеките из архива и скопируйте его в папку phpmyadmin .
    4. Откройте config.inc.php , найдите строчку $cfg["Servers"][$i]["password"] = "pass"; ⇒ вместо pass укажите корневой пароль (root) , который вы использовали при установке сервера MySQL ⇒ сохраните файл.
    5. В браузере наберите http://localhost/phpmyadmin/ ⇒ будет показана титульная страница менеджера:

    Установив вышеперечисленные компоненты, мы получили полноценный локальный web-сервер и всё необходимое для организации дальнейшей работы.

    Были использованы материалы с сайтов: dev.mysql.com | php.net | php-myadmin.ru

1.3) В корне диска E: создаем две папки iSites (тут будут лежать наши сайты) и iLogs (тут будут жить общие логи сервера).
1.4) В папке G:\iSites создаем два подкаталога localhost и testru и далее в каждом из них свои подкаталоги www ,log и ssl

2) Теперь надо скачать бинарники Apache. Все! Приехали! Больше ни каких установщиков нет! Все по взрослому:)

Для того чтобы чтобы скачать идем сюда http://httpd.apache.org/download.cgi и видим примерно это (зависит от даты когда вы будете читать эту мою статью:)):

На текущий момент последняя версия Apache 2.4.18. После того как нажмем на указанную ссылку попадаем вот сюда:

12.1) Разархивируем содержимое архива в каталог D:\iServer\PHP

12.2) Прикручивать PHP к Apache будем как модуль Apache. Для этого идем в каталог E:\iServer\Apache\conf , и добавляем в файлик httpd.conf в окончание блока инструкций LoadModule две строки:
LoadModule php7_module "D:/iServer/PHP/php7apache2_4.dll"
PHPIniDir "D:/iServer/PHP"

12.3) Находим в файлике httpd.conf инструкции AddType, в конец этого блока вставляем инструкцию:
AddType application/x-httpd-php .php

12.4) Находим в файле httpd.conf блок инструкций DirectoryIndex . И добавляем в инструкцию DirectoryIndex указание на файл index.php . Чтобы в конечном виде инструкция выглядела так:
DirectoryIndex index.html index.php

12.5) В файле httpd.conf в секцию AddHandler добавляем строку AddHandler application/x-httpd-php .php

12.6) Теперь настала очередь конфигурить файл php.ini. Для этого переименовываем или копируем файл php.ini-production (в каталоге D:\iServer\PHP ) в файл php.ini .

12.7) В файле php.ini раскоментируем строку extension_dir = "ext" и необходимые вам расширения

12.8) Находим в файле php.ini строку short_open_tag = Off . И приводим ее к виду short_open_tag = On

12.9) Создаем в каталоге E:\iSites\localhost\www файлик phptest.php и пишем в нем следущий код:
phpinfo();
?>

Сохраняем файлик.

12.10) Останавливаем и снова запускаем Apache через консоль управления Apache. После перезапуска Apache можно открыть окно управления сервисом Apache дважды кликнув по иконке в трее. Должны увидеть следующее окошко:

Обратите внимание что теперь с версией Apache, так же указывается и версия PHP.

12.11) Тестируем работу PHP. Набираем в браузере http://localhost/phptest.php и видим следующую картинку и радуемся жизни. PHP заработал:

12.12) Еще для теста включим функции PHP для работы с графикой. Редактируем файлик D:\iServer\PHP\php.ini . Находим строку extension=php_gd2.dll и раскоментируем ее. Перезапускаем Apache.

В каталоге G:\iSites\localhost\www создаем файлик gdtest.php и вводим следующий код:

$pic=imagecreate(350,100);
$piccolor=imagecolorallocate($pic, 255,255,255);
$textcolor=imagecolorallocate($pic, 0,0,0);
$linecolor=imagecolorallocate($pic, 0,0,255);
$text="GD test successful - gdtest.php!";
imagerectangle($pic, 1,99, 349,0, $linecolor);
imagestring($pic,5,30,40, $text, $textcolor);
header("content-type: image/png");
imagepng($pic);
imagedestroy($pic);
?>

Вводим в браузере адрес http://localhost/gdtest.php и видим:

Если не видим, то как обычно курим мануал до полного просветления:)

13) Теперь настроим rewrite_module , оч полезная штука:). В файле httpd.con f расскомментируем строчку

LoadModule rewrite_module modules/mod_rewrite.so


AllowOverride none
Require all denied

И заменяем в ней строку AllowOverride None на строку AllowOverride All
Затем чуть ниже так же будет просто строка AllowOverride None ее надо поменять на AllowOverride All
Это включает обработку ВСЕХ параметров ВСЕХ.htaccess во всех каталогах.

Теперь проверяем работу модуля rewrite. Рестрартуем Apache

В каталоге E:\iSites\localhost\www создаем файлик .htaccess и в него вносим одну строку

эта строка перенаправляет с файла index.html на сайт ya.ru

В браузере просто набираем localhost и нас должно перебросить на страничку ya.ru

Если сработало, то все настроили правильно. Ну а если нет, то ищем где накосячили.

14) Устанавливаем MySQL. Идем сюда и качаем установщик mysql-installer-community-5.7.11.0.msi . Стоит обратить внимание что хоть файл msi 32 разрядный, но он устанавливает обе версии x32 или x64 в зависимости от платформы . И так, клацаем по нему и понеслась установка…

Затем видим это и начинаем выбирать нужные вам компоненты и удалять не нужные…

Я выбрал следующие компоненты:

Затем жмем Advanced Options…

И выбираем куда будет установлен MySQL server и где будут лежать его базы:

Жмем ОК и Next и видим что установщику для работы Workbench нужен редист. Но как он сообщает он сам попробует его установить

Жмем Execute и видим:

Ну и ставим редист … и теперь у нас все хорошо

И жемем Execute…

Настало время сконфигурировать MySQL…

Ну и жмем Execute…

После нажатия на Finish запуститься Workbench…

Подключимся с его помощью к MySQL

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

14.1) Чуть чуть донастроим MySQL. По умолчанию он хранит временные файлы на системном диске , что я считаю не есть гуд. Поэтому переносим временные файлы в другое место. Для этого в файле E:\MySQLdb\my.ini в секции добавляем строку tmpdir=E:/MySQLtemp . Естественно каталог E:\MySQLtemp должен уже быть создан. Перезапускаем MySQL сервис и наслаждаемся видом:

14.2) Проверяем работу MySQL (пока отдельно без привязки к Apache и PHP). Даем из командной строки в директории D:\iServer\MySQL\bin команду

mysql.exe -h localhost -P 3306 -u root -p

вводим пароль и даем следующую команду

show databases;

15) Прикручиваем MySQL к Apache, хотя вернее сказать к PHP, ну а он уже прикручен к Apache. Вот такой паровозик получается. Итак редактируем файлик D:\iServer\PHP\php.ini . Находим в нем строчки
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

и раскомментируем их. Затем находим строку mysqli.default_port = и приводим ее к виду mysqli.default_port = 3306 . Далее находим строку mysqli.default_host = и приводим ее к виду mysqli.default_host = localhost

Перезапускаем Apache.

В каталоге E:\iSites\localhost\www создаем файлик mysqltest.php и вводим туда следующий код:

try {
$DBH = new PDO("mysql:host=localhost", "root", "ВАШ ПАРОЛЬ");

foreach($DBH->query("SELECT CURDATE()") as $row) {
echo "";
echo "";
}

}
catch(PDOException $e) {
echo $e->getMessage();
}
?>

В браузере вводим адрес http://localhost/mysqltest.php и если все сделали правильно, то видим текущую дату. Это значит что PHP может работать с MySQL.

Подведем небольшой итог. Сейчас у нас работает по Windows Server 2008R2 x64 Apache 2.4 x64 + PHP 7.0.3 x64 + MySQL 5.7.11 x64. Все это дело заняло на диске D: достаточно места:

Сравните с тем свободным местом на диске D: что было в начале.

Поэтому заранее планируйте пространство на ваших дисках.

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

16) Теперь остается только сделать чтобы сервис Apache работал не под системной учеткой, а под обычным пользователем. По умолчанию, при установке, сервис Apache запускается под пользователем SYSTEM , который имеет в системе максимальные права. Это не есть гуд. Сейчас будем исправлять эту ситуацию.

16.1) Создаем и настраиваем учетную запись под которой будем запускать Apache.

  • создаем учетную запись iUser и назначаем ей пароль срок действия которого ни когда не истекает
  • проверяем чтобы она входила только в группу пользователи
  • запрещаем для пользователя iUser локальный вход и выставляем право работать в режиме операционной системы и вход в качестве службы через оснастку gpedit.msc

  • Даем учетной записи iUser право на запись в каталоги необходимые для работы Apache:
    E:\iLogs – общие логи Apache
    В каталоги лог файлов сайтов. В нашем случае: E:\iSites\localhost\log и E:\iSites\testru\log
  • В будущем если понадобятся разрешения на запись в какую либо папку или файл вашего сайта, то эти разрешения необходимо добавить. Но на большинство файлов вашего сайта не должно быть разрешения на запись. И тем более на файл.htacess
  • Перезапускаем службу Apache2.2
  • Ну и проверяем работу зайдя по адресу http://localhost

Если сделали все правильно, то все должно работать.

17) И так у нас все работает хорошо локально. А что если попробовать подключиться к нашему веб серверу по сети? И вот тут сюрпрайз:) Ни кто не сможет подключиться, так как на Windows Server 2003R2, по умолчанию, этот порт закрыт файрволом. Поэтому надо создать правило разрешающие входящее подсоединение к 80 порту.

18) Запрещаем выдавать Apache свою версию и версию PHP. Эта информация может позволить точно узнать уязвима ваша версия Apache и PHP или нет. Лучше это отключить, так как любой, даже самый простой сканер вам покажет эти данные:

Кстати, тут так же видно что Location у нас http://ya.ru . Это как раз сработал наш mod_rewrite – еще одна защита.

18.1) Чтобы запретить Apache показывать свою версию и версию PHP делаем следующее:

  • В файле раскоментируем строку Include conf/extra/httpd-default.conf
  • В файле D:\iServer\Apache\conf\extra\httpd-default.conf ищем параметр ServerTokens и меняем его значение с Full на Prod и перезапускаем Apache.

И теперь у нас Apache показывает только это:

Согласитесь это уже приятней:) ?

Для полного счастья осталось только рассказать как прикрутить к Apache SSL сертификаты для виртуальных сайтов. Но об этом в другой статье. Хотя я уже про это писал . Но времена меняются и сейчас все чуть по другому, но суть от этого не поменялась.







2024 © gtavrl.ru.