Php установка apache. Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows

В этой статье мы рассмотрим установку и настройку Web-сервера Apache , PHP 5 и СУБД MySQL для использования их на локальной машине под операционной системой Windows (2000 и XP). Использование локальных серверов может понадобится по многим причинам – вам необходимо изучить PHP или MySQL, а тестирование своих Web-приложений на хостинге либо дорого обходится, либо такой возможности вообще нет. В этом случае вам понадобится связка Apache+PHP+MySQL на локальной машине.

Для начала необходимо раздобыть дистрибутивы серверов Apache и MySQL, а так же архив PHP. Мы будем устанавливать и настраивать Apache 2, MySQL 4 и PHP 5.

Так же можете скачать с нашего сайта файлы php.ini для настройки PHP и httpd.conf для Apache. Однако, делайте это только в крайнем случае - если у Вас ничего не получилось с "родными" файлами, которые появилиcь при установке приложений. Но в любом случае, их необходимо будет настроить под конкретную машину. Скачать php.ini и httpd.conf

Скачать Apache можно с зеркал приведённых на официальном сайте http://www.apache.org/dyn/closer.cgi . При поиске следует помнить, что Apache так же может называться httpd, по имени его демона в UNIX. На зеркалах обычно много различных файлов, например:
httpd-2.0.49-win32-src.zip - это архив с исходными кодами (src) для Windows (win32) Web-сервера Apache (httpd) версии 2.0.49.
httpd-2.0.49.tar.gz - тоже самое, но для Linux, в котором программы принято распространять в исходных кодах.
apache_2.0.50-win32-x86-no_ssl.exe - а вот это, откомпилированный под архитектуру (x86) для Windows (win32) без поддержки SSL(no_ssl) сервер Apache (apache) версии 2.0.50 - вот он и нужен.

Замечание

Бинарные коды дистрибутивов Apache распространяются в нескольких вариантах, как с расширением *.exe, так и *.msi и имеют название вида httpd_версия_win32_*_.msi.

Чтобы вам не мучатся, вот ресурс где можно его взять: http://apache.rinet.ru/dist/httpd/binaries/win32/
Вторая и третья цифра в версии могут отличаться от приведённых здесь – следует выбирать самую последнюю версию, так как в ней устранены ошибки обнаруженные в предыдущих версиях.

PHP 5 можно загрузить из раздела нашего сайта.

Дистрибутив MySQL можно загрузить со страницы нашего сайта.

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

После того как мы запаслись всеми необходимыми дистрибутивами можно приступать к установке. Порядок установки Apache, PHP и MySQL не имеет значения. Начнём с Web-сервера Apache.

Установка Web-сервера Apache

Запустите установщик Web-сервера Apache. Результатом будет окно с лицензионным соглашением, после принятия которого, следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache. Следующее окно, показанное на рисунке, позволяет ввести информацию о сервере: доменное имя сервера , имя сервера и адрес электронной почты администратора . Если установка происходит на локальную машину, то в поля для доменного имени и имени сервера следует ввести localhost (см. рисунок.). В нижней части окна предлагается выбрать номер порта по которому сервер будет принимать запросы (80 или 8080).


localhost - это имя для использования сервера на локальной машине, которое связано с IP-адресом 127.0.0.1, который зарезервирован для локального использования.

После этого будет предложен способ установки: стандартный (Typical ) или выборочный (Custom ), позволяющий выбрать компоненты сервера вручную. Следующее окно позволяет выбрать каталог установки сервера, по умолчанию это C:Program FilesApache Group , но мы рекомендуем выбрать другой каталог, например, С:www. После этого мастер установки сообщит о готовности к процессу установки и после нажатия кнопки Install , будет произведено копирование файлов сервера. Если установка прошла успешно, Windows автоматически запустит Apache.

После успешной инсталляции при наборе в окне браузера http://localhost/ или http://127.0.0.1/ - должна загрузится страница сервера.

Теперь необходимо научиться управлять Apache, а именно научится запускать, останавливать и перезапускать сервер. Существует много способов осуществить эти операции: при помощи утилиты ApacheMonitor, используя консоль управления сервисов Windows, используя пункты меню Пуск, из командной строки… Мы рассмотрим консоль управления сервисов Windows, позволяющего настроить Apache для автоматического старта при запуске системы. Для запуска консоли управления выполните команду
Пуск->Настройка->Панель управления->Администрирование->Службы .
В появившемся окне консоли, на приведённом ниже рисунке, следует выбрать сервис Apache2. Контекстное меню, открывающееся по нажатию на правой кнопке, позволяет осуществлять запуск, остановку и перезапуск сервиса.


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

Конфигурирование Apache

Web-сервер - сложный программный продукт работающий на разных платформах и в разных операционных системах по всему миру. Поэтому для корректной работы на установленной системе его необходимо настроить (сконфигурировать).
По умолчанию настройки Apache расположены в файле httpd.conf в директории conf. Далее будут описаны основные директивы файла httpd.conf и их общеупотребительные значения.

Пути к файлам

В конфигурационных файлах Apache и PHP Вам часто придется указывать пути к различным директориям и папкам. В операционных системах UNIX и Windows при-меняются различные разделители каталогов. В UNIX используется прямая косая черта "/", например /usr/bin/perl, в в Windows обратная, например, c:Apachein. Вообще, в некоторых директивах Apache и PHP работают оба вида разделителей каталогов: прямой(/) и обратный(), но так как и Apache и PHP изначально разрабаты-вались под UNIX, то применяя их "родной" формат, Вы сможете избежать ряда проблем. Поэтому пути в настроечных файлах (httpd.conf и php.ini) рекомендуется писать через слеш в формате UNIX - "/". Например:

ScriptAlias "/php_dir/" "c:/php/"

Директивы файла httpd.conf

Port

Port 80

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

Примечание

Единственная причина использования нестандартного порта - это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080 номер порта следует указывать в адресе, например: http://localhost:8080/.

ServerAdmin

ServerAdmin [email protected]

Содержит e-mail-адрес администратора web-сервера, который будет отображаться при ошибках работы сервера.

ServerName

ServerName myserver

Содержит имя компьютера для сервера.

ServerRoot

ServerRoot "C:/Apache2"

Указывает на каталог, содержащий файлы WEB-сервера Apache.

Примечание

Не путайте директиву ServerRoot с директивой DocumentRoot, которая указывает каталог для файлов WEB-сайта.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Определяет каталог, в котором расположены файлы WEB-сайта.

Контейнер

Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри DocumentRoot.


Options FollowSymLinks Includes Indexes
AllowOverride All

  • Директива AllowOverride установленная в значение All разрешает переопределять значения главного конфигурационного файла httpd.conf в файлах.htaccess.
  • Директива Options FollowSymLinks разрешает Apache следовать символическим ссылкам.
  • Директива Options Includes разрешает выполнение директив SSI (Server Side Includes) в коде страниц web-сайта.
  • Директива Options Indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.

DirectoryIndex

DirectoryIndex index.html index.phtml index.php

Содержит список индексных файлов, которые следует отображать при обращении к директории без указания имени файла (например, http://localhost/test/).

AddDefaultCharset

AddDefaultCharset windows-1251

Устанавливает кодировку по умолчанию, если кодировка не установлена в заголовке HTML-документа. Также Вам может потребоваться указывать значение кодировки KOI8-R.

Создание виртуальных хостов

На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.

Сначала требуется указать какой IP-адрес используется для виртуальных хостов.



# Директивы виртуального хоста

Файл httpd.conf. Контейнер


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
ServerName www.mysite.ru
ServerAlias www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log common

Рассмотрим директивы виртуального узла:

  • DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)
  • ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу http://www.mysite.ru/.
  • ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена: http://www.site.ru/ и http://www.host2.ru/.
  • ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.

Контейнеры обычно располагают один за другим в конце файла httpd.conf.

Файл httpd.conf. Настройка виртуальных хостов

NameVirtualHost 127.0.0.1:80

# Директивы виртуального хоста 1


# Директивы виртуального хоста 2


# Директивы виртуального хоста 3

Примечание

Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.

Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:WindowSystem32Driversets. Файл hosts содержит записи вида:

Формат записей файла hosts

127.0.0.1 www.mysite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru

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

Для установки PHP следует создать каталог c:/php и разместить в нём файлы из zip-архива дистрибутива. После этого следует переименовать конфигурационный файл php.ini-dist в php.ini и скопировать его в директорию Windows.

Установка PHP в качестве модуля

Установка PHP в качестве модуля немного повышает быстродействие, так как модуль PHP загружается один раз при запуске Web-сервера

Замечание

При установке PHP в качестве модуля настройки из php.ini читаются один раз при запуске Web-сервера. Поэтому при внесении изменений в php.ini необходимо перегрузить Apache для того, чтобы внесенные изменения вступили в силу.

Для установки PHP откройте файл главный настроечный файл Apache httpd.conf на редактирование и удалите символы комментариев со следующих строк, при необходимости изменив их:

Файл httpd.conf. Подключение PHP как модуль Apache


LoadModule php5_module c:/php/php5apache2.dll

Примечание

Установка PHP, как CGI-приложения

При установке PHP, как CGI-приложения интерпретатор PHP будет загружаться каждый раз при вызове PHP-сценария. В связи с этим, возможно, некоторое ухудшение быстродействия. Если PHP установлен, как CGI, то при внесении изменений в файл php.ini Apache перезагружать не следует, так как установки читаются каждый раз при выполнении PHP-сценария. Установка PHP как CGI немного ускоряет внесение изменений в конфигурацию PHP, так она не требует перезагрузки WEB-сервера.

Примечание

При установке PHP, как CGI перестанут работать некоторые заголовки, например, Вы не сможете организовать авторизацию пользователей средствами PHP. Авторизации можно будет реализовать только средствами самого Apache с помощью файлов.htaccess.

Для установки PHP откройте главный настроечный файл httpd.conf на редактирование, найдите в нем закомментированные строки подключения PHP и измените их следующим образом:

Файл httpd.conf. Подключение PHP как CGI

AddType application/x-httpd-php phtml php

Options ExecCGI

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

Примечание

Вместо директории c:/php подставьте Вашу директорию с установленным PHP.

Конфигурирование PHP (файл php.ini)

Так как на локальной машине вы, скорее всего, будете заняты тестированием Ваших Web-приложений, то необходимо должным образом настроить конфигурационный файл php.ini. Найдите директиву error_reporting и установите для неё следующее значение:

Это значение настроит PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors, была включена:

Display_errors = On

Если данная директива отключена (Off), то сообщения об ошибках не будут выводится в окно браузера и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном - что бы это означало.
Так же необходимо проследить, чтобы директива variables_order имела следующее значение:

Variables_order = "EGPCS"

Буквы здесь означают следующее:
E - переменными среды
G - переменными передаваемыми по методу GET (G)
P - переменными передаваемыми по методу POST (P)
C - Cookies
S - сессии
Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.

Следующая директива, которая может потребовать настройки – это register_globals . Если данная директива включена

Register_globals = On

то переменные передаваемые метором GET, POST, через cookies и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone.
Если данная директива отключена

Register_globals = Off

то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET и т.п.).
Директива register_long_arrays позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.д.)

Register_long_arrays = On

Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку http://localhost/, а не http://localhost/index.html. Сервер всё равно предоставит браузеру index.html, так как этот файл является индексным и ищется в директории первую очередь, если не указан конкретный файл. Теперь необходимо настроить http.conf, таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php. Для этого найдте в http.conf директиву DirectoryIndex и исправьте её следующим образом:

DirectoryIndex index.html index.html.var index.php

После этого необходимо перегрузить сервер Apache, а в корневой директории виртуального хоста ("C:/www/scripts") создать пробный файл PHP (index.php):

phpinfo ();
?>

В случае успешной настройки, обращение по адресу http://localhost/index.php отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo().
Таким образом, у нас настроена связка Apache и PHP и можно переходить к настройке MySQL. Распакуйте дистрибутив MySQL во временную директорию и запустите установщик. Контролировать работу сервера MySQL можно точно так же как и Apache, используя консоль управления сервисов Windows.

Подключение MySQL

Подробная методика подключения к PHP расширения MySQL описана в статье по ссылке: .

Если сервер MySQL уже установлен на Вашей машине, то следующим шагом будет настройка PHP для работы с базами данных MySQL.

Откройте на редактирование файл php.ini из каталога Windows. Для подключения библиотеки расширения MySQL Вам нужно убрать символ комментария;(точка с запятой) из строки:

Extension=php_mysql.dll

Также проверьте значение директивы extension_dir

Extension_dir ="c:/php-5.0/ext"

Она должна указывать на каталог, где хранятся расширения PHP. Разделители каталогов рекомендуется писать в формате UNIX (/) - обратный слеш. Однако, если ничего не получается, просто откатите назад значение директивы extension_dir, а библиотеку php_mysql.dll скопируйте в корень C:/php-5.0/ - в большинстве случаев это должно помочь.

Если PHP Вас подключен как модуль, то Вам также необходимо скопировать библиотеку libmysql.dll из каталога с установленным PHP в системный каталог C:/Windows/System32. Чтобы внесенные изменения вступили в силу - перезагрузите Apache.

Для проверки работы MySQL перезапустите сервер Apache и создайте проверочный скрипт со следующим кодом:

$dblocation = "127.0.0.1" ;
$dbname = "test" ;
$dbuser = "root" ;
$dbpasswd = "" ;

$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 );
?>

В случае успешной интеграции MySQL в связку Apache и PHP, обращение к проверочному скрипту выведет в окно браузера версию сервера MySQL.

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

mysql_query ("set character_set_client="cp1251"" );
mysql_query ("set character_set_results="cp1251"" );
mysql_query ("set collation_connection="cp1251_general_ci"" );
?>

Установка расширений PHP

На последок вам возможно понадобится настроить некоторые расширения PHP, они настраиваются точно так же как и MySQL.

Так для того, чтобы подключить графическую библиотеку GDLib в php.ini необходимо раскомментировать строку:

Extension=php_gd2.dll

Проверьте после этого наличие данной библиотеки в папке c:phpext. После внесения изменений в php.ini перезапустите сервер. Что бы быстро проверить: подключилась ли библиотека - выполните функцию phpinfo(). Если все в порядке, то в таблице, которая отображается функций phpinfo(), должен появится раздел "gd

При использовании устаревшего имени php.exe, использовавшегося в более ранних версиях вместо php-cgi.exe также возможно появлении ошибки:

403 Forbidden You don"t have permission to access /__php_dir__/php.exe/test.php on this server

HTML-файлы выполняются, а PHP-скрипты нет

При ненастроенном подключении PHP при обращении к файлам с расширением php, например: http:/localohost/index.php открывается окно с запрос на загрузку такого файла. Это говорит о том, что не настроена обработка файлов с расширением php. Проверьте в файле httpd.conf существование следующей строки:

AddType application/x-httpd-php phtml php

Notice: Undefined variable...

На новом, только что установленном, PHP можно часто видеть сообщения вида:

Notice: Undefined variable: msg in C:/Main/addrec.php on line 7

Error_reporting = E_ALL & ~E_NOTICE

Не подключается MySQL

Иногда возникают проблемы с установкой MySQL. Следует проконтролировать запускается ли MySQL в качестве сервиса каждый раз при старте системы. Для этого откройте консоль сервисов:

Пуск | Настройка | Панель управления | Администрирование | Службы

найдите там MySQL - запустите. Чтобы сервер стартовал при каждой загрузке системы нажмите правую кнопку мыши на сервисе и выберите "Свойства" - в открывшемся выпадающем списке "Тип запуска" выберите пункт "Авто".

Если при запуске Apache и при обращении ко скриптам выдается сообщение о невозможности загрузки библиотеки php_mysql.dll.

PHP startup: Unable to load dynamic library c:/php/ext/php_mysql.dll
- не найден указанный модуль

То еще раз сверьтесь с инструкциями из раздела, где описывается подключение к PHP библиотеки для работы с MySQL. Используете ли Вы "правильную" версию файла php_mysql.dll (именно для той версии PHP, которая установлена в системе)?
Версии файла php_mysql.dll различаются для разных версий PHP, хотя и имеют одно и тоже название.

  • Использование разделителей каталогов формате Windows (обратный слеш): c:apache/bin. Для надежной работы следует использовать разделители в формате UNIX (прямой слеш), например: c:/apache/bin.
  • Существование нескольких настроечных файлов php.ini на машине, либо отсутствие такого файла. Нужный файл php.ini должен лежать в директории Windows. Проведите поиск по дискам компьютера, найдите все лишние версии файлов и удалите их.
  • Любые возникающие по установке связки Apache+PHP+MySQL вопросы вы можете задать на нашем форуме посвященном установке и настройке Apache, PHP и библиотек расширений .

    Указываем версию своей операционной системы (я указал 64-разрядную Windows), и переходим на страницу загрузки (Go to Download Page https://dev.mysql.com/downloads/windows/installer/5.7.html).

    Я выбрал загрузку полного установщика msi. На момент написания этой заметки была актуальной версия MySQL 5.7.21, и скачался дистрибутив по имени mysql-installer-community-5.7.21.0.msi.

    Apache 2.4

    На момент подготовки статьи была доступна x64 версия 2.4.33, собранная на базе vc14:
    httpd-2.4.29-o110g-x64-vc14.zip.
    Размер архива - около 10 Мб.

    PHP 7.2

    На момент подготовки этой статьи была доступна x64 версия PHP 7.2 (7.2.2), Thread Safe, собранная на VC15: php-7.2.2-Win32-VC15-x64.zip.
    Размер архива Zip: 24 Мб.
    Сейчас есть и поновей.

    phpMyAdmin (PMA)

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

    Его дистрибутив скачаем с сайта http://www.phpmyadmin.net/
    На момент подготовки статьи доступна была версия 4.7.7:
    phpMyAdmin-4.7.7-all-languages.zip
    Размер - около 11 Мб.

    Содержимое архива выкладываем в заранее заготовленную папку, например:
    D:\sites\localhost\www

    Список для установки

    Дистрибутивы скачаны. Устанавливаем в таком порядке:

    • MySQL
    • Apache - настраиваем виртуальные сервера, проверяем на html
    • PHP - с доп настройкой Apache проверяем на php_test.php
    • phpMyAdmin (с доп настройкой php)

    Установка MySQL

    Запускаем ранее скачанный установщик MySQL (mysql-installer-....msi).

    В окне License Agreement устанавливаем галочку в пункте:
    I accept the license terms
    - и жмем кнопку Next.

    В окне Choosing a Setup Type выбираем пункт Custom (чтобы самим выбирать параметры для установки MySQL сервера). Жмем кнопку Next.

    В окне выбора компонентов (Select Products and Features) обязательно выбираем компонент MySQL Server - X64. Остальные компоненты - по желанию. Выбрав компонент в левой части окна, нажимаем стрелку вправо, чтобы этот компонент из доступных для установки перешел в правую часть окна - список того,что будем устанавливать.

    Нажать Next после выбора компонентов.

    В окне Installation жмем кнопку Execute, чтобы запустить установку на выполнение.

    Наблюдать за ходом установки можно, нажав кнопку Show Details.

    Когда установка закончится (Status станет complete), нажимаем кнопку Next, для перехода к конфигурированию сервера MySQL.

    В окне Product Configuration нажимаем кнопку Next.

    В окне Type and Networking

    оставляем включенным пункт Standalone MySQL Server, жмем Next.

    В следующем окне Type and Networking
    устанавливаем пункт Config Type = Development Machine

    Галки у пунктов TCP/IP и Open Firewall port for network access - оставляем.
    Порт связи с MySQL тоже оставляем со значением по умолчанию (Port Number = 3306).

    Установим галку у пункта Show Advanced Options.

    В окне Accounts and Roles задаем пароль для главного пользователя (с логином root - администратора).

    В поле MySQL User Accounts можно добавить других пользователей, которые будут иметь доступ к базам данных MySQL. Мы пока других создавать не будем: подключаться будем, как root.

    В окне Windows Service оставляем галку у пункта Configure MySQL Server as a Windows Service (чтобы сервер MySQL запускался в виде системной службы).

    Имя системной службы (MySQL57) оставим по умолчанию.

    Запускать службу сервера MySQL будем вручную (он нужен нам только на время разработки и тестирования локальных сайтов), поэтому снимаем галочку у пункта Start the MySQL Server at System Startup (чтобы сервер не запускался каждый раз при запуске OC Windows).

    Запускать службу будем от имени Standard System Account (эту опцию не меняем).

    В окне Plugins and Extensions оставляем все, как есть. Жмем Next.

    В окне Advanced Options можно изменить параметры журналов (логов), куда сервер записывает сообщения в ходе своей работы. Здесь можно оставить все, как есть.

    В окне Apply Configuration жмем кнопку Execute для применения конфигурации сервера.

    По окончании жмем кнопку Finish.

    В окне Product Configuration жмем Next.

    В последнем окне Installation Complete галки у пунктов можно не устанавливать. Жмем Finish.

    Установка и конфигурирование MySQL-сервера закончены.

    Запустить/остановить вручную сервер MySQL можно, перейдя в список служб Windows.
    Найти в списке MySQL57, щелкнуть по нему правой кнопкой мыши и выбрать "Запустить/Остановить".

    Установка Apache 2.4 для Windows

    Есть много статей в интернете, где описано, как выполняется установка Apache 2.4 для Windows. Я, может быть, и повторю что-то, но изложу пошагово свою версию.

    В архиве, скачанном с сайта разработчика (использован вариант httpd-2.4.29-o110g-x64-vc14.zip), есть папка Apache24. Её, вместе с её содержимым, помещаем на диск С:

    Кроме самого пакета (папки Apache24) в архиве лежит файл readme_first.html, который полезно прочитать.

    Особое внимание следует обратить на наличие пакета Visual C++ 2015 x64 Redistributable Package в установленной ОС Windows.
    Этот пакет содержит набор библиотек, без которых данная сборка Apache работать не будет.
    Скачать бесплатно этот пакет можно с сайта Microsoft, по ссылке (https://www.microsoft.com/en-us/download/details.aspx?id=49984), данной в файле readme_first.html. Обязательно его установите, если его ещё нет в вашей ОС.

    Если на вашем компе установлены программы, слушащие 80 порт, то лучше их отвадить от использования этого порта, или назначить им другой. Сервер Apache по умолчанию настроен именно на этот порт, см параметр Listen в файле C:\Apache24\conf\httpd.conf

    Пробуем запустить сервер (позже рассмотрим вариант запуска сервера в виде системной службы(сервиса)).
    Для этого запускаем командную строку в режиме (от имени) администратора.
    Переходим в папку C:\Apache24\bin и запускаем программу httpd.exe

    При первом запуске может появиться Оповещение системы безопасности Windows о том, что брандмауэр Windows заблокировал некоторые функции этого приложения (см. рисунок)

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

    Открыв любой браузер, введём в адресной строке адрес http://localhost/
    - должна появиться страница сборщика данного пакета Apache-сервера.

    (она с пакетом инсталлирована в папку C:\Apache24\htdocs - это значение имеет переменная DocumentRoot в файле httpd.conf,
    но мы его позже изменим).

    Значит, сервер Apache стартует и работает нормально.

    Если сервер не запускается, то надо посмотреть, какие ошибки он выдает. Ошибки можно увидеть при запуске: в командной строке и в файле C:\Apache24\logs\error.log

    Сделаем теперь так, чтобы сервер Apache запускался сервисом (описано в readme_first.html, прилагаемом к дистрибутиву).
    В командной строке, запущенной от имени администратора, перейдя в папку C:\Apache24\bin, запустим команду
    httpd -k install

    Отслеживать состояние службы сервера Apache и выполнять его перезапуск (будем делать часто по ходу настройки) удобно через программу C:\Apache24\bin\ApacheMonitor.exe. Сделайте для неё ярлык и поместите его в удобное для запуска место (в панель задач или на рабочий стол).

    Осталось сконфигурировать сервер Apache под наши нужды:
    ориентировать на папки, в которых будут лежать наши сайты;
    подготовить к работе с MySQL и PHP.

    Допустим, мы желаем иметь на локальном компе пока 2 сайта с именами localhost и wp-test
    http://localhost/
    http://wp-test/

    Для этого в системном файле C:\Windows\System32\drivers\etc\hosts должны быть такие строки

    127.0.0.1 localhost
    127.0.0.2 wp-test

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

    Эти строки сообщают, что хосты с именами localhost и wp-test надо искать по IP-адресам 127.0.0.1 и 127.0.0.2
    - оба адреса соответствуют локальному компьютеру.

    Перезапуск ОС необязателен.

    Создадим на локальном компе папки для хранения сайтовых файлов, например в папке:
    D:\sites\localhost
    D:\sites\wp-test

    В каждой из этих папок создадим 2 файла с именами
    access.log
    error.log
    и подпапку www
    D:\sites\localhost\www
    D:\sites\wp-test\www
    - в этих папках создадим файлы index.html с таким содержимым:
    это localhost
    это wp-test

    Теперь настроим сервер Apache на использование виртуальных хостов, соответствующих нашим сайтам.

    Отредактируем конфигурационный файл сервера (C:\Apache24\conf\httpd.conf).
    Для этого его надо открыть в текстовом редакторе.
    Я для этого использую NotePad++ (очень многофункциональный бесплатный редактор).

    Виртуальные хосты обычно прописываю в конец этого файла.

    Добавим туда такие строки:

    #localhost ServerName localhost DocumentRoot "D:/sites/localhost/www" ErrorLog "D:/sites/localhost/error.log" CustomLog "D:/sites/localhost/access.log" common #wp-test ServerName wp-test DocumentRoot "D:/sites/wp-test/www" ErrorLog "D:/sites/wp-test/error.log" CustomLog "D:/sites/wp-test/access.log" common AllowOverride All Options Includes FollowSymLinks Require all granted

    Проверяем, открываются ли в браузерах страницы по адресам
    http://localhost/
    http://wp-test/

    При нормальном открытии страницы должны отображать такие строки:
    это localhost
    и
    это wp-test

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

    Дополнительные настройки для Apache, которые могут пригодиться.

    Установка PHP 7

    Содержимое скачанного архива php-7.2.2-Win32-VC15-x64 выкладываем в папку C:\php\

    Внимательно читаем файл C:\php\install.txt из дистрибутива.
    В этом файле кратко описано, как установить PHP в системе и настроить его для работы с Apache.

    Путь C:\php добавляем в системную переменную PATH

    Для тестирования PHP на нашем локальном сайте http://localhost/
    создадим в его папке (D:\sites\localhost\www) файл php_test.php с таким содержимым:

    Тогда при открытии адреса http://localhost/php_test.php должна открываться страница с данными от команды phpinfo.

    Подготовим Apache к работе с PHP

    В файле httpd.conf

    В том месте, где грузятся модули (ищите группу команд LoadModule), в конце группы (если ещё нет такой строки) добавляем:

    LoadModule php_module "C:/php/php7apache2_4.dll"

    Укажем путь, где установлен php, директивой:

    PHPIniDir "C:/php"

    В секции дописываем index.php:

    DirectoryIndex index.html index.php

    В секции , где такие команды, как AddType application...

    добавляем строку

    AddType application/x-httpd-php .php

    Сохраняем httpd.conf и перезапускаем Apache.

    После этого тестовая страница http://localhost/php_test.php будет открываться.

    Отредактируем файл настроек PHP для работы phpMyAdmin и не только.

    Файл php.ini-production переименовываем в php.ini (оставляем в той же папке C:\php\)

    Редактируем php.ini так

    Раскомментируем строку

    Extension_dir = "ext"

    Включим параметр (по умолчанию=Off)

    Enable_dl = On

    Укажем папку для загрузки временных файлов

    Upload_tmp_dir="d:/sites/uploadtemp" upload_max_filesize = 500M

    В разделе; Dynamic Extensions ;

    раскомментируем строки:

    Extension=gd2 extension=mbstring extension=mysqli

    Включим еще одно расширение:

    Extension=openssl

    Для того, чтобы, например, обновлять плагины wordpress на локальном сайте через админку. Иначе выходит ошибка: No working transports found.

    Для выполнения долгих скриптов продлим максимальное время их выполнения, например, так:

    Max_execution_time = 300

    Установка phpMyAdmin

    Скачав дистрибутив и выложив его содержимое в папку D:\sites\localhost\www
    зайдем в папку с документацией \www\doc\html и откроем файл setup.html

    Следуя его инструкциям, создадим в корневом каталоге сайта (www) подпапку config (это нужно на время конфигурирования phpMyAdmin скриптом, который можно запустить, открыв страницу настройки по адресу http://localhost/setup/).
    Переименуем лежащий в корневом каталоге файл \www\config.sample.inc.php
    в рабочий файл \www\config.inc.php
    - этот файл откроем для редактирования и определим в нем параметр $cfg["blowfish_secret"] - заполнив любыми символами, например, фразой ANY_WHAT_YOU_WANT:

    $cfg["blowfish_secret"] = "ANY_WHAT_YOU_WANT"; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

    и, сохранив,закроем этот файл.

    Проверим, открываются ли страницы сайта:
    http://localhost/
    http://localhost/index.php

    Последнее обновление: 20.10.2017

    Загрузим пакет веб-сервера Apache с сайта http://www.apachelounge.com/ . Выберем последнюю версию сервера. На странице загрузок мы можем найти две версии пакета Apache - для 64-битных систем и для 32-битных.

    Перед установкой Apache следует отметить, что если наша ОС Windows, то в системе должны быть установлен пакет для C++, который можно найти по адресу для 64-битной и для 32-битной .

    После загрузки пакета с Apache распакуем загруженный архив. В нем найдем папку непосредственно с файлами веб-сервера - каталог Apache24 . Переместим данный каталог на диск C, чтобы полный путь к каталогу составлял C:/Apache24 .

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

    httpd.exe -k install

    Если установка завершится удачно, то в командная строка отобразит сообщение "The Apache2.4 service is successfully installed". Также будет проведено тестирование сервера:

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

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

    Файл httpd.conf настраивает поведение веб-сервера. Мы не будем подобно затрагивать его описания, а только лишь произведем небольшие изменения, которые потребуются нам для работы с PHP.

    Во-первых, найдем строку

    Listen 80

    Это строка указывает на прослушиваемый порт. По умолчанию 80-й порт. Если конфликтов с портами не возникает можно оставить так, как есть. Я же изменю на 8080 порт.

    #ServerName www.example.com:80

    и изменим на

    ServerName localhost:8080

    Теперь подключим PHP. Для этого найдем в файле httpd.conf конец блока загрузки модулей LoadModule

    //...................... #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so

    И в конце этого блока добавим строчки

    LoadModule php7_module "C:/php/php7apache2_4.dll" PHPIniDir "C:/php"

    DocumentRoot "c:/Apache24/htdocs"

    По умолчанию в качестве хранилища документов используется каталог "c:/Apache24/htdocs". Заменим эту строку на следующую:

    DocumentRoot "c:/localhost"

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

    ErrorLog "logs/error.log"

    И заменим ее на

    ErrorLog "c:/localhost/error.log"

    CustomLog "logs/access.log" common

    И заменим ее на

    CustomLog "c:/localhost/access.log" common

    И также найдем блок и добавим в него две строчки:

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

    И в конце найдем блок :

    DirectoryIndex index.html

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

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

    Это минимально необходимая конфигурация, которая нужна для работы с PHP. Чтобы управлять сервером (запускать, останавливать, перезапускать), мы можем использовать утилиту, которая идет в комплекте - . Данную утилиту можно найти в каталоге C:\Apache24\bin

    Запустим утилиту. В трее появится значок ApacheMonitor. Нажмем на него и в появившемся контекстном меню выберем пункт Start.

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

    Теперь наша задача - убедиться, что php подключен и работает правильно. Для этого перейдем в папку c:/localhost , которую мы создали для хранения документов, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:

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

    Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost . Так как мы указали в качестве порта 8080, то также в адресе указывается через двоеточие порт. Если бы мы использовали 80-й порт, который используется по умолчанию, то его не надо было указывать.

    Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл index.php . И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог C:\localhost , то именно в этом каталоге и будет веб-сервер будет производить поиск нужных файлов.

    И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php , то мы можем также обратиться к этому ресурсу просто http://localhost:8080/

    На этом установка и настройка веб-сервера Apache завершена, и мы можем создавать свои сайты.

    Установка веб-сервера на Linux:

    • Если у вас Ubuntu, то вам подойдёт статья "Как установить веб-сервер Apache с PHP 7, MariaDB/MySQL и phpMyAdmin (LAMP) на Ubuntu 16.10 ".
    • Если у вас Arch Linux, то вам подойдёт статья "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch ".

    Локальный сервер очень полезный инструмент. Он точно пригодиться веб-мастерам, программистам на PHP, тестерам на проникновение. Все программы, входящие в типичную установку веб-сервера, являются бесплатными, у всех у них открыт исходный код. Локальный веб-сервер потребляет минимум ресурсов и, на самом деле, его совсем нетрудно установить и настроить.

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

    Если вы будете в точности следовать инструкции, то у вас обязательно всё заработает! Кроме тех, у кого Windows XP - если лу вас эта операционная система, то для вас сделана специальная инструкция .

    Я покажу пример установки на Windows 10, но если у вас другая версия Windows, то пусть вас это не смущает - процедура везде идентичная. Я буду скачивать последние (самые свежие) на момент написания версии программ. Если к тому времени, когда вы читаете, выйдут новые версии, то скачивайте именно их.

    Этапы установки:

    Вам также может пригодиться:

    1. Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)

    Нам нужны:

    • Apache (непосредственно веб-сервер)
    • PHP - среда для работы PHP программ (требуется практически всеми веб-сайтами)
    • MySQL - система управления базами данных (требуется большинством веб-сайтов)
    • phpMyAdmin - очень удобный инструмент для управления базами данных

    Официальный сайт разработчиков Apache это httpd.apache.org . Можно скачать Apache с этого сайта. Но официальная версия собирается с использованием старого компилятора, по этой причине она не работает с новыми версиями PHP. Авторы PHP рекомендуют Apache с сайта apachelounge.com/download . Поэтому для этой инструкции скачиваем Apache именно с сайта apachelounge.com/download .

    Если у вас 64-битная версия Windows, то вы можете выбрать как 64-битную, так и 32-битную версию компонентов. Главное правило - все компоненты должны быть одной битности. Если у вас 32-битная версия Windows, то все компоненты должны быть 32-битными. Это не относится к phpMyAdmin, который написан на языке PHP. Для PHP программ понятие битности неприменимо.

    Бесплатная версия MySQL называется MySQL Community Server . Её можно скачать на странице . На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив. На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись - но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download ». Обратите внимание на битность.

    Ещё нам нужен файл C++ Redistributable Visual Studio 2017, т.е. Распространяемый компонент Visual C++ для Visual Studio 2017 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии; прямая ссылка на скачивание 32-битной версии). Этот файл нужен для веб-сервера. А для MySQL необходим Распространяемые пакеты Visual C++ для Visual Studio 2015. Его можно скачать по .

    Итак, у меня скачались следующие файлы:

    • httpd-2.4.29-Win64-VC15.zip
    • php-7.2.0-Win32-VC15-x64.zip
    • mysql-8.0.11-winx64.zip
    • phpMyAdmin-4.7.6-all-languages.zip
    • vc_redist.x64.exe
    • vcredist_x64.exe

    Установите файлы vc_redist.x64.exe и vcredist_x64.exe .

    2. Создание структуры веб-сервера

    Создадим структуру каталогов нашего сервера. Главная идея - разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.

    В корне диска C:\ создайте каталог Server . В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data .

    Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).

    Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data .

    3. Установка Apache 2.4

    Содержимое скаченного архива (точнее говоря, только каталог Apache24 ), распакуйте в C:\Server\bin\ .

    Перейдите в каталог c:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.

    В нём нам нужно заменить ряд строк.

    Define SRVROOT "c:/Apache24"

    Define SRVROOT "c:/Server/bin/Apache24"

    #ServerName www.example.com:80

    ServerName localhost

    DocumentRoot "${SRVROOT}/htdocs"

    DocumentRoot "c:/Server/data/htdocs/"

    DirectoryIndex index.html

    DirectoryIndex index.php index.html index.htm

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

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

    #LoadModule rewrite_module modules/mod_rewrite.so

    LoadModule rewrite_module modules/mod_rewrite.so

    Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице .

    Откройте командную строку (это можно сделать нажав одновременно клавиши Win+X). Выберите там Windows PowerShell (администратор) и скопируйте туда:

    C:\Server\bin\Apache24\bin\httpd.exe -k install

    Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить.

    Теперь вводим в командную строку:

    C:\Server\bin\Apache24\bin\httpd.exe -k start

    И нажмите Enter.

    В качестве имя пользователя вводим root. Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:

    7. Использование сервера и бэкап данных

    В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например:

    c:\Server\data\htdocs\test\ajax.php - этот файл, соответственно, будет доступен по адресу http://localhost/test/ajax.php и т.д.

    Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\ .

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

    При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:

    • c:\Server\bin\Apache24\conf\httpd.conf
    • c:\Server\bin\mysql-8.0\my.ini
    • c:\Server\bin\PHP\php.ini
    • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

    В них и хранятся все настройки.

    8. Дополнительная настройка PHP

    PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:

    Memory_limit = 128M

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

    Post_max_size = 8M

    устанавливает максимальное количество данных, которые будут приняты при отправке методом POST

    ;default_charset = "UTF-8"

    устанавливает кодировку (по умолчанию, строка закомментирована)

    Upload_max_filesize = 2M

    максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер - только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.

    Max_file_uploads = 20

    максимальное количество файлов для загрузки за один раз

    Max_execution_time = 30

    максимальное время выполнения одного скрипта

    Менять эти настройки совершенно необязательно, но полезно о них знать.

    9. Дополнительная настройка phpMyAdmin

    Мы уже настроили phpMyAdmin и большинству вполне достаточно базового функционала. Тем не менее, на стартовой странице phpMyAdmin есть надпись: «Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».

    Новыми возможностями являются:

    • показ связей между (связанными) таблицами;
    • добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
    • создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
    • отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
    • создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
    • история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
    • дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
    • информация о недавно использованных таблицах;
    • настройка интерфейса часто используемых таблиц;
    • слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
    • пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
    • настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
    • спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
    • и другие

    Сейчас мы настроим эти дополнительные возможности в полной мере. Перейдите по ссылке http://localhost/phpmyadmin/chk_rel.php и кликните "Создать базу данных". После этого все новые функции будут активированы.

    Несколько скриншотов новых функций:

    1) Дизайнер

    2) Слежение

    10. Установка почтовой заглушки

    В каталоге C:\Server\bin\ создайте новый каталог с названием Sendmail. Теперь в этом каталоге создайте файл sendmail.php со следующим содержимым:

    #!/usr/bin/env php

    Откройте конфигурационный файл PHP, он размещён здесь C:\Server\bin\PHP\php.ini . И добавьте туда одну строчку:

    Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

    Сохраните файл и перезапустите сервер. Отлично, теперь все отправленные письма будут сохраняться в каталоге C:\Server\bin\Sendmail\emails\

    Письма будут иметь расширение .eml и их можно открывать, например, программой Thunderbird . Либо обычным текстовым редактором.

    11. Добавление PHP директории в PATH на Windows

    Если этого не сделать, то могут быть проблемы с некоторыми модулями PHP, в том числе с php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. По крайней мере, при запуске сервера каждый раз в логах появляется следующее:

    PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_intl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0

    Чтобы избежать этих предупреждений, нужно добавить в системные переменные среды путь до PHP.

    Нажмите кнопку Пуск (или как там она называется на Windows 10?), начните набирать «Изменение системных переменных среды » и откройте соответствующее окно настроек.

    Там нажмите «Переменные среды »:

    В окне «Системные переменные » найдите и кликните на Path , потом нажмите «Изменить »:

    Поднимите запись в самый вверх:

    Закройте все окна с сохранением сделанных изменений.

    Перезапустите сервер.

    12. Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed

    Если ваш сервер даже без нагрузки «зависает» - не показывает веб-страницы до перезапуска, а в логах сервера ошибки Asynchronous AcceptEx failed:

    AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: "c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

    То в конфигурационный файл Apache добавьте:

    AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off

    13. Настройка cURL в веб-сервере Apache на Windows

    Если вы не знаете, что такое cURL, значит это вам не нужно. Т.е. смело пропускайте этот шаг.

    cURL - это консольная утилита, которая позволяет обмениваться данными с удалёнными серверами, используя очень большое количество протоколов. cURL может использовать кукиз и поддерживает аутентификацию. Если для веб-приложения требуется cURL, то это должно быть указано в зависимостях. Для многих популярных приложений cURL не требуется, например, для phpMyAdmin и WordPress нет необходимости настраивать cURL.

    Если cURL настроена неправильно, то вы будете получать ошибки:

    Fatal error: Call to undefined function curl_multi_init() in …

    Ошибка curl: SSL certificate problem: unable to get local issuer certificate

    Чтобы cURL работала в Apache на Windows вам нужно:

    1) Обязательно добавить PHP директорию в PATH (системные переменные среды). Как это сделать сказано чуть выше:

    2) В файле C:\Server\bin\PHP\php.ini должна быть раскомментирована строка extension=curl

    Обычно это не требуется, но при желании вы можете сделать резервную копию бинарных (исполнимых) файлов сервера. Все эти файлы находятся в папке C:\Server\bin\ . Это Apache, MySQL и PHP - т.е. программы, которые отвечают за работу сервера, но которые мы в любой момент можем скачать с официальных сайтов и вновь настроить.

    Если вы хотите сделать их резервную копию (например, перед обновлением сервера), то остановите службы:

    C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql

    И скопируйте в безопасное место папку C:\Server\bin\ .

    Кстати, вы можете скопировать весь сервер целиком, т.е. папку C:\Server\ - в этом случае одновременно получиться резервная копия и исполняемых файлов, и данных (базы данных, сайты).

    Когда копирование завершено, вновь запустите службы:

    C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql

    15. Обновление сервера

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

    Удаление сервера

    Если сервер вам больше не нужен , либо вы хотите установить его заново, остановите службы и удалите их из автозапуска последовательно выполнив в командной строке:

    C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\mysqld --remove

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

    Данное описание подходит для любой редакции Windows 7/8/8.1.

    Установка веб-сервера Apache

    Первым делом скачаем дистрибутив Apache с сайта: http://www.apachelounge.com/download/ . В списке дистрибутивов Apache 2.4 binaries VC11 , нам нужно скачать «httpd-2.4.7-win64-VC11.zip».

    После того как скачали, открываем архив httpd-2.4.7-win64-VC11.zip

    Извлекаем из него папку Apache24 в раздел диска C:\

    Теперь нам необходимо немного поправить конфиг, прежде чем устанавливать Apache. Открываем файл httpd.conf (находится здесь: C:\Apache24\conf) желательно через удобный редактор, например notepad++. Находим строку (217) ServerName www.example.com:80 и меняем на ServerName localhost:80

    Здесь нам необходимо указать полный путь к файлу httpd.exe, который находится в папке Apache. В нашем случае это C:\Apache24\bin\httpd.exe. Набираем команду C:\Apache24\bin\httpd.exe -k install и жмем Enter.

    Если при выполнении программы у вас возникает следующая ошибка: failed to open the winnt service manager perhaps you forgot to log in as administrator, заходим в следующую папку: C:\Users\Здесь_имя_вашего_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools, запускаем командную строку от имени администратора

    И повторяем команду установки.

    Установка завершена. Откройте директорию bin (полный путь: C:\Apache24\bin\) и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache, жмем start (запуск):

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

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

    Нужен ли нам Apache без PHP ? Конечно нет, это нонсенс! Поэтому далее мы рассмотрим ручную (без использования инсталлятора) установку PHP.

    Скачиваем PHP (Zip архив) с сайта: http://windows.php.net/download/ . Нам нужна версия: VC11 x64 Thread Safe .

    Содержимое архива распаковываем в директорию C:\PHP (папку PHP создаём сами). Далее в папке C:\PHP находим два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основная разница в настройках: для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

    Сделаем кое что, прежде чем продолжить установку PHP. Открываем Панель управления → оформление и персонализация → параметры папок → вкладка Вид, находим строку «Скрывать расширения для зарегистрированных типов файлов», и если там стоит галочка, убираем ее и нажимаем «Применить».

    Продолжаем установку. И так, выбираем нужный вам файл (я выбрал php.ini-development). Выбранный файл нужно будет просто немного переименовать. Правый клик по файлу → Переименовать → стираем «-development», оставляя только php.ini

    Теперь открываем php.ini, нам необходимо внести несколько изменений (будьте внимательны при внесении изменений, если в начале строки стоит точка с запятой, ее надо будет убрать):

    1. Найти опцию extension_dir (строка 721) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так:
      extension_dir = "C:\PHP\ext"
    2. Найти опцию upload_tmp_dir (строка 791). Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе:
      upload_tmp_dir = "C:\Windows\Temp"
    3. Найти опцию session.save_path (строка 1369). Здесь также требуется указать путь к временной папке:
      session.save_path = "C:\Windows\Temp"
    4. В разделе Dynamic Extensions необходимо раскомментировать несколько строк (убрать точку с запятой в начале), соответствующих модулям PHP, которые могут понадобиться для работы: 866, 873, 874, 876, 886, 895, 900

    Сохраняем изменения и закрываем.

    Теперь вернемся к настройкам Apache. Нам придется немного отредактировать конфиг Apache. Заходим в папку C:\Apache24\conf и открываем файл httpd.conf.

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

    # Charset AddDefaultCharset utf-8 # PHP LoadModule php5_module "C:/PHP/php5apache2_4.dll" PHPIniDir "C:/PHP" AddType application/x-httpd-php .php

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

    В этом же файле находим следующие строки (строки примерно 274-276):

    DirectoryIndex index.html

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

    DirectoryIndex index.php index.html

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

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

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

    Если у вас вместо страницы с инфомацией о php открылась страница с надписью «It works!», тогда просто нажмите обновить страницу.

    Установка MySQL

    Открываем страницу загрузки дистрибутива: http://dev.mysql.com/downloads/installer/5.6.html и скачиваем Windows (x86, 32-bit), MSI Installer 5.6.16 250.8M. После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить нажав на ссылку внизу (» No thanks, just start my download!).

    Запускаем установщик, после небольшой загрузки видим следующее окно:

    Нажимаем Install MySQL Products, появляется следующее окно, в котором мы принимаем лицензионное соглашение (ставим галочку) и жмем Next >

    Следующее окно нам предлагает проверить, есть ли более новая версия MySQL, ставим галочку Skip... (пропустить) и нажимаем Next >

    В следующем окне нам предлагают выбрать тип установки, выбираем Custom и жмем Next >:

    В следующем окне нам предоставляется возможность выбратьнеобходимые компоненты: убираем галочку с MySQL Connectors, в Application убираем галочку с MySQL Workbench CE 6.0.8 и MySQL Notifier 1.1.5, в MySQL Server 5.6.16 убираем галочки с Development Components и Client C API library (shared) и жмем Next >

    Следующее окно нам сообщает что именно будет установлено, просто нажимаем Execute

    После успешной установки жмем Next >

    Вследующем окно нам сообщается о том, что далее мы немного настроим наш сервер, жмем Next >

    В первом окне настрокйки, устанавливаем галочку Show Advanced Options, остальное оставляем как есть и жмем Next >

    В следующем окне нам предлагается установить пароль администратора (root). Этот пароль лучше не терять! Устанавливаем пароль и жмем Next >

    В следующем окне стираем в поле ввода цифры 56, остальное оставляем как есть и жмем Next >

    Жмем Next >

    Жмем Next >

    Осталось проверить успешно ли прошла установка. (win 8): Заходим в меню пуск → переходим к приложениям (стрелочка вниз) → находим MySQL5.6 Command Line Client (терминал для работы с MySQL в командной строке) → открываем его. Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку (mysql>). Введите команду: show databases; (точка с запятой на конце обязательна). В результате вы должны увидеть список баз данных (как минимум две - information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.

    Добавьте в файл C:\Windows\System32\drivers\etc\hosts строчку: 127.0.0.1 localhost. В этом же файле удалите или закомментируйте (поставить знак # в начале строки) строку::1 localhost (если она изначально закомментирована, то не надо ничего с ней делать).

    Установка и базовая настройка phpMyAdmin

    Открываем страницу загрузки http://www.phpmyadmin.net/home_page/downloads.php и выбираем для скачивания архив оканчивающийся на *all-languages.7z или *all-languages.zip (на момент написания статьи последняя версия была phpMyAdmin 4.1.9). Создаем папку phpmyadmin в C:\Apache24\htdocs и извлекаем туда файлы скаченного архива.

    Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/ . Должно открыться такое окно:

    Теперь нам необходимо создать конфигурационный файл для MySQL. Заходим в папку phpmyadmin и создаем там папку config. Открываем в браузере следующий адрес: http://localhost/phpmyadmin/setup/

    Теперь, чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер», нам открывается новое окно, в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1:

    Сохраняем настройки (жмем Apply) и нас автоматически вернут на предыдущую страницу. Выбираем язык по умолчанию - Русский, сервер по умолчанию - 127.0.0.1, конец строки - Windows. Внизу нажимаем Сохранить и затем Скачать.

    Полученный файл (config.inc.php) сохраняем в корень установки phpMyAdmin (C:\Apache24\htdocs\phpmyadmin). Закрываем страницу, она нам больше не понадобится.

    На этом все. Возвращаемся на страницу http://localhost/phpmyadmin/. Теперь можно авторизоваться в системе под пользователем root (пароль вводите тот, который указывали при настройке MySQL для пользователя root). Тестируем подключение к MySQL. Если все прошло успешно (вы смогли войти в phpMyAdmin), папку config из папки phpmyadmin удаляем.

    © 2024 spbpda.ru
    Spbpda - Обучение компьютеру