Войти
Android, Windows, Apple, Ликбез. Социальные сети. Драйверы
  • Японские телефоны Новый японский смартфон
  • Lenovo G500S: характеристики, основные особенности
  • Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
  • А конкуренты у смартфона есть
  • Что такое расширение файла TRZ?
  • Не работает динамик в "айфоне"
  • Установка и настройка веб сервера apache. Установка Apache под Windows

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

    Для того чтобы в Интернете появился сайт, он должен быть размещен на сервере хостера или вашем собственном, подключенном к Сети и имеющем выделенный IP-адрес. Сервер представляет собой компьютер, на котором установлено специальное программное обеспечение, которое тоже называют "веб-сервером".

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

    В 1994 году сотрудник Национального центра приложений для суперкомпьютеров в Университете Иллинойса США (NCSA) Роб Маккул выложил в общее пользование первый веб-сервер, который так и назывался — NCSA HTTP daemon. Сервер получил популярность в узких кругах, но в середине 1994 года Маккул покинул университет, и разработки прекратились.

    Небольшая группа заинтересованных веб-мастеров начала совместную работу над продуктом. Общаясь в дискуссионном листе по электронной почте, они разрабатывали "заплатки" и нововведения для сервера. Именно они и создали Apache Group, разработавшую первую версию Apache-сервера. Произошло это в апреле 1995 года, когда на основу (NCSA Server 1.3) были наложены все существующие "заплатки". Так появился первый официальный публичный релиз Apache 0.6.2.

    Первая публичная версия Apache появилась в апреле 1995 года, а в декабре вышел релиз 1.0

    Работа над сервером не прекращалась ни на день, и очень скоро он стал одним из самых популярных. После многочисленных испытаний 1 декабря 1995 года появилась версия 1.0, устойчивая и надежная. На протяжении всех этих лет и по сей день Apache остается совершенно бесплатным. Возможно, это тоже определило успех сервера, ведь, по данным NetCraft, Apache в данный момент установлен на 67% всех серверов в мире.

    Сервер Apache сейчас установлен на 67% серверов по всему миру. В данный момент развивается сразу две ветки

    В данный момент параллельно развиваются две ветки Apache – версии 2.0 и 1.3. Вторая версия претерпела значительное количество изменений, которые в первую очередь коснулись ядра программы и некоторых важных модулей. Так как модули, написанные сторонними разработчиками для версии 1.3, не будут работать в версии 2.0, "старый" Apache также поддерживается. Однако если вы собираетесь впервые установить Apache, то стоит присмотреться к новой версии.

    Apache — полнофункциональный, расширяемый веб-сервер с открытым кодом

    Итак, что же такое Apache? Это полнофункциональный, расширяемый веб-сервер, полностью поддерживающий протокол HTTP/1.1 и распространяющийся с открытым исходным кодом. Сервер может работать практически на всемх распространенных платформах. Существуют готовые исполняемые файлы сервера для Windows NT, Windows 9x, OS/2, Netware 5.x и нескольких UNIX-систем. При этом он очень прост в установке и конфигурации. В этом вы сможете убедиться несколько позднее.

    Apache настраивается с помощью текстовых конфигурационных файлов. Основные параметры уже настроены "по умолчанию" и будут работать в большинстве случаев. Если вам не хватает функциональности штатного "Апача", то стоит присмотреться к распространяемым модулям, написанным Apache Group и сторонними разработчиками. Немаловажным преимуществом является то, что создатели активно общаются с пользователями и реагируют на все сообщения об ошибках.

    Самая простая функция, которую может выполнять Apache – стоять на сервере и обслуживать обычный HTML-сайт. При получении запроса на определенную страницу сервер отправляет в ее ответ браузеру. Набираете адрес, открывается страница — все просто.

    С помощью сервера Apache можно производить простую аутентификацию

    Функция посложнее, которая заложена в протоколе HTTP/1.1 – аутентификация пользователей. С помощью штатных средств сервера Apache вы можете разграничить доступ к определенным страницам сайта для разных пользователей. Это нужно, например, для того чтобы сделать администраторский интерфейс к сайту. Для этого используются файлы.htaccess и.htpasswd, а также модули mod_auth и mod_access. Пользователи могут быть разбиты на группы, и для каждой из них можно назначить свои права доступа.

    Сервер Apache поддерживает работу с технологией SSI

    Для разделения дизайна и функциональной части сайта, а также для упрощения изменения статических объектов существует технология SSI. Она позволяет вам поместить всю повторяющуюся информацию в один файл (например, top.inc), а затем вставлять в страницы ссылку на нее. Затем, если понадобится изменить несколько строк в этой информации, то придется поменять их только в одном файле. Сервер Apache поддерживает эту технологию и позволяет использовать серверные включения в полном объеме.

    На сервере Apache можно создавать пользовательские директории для веб-сайтов

    Если на одном сервере с установленной операционной системой семейства Unix и сервером Apache заведено несколько пользователей, то каждому из них можно создать отдельную директорию. Точнее, она будет создаваться автоматически вместе с псевдонимом. Это делается с помощью модуля mod_userdir и директивы UserDir. Так, например, можно папке public_html в домашней папке пользователя сопоставить адрес www.site.ru/~user. В общем-то, так и делается на серверах большинства сайтов, предоставляющих бесплатный хостинг. Администратор сервера может разрешить или запретить определенным пользователям создавать домашние страницы, использовать SSI и другие функции сервера. Полноценный же хостинг обычно предусматривает создание отдельного виртуального сервера для каждого пользователя.

    Вы можете настроить виртуальные хосты. Благодаря им на одном физическом сервере можно содержать несколько виртуальных

    Сервер Apache был одним из первых серверов, которые начали поддерживать виртуальные сервера (хосты). Эта возможность позволяет размещать на одном физическом сервере несколько полноценных сайтов. У каждого из них может быть свой домен, администратор, IP-адрес и так далее.

    Если вам нужно разместить на вашем сервере домены domain.ru и domain.com, то для начала надо сделать так, чтобы в системе DNS им был сопоставлен ваш IP-адрес. После этого в конфигурационном файле Apache создаете две директивы , где описываете каждый виртуальный хост. Таким образом, сервер будет знать, на какую папку "отправлять" пришедший запрос.

    Apaсhe поддерживает работу со скриптами PHP, CGI и другими

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

    Модуль mod_cgi позволяет вам размещать на сервере CGI-скрипты. Вообще, это всего-навсего исполняемые файлы, написанные на одном из допустимых языков программирования. Они могут содержаться как в откомпилированном виде (например, так делают, если пишут CGI на языке C++), так и в виде исходного текста (если на сервере установлен Perl, то программист может помещать и такие файлы. Иногда они имеют расширение.pl).

    Что касается PHP, то возможность интеграции его в Apache предусмотрена разработчиками самого PHP. Apache же выполняет только функции посредника между скриптом и компилятором. Существует два способа интеграции PHP в Apache. Первый – установка специального модуля, расширяющего возможности сервера, и тогда он сам становится способным "компилировать" скрипты. И второй – установка в конфигурационных файлах связей между php-файлами и самим компилятором (он находится на диске в виде файлов.cgi или.exe).

    В последней версии Apache существует модуль для работы с сильной криптозащитой SSL/TSL

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

    Apache ведет подробные протоколы всего происходящего на сервере

    Ну и, разумеется, сервер Apache может вести протокол всех действий, совершаемых с ним. Причем администратор может сам выбрать степень подробности протокола. Протоколы ведутся отдельно для ошибок, для успешных операций и для каждого виртуального хоста. Словом, полный набор для тщательного анализа появляющихся ошибок.

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

    А сегодня мы будем запускать web-сервер Apache 2.2.2, и посмотрим на его основные настройки.
    Для начела, проверим, как у нас прошла установка: Откройте браузер и введите http://localhost -Вы увидете страничку приветствия: It Works! Значит у нас установка прошла нормально.

    Далее щелкаем на значке пера в панели задач правой кнопкой мышки и выбираем "Open Services". В открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

    В корне диска С: необходимо создать каталог "apache" - в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок "error.log" (создается программой при первом запуске, автоматически), глобальный файл доступа "access.log" (создается автоматически). В каталоге "apache" создаем еще одну пустую папку - "localhost", в которой, в свою очередь, создаем папку "www", именно в последней и будет надодится проект нашего сайта в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

    Правка файла httpd.conf
    1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ "#") данную строку:

    LoadModule rewrite_module modules/mod_rewrite.so


    2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:

    #LoadModule php5_module "C:/php/php5apache2_2.dll"


    3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:

    #PHPIniDir "C:/php"


    раскоментируем после установки php

    4. Найдите строку:

    DocumentRoot "C:/server/htdocs"

    Назначьте корневую директорию управления сайтами (немного раньше вы ее уже создали):

    DocumentRoot "C:/apache"

    5. Найдите данный блок:


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all


    И замените его на нижеследующий:


    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all

    6. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:


    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn"t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

    7. Найдите блок:


    DirectoryIndex index.html

    Замените его на:


    DirectoryIndex index.html index.htm index.shtml index.php

    8. Найдите строку:

    ErrorLog "logs/error.log"


    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):

    ErrorLog "C:/apache/error.log"

    9. Найдите строку:

    CustomLog "logs/access.log" common


    Замените на:

    CustomLog "C:/apache/access.log" common

    10. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке, необходимо найти и раскомментировать:

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml

    11. Добавьте ниже, в тот же блок, две строки:

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    12. И, наконец, найдите и раскомментируйте строки:

    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex.conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

    Сохраните изменения и закройте файл "httpd.conf"

    Теперь откройте файл "C:\server\conf\extra\httpd-vhosts.conf" и произведите в нем следующие изменения.

    Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:

    NameVirtualHost *:80


    DocumentRoot "C:/apache/localhost/www"
    ServerName localhost
    ErrorLog "C:/apache/localhost/error.log"
    CustomLog "C:/apache/localhost/access.log" common

    Сохраните изменения и закройте файл "httpd-vhosts.conf"

    Движемся дальше - устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: "Start" ("Пуск") → "Control Panel" ("Панель управления") → "Administrative Tools" ("Администрирование") → "Services" ("Службы"), в открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

    Пример создания виртуального хоста

    При необходимости установки собственных виртуальных хостов сделайте следующее:

    Откройте файл "httpd-vhosts.conf", и создайте в нём блок, примерно, следующего содержания:

    # Папка, в которой будет корень вашего хоста.
    DocumentRoot "C:/apache/dom.ru/www"
    # Домен по которому вы сможете обращаться к виртуальному хосту.
    ServerName dom.ru
    # Алиас (добавочное имя) домена.
    ServerAlias www.dom.ru
    # Файл, в который будут записываться ошибки.
    ErrorLog "C:/apache/dom.ru/error.log"
    # Файл журнала доступа к хосту.
    CustomLog "C:/apache/dom.ru/access.log" common

    Затем в каталоге "apache", создайте папку "dom.ru", в которой, в свою очередь, создайте папку "www".
    Следующий шаг создания виртуального хоста - это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
    127.0.0.1 dom.ru
    127.0.0.1 www.dom.ru
    Теперь перезапустите сервер Apache, откройте браузер, введите в адресной строке "dom.ru" или "www.dom.ru" и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста ("www.dom.ru", если таковой существует), только закомментировав либо удалив строку: "127.0.0.1 www.dom.ru", в вышеупомянутом файле "hosts".
    Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
    Установка и настройка веб-сервера Apache - завершена.

    Эта статья – пошаговая инструкция по созданию локального web-сервера. В ней описана установка web-сервера Apache 2.4 на платформе ОС Windows. Тестирование установки выполнялось на Windows XP SP3.

    Состав web-сервера:

    • Apache 2.4 (версия 2.4.10);
    • PHP 5.4 (версия 5.4.34);
    • MySQL 5.5 (версия 5.5.23).

    Эта рабочая среда подойдет:

    • опытным вебмастерам для тестирования своих проектов;
    • начинающим вебмастерам для создания своих первых сайтов.

    Дистрибутивы Apache 2.4 и PHP 5.4 скомпилированы в VC9 (Visual Studio 2008).

    Версия Apache 2.4 VC9 работает, практически, со всеми актуальными версиями Windows (7/8/Vista/XP SP3).

    Для работы приложений VC9, прежде всего, необходимо обновить библиотеки Visual C++.

    Установка пакета обновлений библиотек Visual C++

    Скачиваем дистрибутив обновлений vcredist_x86.exe с сайта Microsoft, запускаем файл и выполняем обновление.

    Установка и настройка сервера Apache 2.4

    В дистрибутиве Apache нет файла инсталляции. Поэтому установка будет выполняться вручную.

    Создаем папку и распаковываем архив httpd-2.4.10-win32-VC9.zip .

    В файле конфигурации httpd. conf по умолчанию установлены маршруты C:\ Apache24 . Поэтому, правок в файле конфигурации будет гораздо меньше, если распаковать архив в эту папку.

    Мы распакуем дистрибутив в папку C:\ TestServer .

    Вносим правки в файл конфигурации C:\ TestServer \ Apache24\ conf\ httpd. conf . При написании путей вместо символа «\» (обратная косая черта) следует использовать символ «/» (прямая косая черта). Так прописываются пути в операционных системах Linux и Unix. А ведь первоначально Apache разрабатывался именно для этих операционных систем.

    Выполняем групповую замену текста C:/ Apache24 на C:/ TestServer / Apache24 .

    Устанавливаем значение параметра ServerName .
    ServerName localhost:80

    Устанавливаем значение параметра ServerAdmin (e-mail администратора).
    ServerAdmin [email protected]

    Устанавливаем значение параметра DocumentRoot (расположение документов сайта).
    DocumentRoot C:/ TestServer / Apache24/ htdocs

    Возможно, вы захотите хранить документы сайта отдельно от сервера. Например, в папке C:\ MySites . Тогда этот параметр можно изменить.
    DocumentRoot C:/ MySites

    Исполняемые файлы Apache находятся в папке C:\TestServer \Apache24\bin . Добавляем это значение в переменную среды PATH Windows .
    PATH = C:\TestServer \Apache24\bin;

    Устанавливаем Apache как службу.
    httpd.exe -k install

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

    Запускаем сервер Apache.
    httpd.exe -k start

    Проверяем работоспособность сервера. В командной строке браузера набираем адрес: http://localhost . Если установка Apache прошла успешно – на экране отобразится текст It works ! . В противном случае мы увидим пустой экран.

    В случае если сервер не запустился, следует проверить, не занят ли порт 80, который использует Apache по умолчанию.

    Делается это с помощью команды
    netstat –anb

    Чаще всего этот порт используют Skype или Firefox. В этом случае следует либо освободить порт, либо перевести Apache на порт 8080 .

    Для этого в файле httpd . conf изменяем значений параметров ServerName и Listen . ServerName localhost:8080
    Listen 8080

    После этого перезапускаем службу командой
    httpd.exe -k re start

    и опять пытаемся зайти по адресу http://localhost

    Для удобства работы с сервером Apache можно установить в меню автозагрузки Windows ярлык, указывающий на C:\TestServer \Apache24\bin\ ApacheMonitor.exe

    Установка PHP 5.4

    Заходим на сайт разработчика http://windows.php.net/download/ . Находим дистрибутив PHP 5.4 в секции VC9 x86 Thread Safe и загружаем архив php-5.4.34-Win32-VC9-x86.zip .

    Создаем папку на локальном компьютере, пусть это будет C:\TestServer \PHP54 , и распаковываем архив.

    Возвращаемся на сайт с дистрибутивом Apache. В разделе Additional + VC9 находим архив php5apache2_4.dll-php-5.4-win32.zip с PHP-модулями Apache и скачиваем его.

    В архиве находим папку с самой последней версией модуля php5apache2_4.dll и помещаем его в папку C:\TestServer \PHP54 .

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

    LoadModule php 5_ module « C :/ TestServer / PHP 54/ php 5 apache 2_4. dll »
    AddHandler application / x — httpd — php . php
    # configure the path to php . ini
    PHPIniDir « C :/ TestServer / PHP 54/ php «

    В папке C:\TestServer \Apache54\htdocs создаем файл test.php .

    echo «Hello Apache!»;
    ?>

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

    В адресной строке браузера набираем http://localhost/test.php . Если на экране появится текст Hello Apache! , то установка PHP завершилась успешно.

    Настройка php.ini

    Для работы с БД MySQL нам необходимо настроить php. ini – файл конфигурации PHP.

    В папке C:\ TestServer \ PHP54 находятся два шаблона: development и php.ini-production .

    Переименовываем шаблон php.ini-production в .

    Библиотеки для работы с БД MySQL находятся в папке C :\ TestServer \ PHP 54\ ext . Этот путь должен быть прописан в директиве extension_dir файла конфигурации php.ini.

    Находим этот параметр, удаляем символ комментария в начале строки (это точка с запятой) и прописываем путь.
    extension_dir = « C :/ TestServer / PHP 54/ ext «

    Для работы с БД MySQL в PHP существуют две библиотеки: php _ mysqli . dll – более новая и именно ее рекомендуется использовать в работе; php _ mysql . dll – старая, но ее используют на большинстве сайтов.

    В файле php.ini лучше прописать обе библиотеки.
    extension = php _ mysql . dll
    extension = php _ mysqli . dll

    После завершения правок обязательно перезапускаем сервер Apache.

    Установка и настройка MySQL

    Заходим на страницу http://www.mysql.ru/download/ . Выбираем версию для Win32 или Win64 . Мы будем загружать установочный пакет mysql-5.5.23-win32.msi .

    Запускаем файл mysql-5.5.23-win32.msi .

    Соглашаемся на лицензионные условия, выбираем тип установку Typical .

    Переходим к настройке MySQL сервера.

    Выбираем Detailed Configuration – детализированную настройку конфигурации.

    Выбираем тип сервера с минимальными требованиями к памяти – Developer Machine .

    Теперь нужно решить, с какими базами данных (InnoDB, MyISAM ) будет работать наш сервер.

    Multifunctional Database – поддерживаются InnoDB и MyISAM .
    Transactional Database Only - поддерживается InnoDB .
    Non-Transactional database Only - поддерживается myISAM .

    При выборе поддержки InnoDB , следующий шаг – выбор места хранения таблиц InnoDB .

    Максимальное число одновременных подключений лучше выбрать Manual Setting (ручная установка) и согласиться со значением по умолчанию (15 ).

    На этом шаге параметром Enable TCP/IP Networking включается поддержка TCP-соединений, выбирается порт, по которому будут осуществляться эти соединения. Также устанавливается параметр Enable Strict Mode – режим строгого соответствия стандарту MySQL.

    Теперь необходимо выбрать кодировку по умолчанию. Лучший вариант - кодировка UTF-8 . Поэтому выбираем Best Support For Multilingualism .

    Для того чтобы MySQL запускался как служба Windows - устанавливаем Install as Windows Service . Если необходим автозапуск этой службы - устанавливаем Launch the MySQL Server automatically .

    Теперь устанавливаем пароль администратора и выключаем опцию Modify Security Settings .

    После нажатия кнопок Next и Execute установку MySQL можно считать законченной.

    Для проверки работоспособности MySQL нажимаем кнопку Пуск Windows, находим утилиту работы с MySQL (MySql Server 5.5 MySQL Server Command Line ) и запускаем ее.

    После ввода пароля администратора мы попадаем в командную строку MySQL.

    Вводим команду
    show databases;

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

    Выходим из режима командной строки:
    exit;

    На этом установка сервера завершена. Удачной работы!

    В статье описывается установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на операционную систему Windows 7 / 8 / 8.1 / 10

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

    Данная инструкция будет полезна начинающим WEB-разработчикам, которые собираются установить на своем ПК с ОС Windows WEB-сервер Apache с интерпретатором PHP последних версий. Конечно же, намного проще установить сборку, наподобие Denwer или прибегнуть к использованию инсталляторов и не париться по поводу настроек. Однако каждый WEB-разработчик обязан понимать процесс работы WEB-сервера, процесс его установки и настройки.

    Если Вы хотите установить PHP 7, то обратитесь пожалуйста к статье.

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

    Обратите внимание, что под Windows XP данные версии VC11 запустить будет невозможно (или крайне затруднительно).

    Подготовительные работы

    Убедитесь, что у вас именно Windows 7 или новее. Если у Вас Windows XP, данная инструкция не поможет Вам, так как описанная здесь версия Apache не работает под Windows XP.

    Удалите все WEB-серверы, которые устанавливали до этого, зайдите в службы и убедитесь, что там нет служб Apache или IIS. Если у вас уже установлен какой-либо веб-сервер, второй параллельно скорее всего не заработает вовсе.

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

    Для работы очень желательно иметь файловый менеджер, позволяющий создавать файлы с любыми расширениями, либо, что еще лучше, редактор кода, наподобие Sublime Text или Notepad++ или полноценную IDE.

    Структура папок может быть различной, однако данная инструкция написана под определенную структуру и, если ей следовать, всё гарантированно заработает.
    Перед тем как начать, создайте на диске D папку USR , внутри которой создайте 5 подпапкок: apache , php , tmp , www , log . Именно так. Без указания номеров версий.

    В каталоге www создаем индексные файлы (при помощи файлового менеджера или редактора кода), которые будут нужны для проверки того, что все работает:

    • index.html с содержимым: It works!
    • index.php с содержимым:

    Если файлового менеджера / редактора кода / IDE нет, скачайте архив с этими двумя файлами . Но, если Вы считаете себя WEB-разработчиком, Вы должны обзавестись инструментами.

    В системную переменную PATH добавляем:

    ;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

    Замечания!

    Приведенные в примерах конфигурационных файлов номера строк могут отличаться для других версий apache и php.
    Все команды, включая редактирование файлов, должны осуществляться от имени Администратора.

    Установка Apache 2.4

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

    1. Загружаем Apache 2.4 binaries VC11 под свою систему по ссылке http://www.apachelounge.com/download/VC11/ Скорее всего у Вас 64 разрядная ОС, поэтому Вам понадобится файл с именем, наподобие httpd-2.4.xx -win64-VC11.zip
    2. Если нужны какие-то дополнительные модули, их можно загрузить там же (для базовой установки нет необходимости)
    3. Разархивируем содержимое папки Apache24 из скаченного архива в D:\USR\apache . Обратите внимание, что в D:\USR\apache нужно положить не папку Apache24 из архива, а ее содержимое. Инсталлировать ничего не требуется.
    4. В файле изменяем значение ServerRoot на "d:/USR/apache" (строка 37 ) и значение DocumentRoot Direcroty ) на "d:/USR/www" (строки 242 и 243 ). Так же следует раскомментировать строку 218 и изменить ее на: ServerName localhost:80
    5. Изменяем параметры хранения логов в том же файле (находим параметры и изменяем): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/apache-access.log" common
    6. Устанавливаем сервис Apache (от имени Администратора). Открываем командную строку от имени Администратора и вставляем туда следующую строку: D:\USR\apache\bin\httpd.exe -k install
    7. Следим за сообщениями об ошибках во время установки сервиса. Если все сделано верно, никаких ошибок быть не должно. Если у вас после выполнения строки не появилась снова командная строка, то вы что-то сделали неправильно. Просто воспользуйтесь функциями скопировать и вставить, чтобы не допускать ошибок при перепечатке.
    8. Создаем на рабочем столе ярлык для D:\USR\apache\bin\ApacheMonitor.exe и/или помещаем его в автозагрузку (для открытия окна автозагрузки в WIN8 необходимо нажать WIN+R, затем ввести shell:Startup и нажать ОК)
    9. Запускаем ApacheMonitor. В системном трее появится ярлык. Нажимаем на него левой кнопкой, выбираем Apache24 -> Start.
    10. В браузере заходим на http://localhost/ — должны увидеть It works!
    11. Если не увидели такой надписи, разбираемся, что пошло не так (читаем логи, гуглим, пытаемся самостоятельно разобраться с проблемой, раз уж решили разбираться в тонкостях работы веб-сервера)

    Установка PHP 5.6

    1. Загружаем последнюю версию VC11 x86 Thread Safe или VC11 x64 Thread Safe по ссылке http://windows.php.net/download/ . Обратите внимание, что нужен именно VC11 и именно Thread Safe . Разрядность должна быть как у Apache. Файл, который Вам нужен, скорее всего будет называться наподобие: php-5.6.11-Win32-VC11-x86.zip или php-5.6.11-Win32-VC11-x64.zip
    2. Извлекаем содержимое архива в D:\USR\php . Как в случае с Apache, инсталлировать ничего не требуется.
    3. В файл D:\USR\apache\conf\httpd.conf добавляем строки: LoadModule php5_module "d:/USR/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php # Путь к файлу php.ini PHPIniDir "D:/USR/php"
    4. И изменяем значение DirectoryIndex на index.html index.php (строка 276 )
    5. Используя ApacheMonitor перезапускаем Apache (Apache24 -> Restart)
    6. Заходим браузером http://localhost/index.php и убеждаемся, что PHP работает.
    7. Делаем копию файла D:\USR\php\php.ini-development с именем D:\USR\php\php.ini
    8. Пользуясь поиском находим, раскомментируем и изменяем параметры: extension_dir = "D:/USR/php/ext" sys_temp_dir = "D:/USR/tmp" extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll date.timezone = Europe/Zaporozhye
    9. Выполняем в командной строке php -m чтобы просмотреть список подключенных модулей.
    10. Перезапускаем Apache используя ApacheMonitor

    Виртуальные хосты в Apache

    1. Если на компьютере производится отладка нескольких проектов, то могут понадобиться виртуальные хосты (сайты). На примере будем рассматривать два виртуальных хоста: s1.localhost и s2.localhost . Для удобства будем создавать папки с такими же названиями, что совсем не обязательно в реальной системе.
    2. Следует учесть, что при использовании виртуальных хостов, параметр DocumentRoot конфигурационного файла Apache более не имеет смысла. Основным хостом сервера (который будет доступен по адресу http://localhost/) теперь является первый виртуальный хост в конфигурационном файле виртуальных хостов!
    3. Для начала необходимо добавить в файл c:\Windows\System32\drivers\etc\hosts строки: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

      Делать это нужно от имени Администратора. Желательно после этого перезагрузиться, но на практике этого не требовалось. Если изменить файл не удается (права доступа), вы можете скопировать его на рабочий стол, изменить, а затем скопировать обратно.

    4. Создаем папки для виртуальных хостов D:\USR\www\s1.localhost и D:\USR\www\s2.localhost , в которых будут располагаться файлы. В каждой из папок создаем файл index.html с содержимым S1 и S2 соответственно (для контроля того, что все работает как нужно)
    5. Затем создаем папки для логов: D:\USR\log\s1.localhost и D:\USR\log\s2.localhost - тут будут храниться логи каждого из сайтов. Вообще-то, логи можно хранить в одной папке, но я привык делать так - мне так более удобно.
    6. Далее необходимо включить поддержку виртуальных хостов. В файле D:\USR\apache\conf\httpd.conf раскомментировать строку Include conf/extra/httpd-vhosts.conf
    7. Далее редактируем файл d:\USR\apache\conf\extra\httpd-vhosts.conf — он должен выглядеть так (каждому виртуальному хосту свой блок VirtualHost): ServerAdmin [email protected] DocumentRoot "D:/USR/www/s1.localhost" ServerName s1.localhost ServerAlias www.s1.localhost ErrorLog "D:/USR/log/s1.localhost/error.log" CustomLog "D:/USR/log/s1.localhost/access.log" common ServerAdmin [email protected] DocumentRoot "D:/USR/www/s2.localhost" ServerName s2.localhost ServerAlias www.s2.localhost ErrorLog "D:/USR/log/s2.localhost/error.log" CustomLog "D:/USR/log/s2.localhost/access.log" common
    8. Первый виртуальный хост s1.localhost теперь будет основным хостом системы, т.к. его блок следует первым в конфигурационном файле, т.е. будет доступен при входе на

    Apache - наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или Mozilla.

    Пользователи вводят единообразный указатель ресурсов (URL) для определения интернет-сервера по его полностью квалифицированному доменному имени (FQDN) и пути до требуемого ресурса. Например, чтобы увидеть домашнюю станицу интернет-сайта Ubuntu, пользователь должен ввести только FQDN:

    Www.ubuntu.com

    SymLinksIfOwnerMatch - Следует по символическим ссылкам если целевой файл или каталог имеет того же владельца, что и ссылка.

    Настройки httpd

    Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса httpd .

    LockFile - инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального диска с правами на чтение только для root.

    PidFile - инструкция PidFile устанавливает файл, в который сервер записывает ID своего процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот параметр стоит оставить без изменений.

    User - инструкция User устанавливает userid (ID пользователя), используемый сервером для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется пользователь «www-data».

    Group - инструкция Group аналогична директиве User. Group устанавливает группу под которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».

    Модули Apache2

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

    Ubuntu компилирует Apache2 с возможностью динамической загрузки модулей. Конфигурационные директивы могут быть включены по условию присутствия соответствующего модуля в блоке .

    Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:

    Sudo apt-get install libapache2-mod-auth-mysql

    Ищите дополнительные модули в каталоге /etc/apache2/mods-available.

    Используйте утилиту a2enmod для включения модуля:

    Sudo a2enmod auth_mysql sudo service apache2 restart

    Аналогично a2dismod выключит модуль:

    Sudo a2dismod auth_mysql sudo service apache2 restart

    Настройка HTTPS

    Модуль mod_ssl добавляет важную возможность для сервера Apache2 - возможность шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием SSL , используется префикс https:// в начале адреса URL в строке навигации.

    Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:

    Sudo a2enmod ssl

    Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты .

    Для настройки Apache2 для HTTPS введите следующее:

    Sudo a2ensite default-ssl

    Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции SSLCertificateFile и SSLCertificateKeyFile.

    С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:

    Sudo service apache2 restart

    В зависимости от того как вы выпускали свой сертификат, вам может потребоваться ввести кодовую фразу при старте Apache2.

    Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.

    Права разделения записи

    Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».

    Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "{}" \; sudo find /var/www -type f -exec chmod g=rws "{}" \;

    Если доступ должен быть предоставлен более чем одной группе на каталог, используйте Списки управляемого доступа (ACL).