Установка Apache MSI пошаговая установка Apache


Содержание материала:

Сам себе хостмастер или установка Apache на платформе Windows

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

  • 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.org нет версии Apache 2.4 для Windows. Поэтому дистрибутив возьмем на apachelounge.com. В момент написания статьи последний релиз – Apache 2.4.10.

В разделе Additional + VC9 можно выбрать два варианта дистрибутива – с поддержкой и без поддержки ssl. Мы останавливаемся на втором варианте и скачиваем архив httpd-2.4.10-win32-VC9.zip .

В дистрибутиве 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 admin@mydomain.ru

Устанавливаем значение параметра 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!»;
?>

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

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

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

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

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

Библиотеки для работы с БД 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;

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

Устанавливаем на Windows Apache, MySQL и PHP — Нехитрый домашний веб–сервер

Полезно запустить свой локальный веб-сервер хотя бы из любопытства. Понять устройство веба, сделать простенький сайт, втянуться и стать профессиональным разработчиком — проще, чем кажется. Совсем просто одним кликом установить готовый пакет WAMP (Windows: Apache HTTPD, MySQL, PHP), а ещё лучше — разобраться самому.

А чтобы лучше разобраться в веб-серверах давайте вместе установим, самостоятельно настроим и обновим все три компонента: Apache HTTPD 2.4, MySQL 8.0 и PHP 7.3. А заодно разберемся и с phpMyAdmin 4.8.

Если говорить совсем доступно, то заурядному веб-серверу нужны только три вещи: программа для ответа на запросы браузера, в нашем случае это Apache HTTPD, программа для управления базами данных, мы рассмотрим MySQL, и библиотеки для обработки кода на каком-то языке программирования, я поведу речь о PHP. Опционально, но совсем не обязательно, подобрать софт для ручных манипуляций с базами данных. Провайдеры дешевого интернет–хостинга чаще всего дают доступ к phpMyAdmin, а поэтому его используем и мы. Все эти программы совершенно бесплатны, а их код — открыт.

Конечно, базами данных можно управлять иначе, например, через PostgreSQL или SQLite, иначе можно отвечать и на запросы, допустим, через nginx или Microsoft IIS, да и языки можно использовать совершенно другие, скажем, Ruby или Python. Но к 2020 году, вот уже более десяти лет, связка Apache-MySQL-PHP всё ещё остается самой популярной.

Пройдем по чётким пунктам с краткими пояснениями для более глубокого понимания. Если вас интересует только результат — игнорируйте пояснения.

1. Подготовьтесь к установке сервера

1.1. Создайте папку web на диске D. Внутри нее создайте 5 подпапок: apache, php, tmp, www и log.

Сервер лучше устанавливать не на тот логический диск, где установлена Windows: чтобы избежать проблем с правами доступа к файлам и случайно не удалить сервер при переустановке системы. Для примера возьмём диск D.

1.2. Установите текстовый редактор кода. Хорошие варианты: Visual Studio Code, Brackets, Atom, Sublime Text и Notepad++.

Редактор не требуется, но с ним удобнее работать: как минимум, редактор нумерует строки и автоматически подсвечивает фрагменты кода разными цветами. Для таких редакторов как VS Code и Atom (и отдельный для Sublime) существуют пакетные менеджеры. Установив дополнительные пакеты, вы заставите редактор «подсвечивать» код ещё большего числа языков, а также научите автоматически указывать ошибки, дополнять выражения и делать многое другое. Но в конце–концов можно использовать и встроенный «Блокнот» Windows.

1.3. В каталоге D:\web\www создайте файл index.html с текстом Hello world и файл index.php с текстом .

HTML–файл необходим для проверки работы веб-сервера Apache HTTPD, который в среде разработчиков чаще называют просто Apache или «апач», хотя это и не совсем верно, ведь так называется группа проектов и стоящая за ними организация Apache Software Foundation, а не одна программа, но это простительная ошибка. Если Apache работает, то в браузере в ответ на обращение к серверу появятся слова Hello world. А вот PHP–файл необходим для проверки работы PHP, о котором ниже. Если PHP работает, то в браузере в ответ на обращение к серверу появятся сведения о конфигурации PHP.

2. Установите и настройте Apache HTTPD

2.1. Загрузите архив с последней версией Apache HTTPD для 64–разрядной Windows: httpd-2.4.38-win64-VC15.zip. На всякий случай, проверьте на официальном сайте Apache Lounge нет ли версии новее: apachelounge.com/download.

Официальная сборка Apache под Windows не выпускается, сборки готовят отдельные организации, самой активной из которых является Apache Lounge. Сам Apache работает по HTTP и в Windows трудится как фоновый процесс, а в Linux — как демон (англ. daemon), откуда и название HTTPD. Существует Apache и под 32-битные версии Windows, для них необходима версия Win32, а не Win64. Указанные в имени файла VC15, VC14 и VC11 говорят о версии Visual Studio, которой скомпилирован Apache. Выберете самую последнюю версию и установите свежие вспомогательные файлы Visual Studio с официального сайта Microsoft: VC_redist.x64.exe.

2.2. Распакуйте архив и перенесите содержимое папки Apache24 в папку D:\web\apache.

Важно ничего не перепутать и перенести не все содержимое архива, а лишь содержимое подпапки с именем Apache24. В архиве могут быть файлы readme и прочая информация, которая не нужна для работы сервера.

2.3. Откройте файл D:\web\apache\conf\httpd.conf. Поиском по файлу найдите и измените значение SRVROOT на D:/web/apache . Найдите и измените значения DocumentRoot и Directory на D:/web/www .

У Apache несколько файлов с настройками, все они находятся в папке conf (от слова configuration, «конфигурация» в переводе с английского). Основные настройки задаются в файле httpd.conf. Параметр ServerRoot задает корневую папку самой программы Apache, а DocumentRoot и Directory задают корневую папку хоста, то есть ту папку, в которой хранятся файлы сайта. Номера строк с параметрами могут меняться в новых версиях Apache, поэтому я их не привожу, поищите параметры по документам. Чтобы открыть окошко поиска в вашем текстовом редакторе, нажмите Ctrl + F.

2.4. В том же файле httpd.conf найдите, раскомментируйте и измените значение ServerName на localhost:80 .

Параметр ServerName задаёт доменное имя, по которому хост (иначе говоря, сайт) будет откликаться. Так повелось, что домен внутри компьютера называют localhost и этот домен соответствует IP–адресу 127.0.0.1. Для обращения к сайту можно использовать как доменное имя, так и IP–адрес. Порт под номером 80 используется в вебе для протокола HTTP без шифрования. Комментарии в файле конфигурации Apache предваряются октоторпом (символом решетки), сервер будет игнорировать такие строки.

2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на «D:/web/log/apache-error.log» , а также значение CustomLog на «D:/web/log/apache-access.log» common. Сохраните файл httpd.conf с перезаписью.

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

2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду D:\web\apache\bin\httpd.exe -k install .

Сервер установится тут же, прямо в режиме командной строки. Если вся подготовка прошла без ошибок — Apache установится, но ещё не запустится. Если захотите удалить Apache, то выполните в командной строке команду D:\web\apache\bin\httpd.exe -k uninstall .

2.7. Запустите «Диспетчер задач» Windows, перейдите на вкладку «Службы». Найдите Apache2.4 в списке служб, вызовите контекстное меню: так вы сможете запустить, остановить или перезапустить сервер. Запустите сервер.

В файлах сервера Apache для Windows также есть программа Apache Monitor, графический интерфейс, смысл которого ровно такой же: запускать, останавливать и перезапускать службу Apache2.4. Но в последней версии Windows 10 сильно проще попасть в список служб, поэтому смысла пользоваться Apache Monitor больше нет.

2.8. Откройте браузер и наберите адрес http://localhost/ или http://127.0.0.1/ — вы должны увидеть надпись Hello world.

Браузер обратится с запросом по 80 порту к тому же компьютеру, на который он установлен, и будет ждать ответа. Если установка Apache прошла без ошибок, но в ответе нет надписи Hello world — проверьте есть ли в каталоге D:/web/www файл index.html и еще раз пройдитесь по всем пунктам. Если все прошло успешно и в ответ вы получили файл index.html, то поздравляю, вы уже можете дополнять его кодом на HTML, CSS и JavaScript и обращаться к файлам по имени хоста.

2.0. Обновить Apache легко. Переименуйте папку D:\web\apache в apache_old, распакуйте новую версию Apache в D:\web\apache, перенесите httpd.conf из папки apache_old в папку apache. Если все работает — удалите apache_old.

3. Добавьте в Apache виртуальные хосты

3.1. Откройте файл C:\Windows\System32\drivers\etc\hosts от имени администратора. Добавьте в него строки 127.0.0.1 host1.localhost и 127.0.0.1 host2.localhost . Сохраните файл hosts.

Если текстовый редактор не может работать от имени администратора в защищенной папке Windows, то файл host можно скопировать в ничем не защищенную папку. Например, на Рабочий стол, где его можно отредактировать, сохранить, переместить обратно и подтвердить операцию с административными привилегиями, когда Windows их запросит. Редактор Visual Studio Code может запрашивать привилегии прямо во время сохранения защищенных файлов.

3.2. Создайте папки D:\web\www\host1.localhost и D:\web\www\host2.localhost для виртуальных хостов. Внутри каждой папки создайте по файлу index.html с текстом host1 и host2 соответственно, а также по файлу index.php с текстом .

HTML–файлы необходимы для проверки работы новых хостов Apache. Если хост работает, то в ответ на обращение к хосту в браузере появится соответствующий текст.

3.3. Создайте папки D:\web\log\host1.localhost и D:\web\log\host2.localhost для журналов ошибок виртуального хоста.

3.4. Откройте файл D:\web\apache\conf\httpd.conf. Раскомментируйте строку Include conf/extra/httpd-vhosts.conf . Сохраните файл httpd.conf.

Когда Apache увидит, что у него есть доступ к httpd-vhosts.conf, то он перестанет принимать во внимание указанные ранее параметры DocumentRoot, ServerName, ErrorLog и CustomLog в файле httpd.conf. Все эти параметры будут взяты из файла конфигурации виртуальных хостов, а самый первый указанный хост будет считаться за localhost.

3.5. Откройте файл D:\web\apache\conf\extra\httpd-vhosts.conf. Опишите виртуальные хосты в следующей нотации, после чего перезапустите Apache:

ServerAdmin webmaster@host1.localhost
DocumentRoot «D:/web/www/host1.localhost»
ServerName host1.localhost
ServerAlias www.host1.localhost
ErrorLog «D:/web/log/host1.localhost/error.log»
CustomLog «D:/web/log/host1.localhost/access.log» common

ServerAdmin webmaster@host2.localhost
DocumentRoot «D:/web/www/host2.localhost»
ServerName host2.localhost
ServerAlias www.host2.localhost
ErrorLog «D:/web/log/host2.localhost/error.log»
CustomLog «D:/web/log/host2.localhost/access.log» common

3.6. Откройте браузер и перейдите по адресам http://host1.localhost/ и http://host2.localhost/ — вы должны увидеть надписи host1 и host2 соответственно.

Если хочется поработать с двумя и более проектами на одном компьютере, то под каждый из них легко создать отдельные виртуальные хосты. Еще один хост легко создать, пройдя по инструкции сначала: создать папку хоста в D:\web\www, папку журналов ошибок в D:\web\log, строку с именем хоста в файле hosts и блок VirtualHost в файле httpd-vhosts.conf.

3.0. Сохранить виртуальные хосты при обновлении Apache также легко. Просто не забудьте перенести еще и D:\web\apache_old\conf\extra\httpd-vhosts.conf в новую папку apache.

4. Установите и настройте PHP

4.1. Загрузите архив с последней версией PHP для 64–разрядной Windows: php-7.3.2-Win32-VC15-x64.zip. На всякий случай, проверьте на официальном сайте PHP нет ли версии новее: https://windows.php.net/download/.

Обратите внимание, что вам нужна версия Thread Safe, то есть работающая в нескольких потоках, и она должна точно соответствовать версии Visual Studio, с помощью которой был скомпилирован Apache, например — VC15. Разрядность тоже должна быть как у Apache, 64-битные версии обозначаются x64, а 32-битные — x86.

4.2. Распакуйте архив и перенесите все его содержимое в папку D:\web\php.

4.3. Откройте файл D:\web\apache\conf\httpd.conf. Найдите секцию файла со множеством строк LoadModule и в самый ее конец добавьте две строки, первая — LoadModule php7_module «D:/web/php/php7apache2_4.dll» , и вторая — AddHandler application/x-httpd-php .php .

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

4.4. В том же файле httpd.conf сразу после секции LoadModule добавьте строку PHPIniDir «D:/web/php» .

Директивой PHPIniDir задается адрес файла php.ini. Этот файл содержит множество важных настроек самого PHP: допустимые размеры файлов для обработки, ограничения времени работы скриптов, параметры пользовательских сессий и многое другое.

4.5. В том же файле httpd.conf найдите и измените значение DirectoryIndex на index.php index.html . Сохраните файл httpd.conf с перезаписью.

4.6. Перезапустите Apache, откройте браузер и перейдите по адресу http://localhost/ или http://127.0.0.1/ — вы должны увидеть сведения о конфигурации PHP и Apache.

Это значит, что вы все сделали правильно.

4.7. Откройте файл D:\web\php\php.ini-development и сохраните его под именем D:\web\php\php.ini.

Изначально php.ini отсутствует из соображений безопасности, владелец сервера должен самостоятельно его создать и проверить.

4.8. В файле D:\web\php\php.ini найдите, раскомментируйте и отредактируйте следующие параметры: параметр extension_dir = «D:/web/php/ext» , параметр sys_temp_dir = «D:/web/tmp» , параметр extension=mysqli , параметр extension=mbstring , параметр date.timezone = Europe/Moscow (укажите свой часовой пояс в соответствии с документацией php.net/manual/ru/timezones.php). Сохраните php.ini и перезапустите Apache.

В то время как PHP работает как расширение Apache, у самого PHP также есть множество важных и полезных расширений в виде библиотек, многие из которых идут в комплекте с PHP; прежде чем подключать эти расширения необходимо указать их адрес в параметре extension_dir. По ходу работы большинства популярных скриптов создаются временные файлы, необходимо указать папку для этих файлов в параметре sys_temp_dir. Одно из самых востребованных расширений — mysqli, стандартная библиотека для PHP, которая позволяет подключаться к базам данных под управлением MySQL. При работе с базами нередко нужно разбивать или собирать строки из нескольких мегабайт, для чего будет полезна библиотека mbstring. Также не стоит забывать про свой часовой пояс — он указывается вручную. С этим минимальным набором вы можете выполнять скрипты на PHP, хотя локальной базы данных у вас ещё нет.

4.0. Обновить PHP легко. Переименуйте папку D:\web\php в php_old, распакуйте новую версию PHP в D:\web\php, перенесите php.ini из папки php_old в папку php. Если все работает — удалите php_old.

5. Установите и настройте MySQL

5.1. Загрузите последнюю версию MySQL Installer для Windows: mysql-installer-community-8.0.15.0.msi. На всякий случай, проверьте на официальном сайте MySQL нет ли версии новее: dev.mysql.com/downloads/windows/installer/.

Обратите внимание на то, что это только установщик, и он собран для 32–битных Windows. Уже в ходе установки вы выберете какая версия MySQL вам нужна: для 64– или 32–битных систем.

5.2. Установите MySQL Installer. Программа установится без лишних диалогов и сразу запустится с предложением принять лицензионное соглашение и установить уже сам MySQL. Примите лицензионное соглашение.

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

5.3. Выберете тип Custom (англ. Индивидуальный) на этапе Choosing a Setup Type (англ. Выбор типа установки) и нажмите Next.

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

5.4. Выберете MySQL 8.0.15 – X64 из древовидного списка MySQL Servers в поле Available Products (англ. Предлагаемые продукты), нажатием стрелки перенесите этот пункт в поле Products/Features to be Installed (англ. Продукты для установки), нажмите Next, подтвердите установку редистрибутива Visual Studio нажатием Execute, нажмите Next, снова нажмите Execute для установки сервера и переходите к конфигурации нажав Next ещё дважды.

Затянутая процедура установки нужна только чтобы исключить неоднозначности и сто раз перепроверить каждый компонент, ведь сервер баз данных может оказаться самым критическим звеном инфраструктуры.

5.5. Выберете Standalone MySQL Server (англ. Обособленный сервер MySQL) на первом шаге диалога о конфигурации установки.

В MySQL версии 8.0 появилась возможность установить тестовый кластер для баз InnoDB, но это узкоспециализированная задача, не для широкого круга начинающих энтузиастов.

5.6. Не меняйте настройки по умолчанию на втором шаге и нажмите Next.

Если у вас будет небольшая база данных, то лучше оставить Development Computer (англ. Компьютер для разработки) в поле Config Type (англ. Тип конфигурации). Если же база будет большой и потребует много оперативной памяти — взгляните на другие варианты. В форме Connectivity (англ. Соединение) всё же лучше ничего не менять.

5.7. Выберете Use Legacy Authentication Method (англ. Использовать устаревший метод проверки подлинности) на третьем шаге и нажмите Next.

Новый метод проверки подлинности логина и пароля доступа к серверу MySQL намного надежнее, но на 2020 год мало какие движки сайтов его поддерживают.

5.8. Придумайте пароль root–пользователя сервера на четвертом шаге, проще всего использовать такой же пароль — root, и нажмите Next.

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

5.9. Снимите галочку Start the MySQL Server at System Startup (англ. Запускать сервер MySQL при запуске системы) на пятом шаге, и нажмите Next.

Галочку имеет смысл снять, если вам не нужно чтобы MySQL со всеми базами висел в оперативной памяти с самого запуска Windows. Если памяти не жалко, и вы не будете забывать остановить службу MySQL80, когда она вам не нужна, — автозагрузку можно и оставить.

5.10. Нажмите Execute. MySQL сервер будет установлен и запущен. Нажмите Finish чтобы выйти из программы установки MySQL — вы вернетесь в MySQL Installer, нажмите Next и Finish уже в нем.

Запустите «Диспетчер задач» Windows и увидите mysqld.exe в фоновых процессах (d расшифровывается как daemon, англ. демон, аналог Windows–процессов в системах Linux). Откройте вкладку «Службы» и увидите службу по имени MySQL80, которую вы можете останавливать и запускать по правому клику мыши. Поздравляю, вы установили СУБД MySQL и настало самое время к ней подключиться.

5.0. Обновить MySQL ещё легче. Установите или запустите уже установленный MySQL Installer и проверьте в нём обновления. А если понадобится найти сами файлы баз данных под управлением MySQL, например, для переноса на новую мажорную версию, — вы их найдете по пути C:\ProgramData\MySQL\MySQL Server 8.0\Data.

6. Установите и настройте phpMyAdmin

6.1. Загрузите архив с последней версией phpMyAdmin: phpMyAdmin-4.8.5-all-languages.zip. На всякий случай, проверьте на официальном сайте phpMyAdmin нет ли версии новее: phpmyadmin.net/downloads/.

Обратите внимание на то, что phpMyAdmin (или просто PMA) работает на чистом PHP, это не программа для Windows. Для работы PMA должен быть запущен Apache с модулем PHP.

6.2. Распакуйте содержимое phpMyAdmin-4.8.5-all-languages (папка в архиве может быть вложена) в папку D:\web\www\pma.localhost, создайте отдельный виртуальный хост pma.localhost и не забудьте перезапустить Apache.

Конечно, PMA можно просто поместить в отдельную подпапку любого уже настроенного хоста, но экономить на хостах на своем собственном компьютере нет никакого смысла — а отдельный хост удобнее просто для порядка.

6.3. Откройте браузер и наберите адрес http://pma.localhost/ — вы должны увидеть окно phpMyAdmin для подключения к серверу MySQL. Введите логин root и пароль root — вы увидите графическое представление своих баз данных.

6.4. Опционально: в файле D:\web\www\pma.localhost\config.sample.inc.php найдите параметр $cfg[‘blowfish_secret’] = » , поставьте в одиночные кавычки строку из 32 произвольных символов, на основе которых будут сгенерированы куки–файлы и сохраните файл под именем D:\web\www\pma.localhost\config.inc.php.

Чтобы получить 32 символа на реальном сервере — можно упасть лицом на клавиатуру, а на локальной машине достаточно трижды набрать цифры от 0 до 9 и добавить 01: 01234567890123456789012345678901.

Установка Apache на Windows

В статье описана портативная установка WEB сервера Apache на Windows из zip архива, включая все детали и шаги, такие как поиск и получение актуальной версии дистрибутива Apache для Windows, структура каталогов сборки, настройка Apache перед запуском, тестирование http и https соединений, инсталляция Apache как системной службы Windows. Следуя скринкасту и инструкциям из статьи вы сможете самостоятельно организовать полноценный WEB сервер Apache на Windows и использовать его как для WEB разработки, так и для хостинга своих сайтов.

Apache на Windows

Apache — наиболее распространенный WEB сервер, который используется на многих хостингах и платформах и прекрасно справляется со своими обязанности для мелких и средних проектов и WEB сайтов. Так же, Apache поддерживается практически всеми хостинг провайдерами и часто предоставляется уже преднастроенным пользователю. Apache является открытым программным обеспечением, не требует платы за использование и очень хорошо сочетается с PHP языком программирования, CMS и сайтами, написанными на PHP, за счет встроенной поддержки и интеграции с PHP, т.к. Apache, в первую очередь, предназначен для отдачи динамического содержимого. Долгое сотрудничество Apache и PHP делает связку WEB сервера Apache с языком программирования PHP отлаженной, проверенной временем и хорошо настраиваемой платформой для веб приложений, базирующихся на PHP. Многие, достаточно крупные WEB проекты используют именно Apache в связке с PHP CMS. Особенно привлекает в Apache его доступность и простота, в сочетании с большой гибкостью и функциональностью, наличие огромного количества документации и примеров по его настройке и эксплуатации.

Несмотря на то, что Apache преимущественно используется на Unix и Linux системах он, с тем же успехом и без потери в функциональности, может использоваться и на Windows. Использовать Apache на Windows можно как для WEB разработки, так и для полноценного хостинга сайтов на PHP CMS. Однако, на мой взгляд, наиболее удобно использовать Apache на Windows именно тем, кто ведет PHP веб разработку и тестирование CMS и при этом работает на Windows. Например, если вы постоянно работает на Windows, но вам нужно развернуть и протестировать сайт на PHP CMS, например, WordPress, Joomla или Yii.

В таком случае у вас есть несколько выборов:

  • виртуальная машина VM с Linux, что затратно по времени развертывания и потреблению ресурсов системы;
  • различные сборки Win+AMP;
  • самостоятельно установить все необходимы компоненты Apache, MySQL, PHP на Windows и настроить, как если бы это было на Linux.
  • Больше вариантов смотри в статье:«Как организовать среду для web разработки»

Использовать виртуальную машину с Linux это очень хороший вариант, но он не всегда удобен, т.к. сама по себе, работающая VM, будет забирать у вашей системы ресурсы, и при слабом железе вы столкнетесь с тормозами, что не добавить комфорта в работе. Так же, нужно будет полностью настроить Linux на VM как WEB сервер. Однако если ваш PC достаточно мощный для такого варианта, то такой подход будет, все же, лучшим решением.

Вариант использования уже готовых сборок Win+AMP тоже не лишен недостатков. Главный недостаток таких сборок в том, что они предлагают свою систему конфигурации Apache, MySQL и PHP, которая часто сильно отличается от нормального подхода при настройке Apache на реальном Linux сервере. Поэтому эти сборки, предлагая вроде бы как облегчение в конфигурации Apache, на самом же деле еще больше запутывают и ломают стандартный поход к конфигурации WEB сервера. Еще одни из недостатков готовых сборок Win+AMP — это привязанность к сайту разработчиков этих сборок, необходимость регистрироваться для получения дополнительных компонентов, а иногда и делать оплату или терпеть рекламу. И самое главное в том, что работая с такими сборками, трудно получить правильное представление о настройке Apache, MySQL и PHP, как это выполнялось бы на реальном Linux сервере. Соответственно, когда придется настраивать Apache и другие компоненты LAMP на реальном Linux сервере, придется заново переучиваться уже на правильные методы и подходы настройки и конфигурации Apache и других компонентов LAMP путем внесения изменений в конфигурационные файлы.

Что делать, если нет желания вникать в системы конфигурации этих сборок, a хочется настраивать и использовать web сервер Apache точно так же, как это делается на Linux сервере, т.е. использовать правильный и естественный подход правки конфигурационных файлов. Именно в этой ситуации, когда вы хотите работать с Apache на Windows точно так же, как и на Linux, самостоятельная, отдельная установка Apache и будет полезна и целесообразна, тем более, что делается это достаточно легко и стандартно, а настройка выполнятся точно также как на Linux сервере.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка Apache2.4 для работы с PHP .

Portable Apache на Windows

Apache не предоставляет официальных сборок под Windows, но есть исходники сервера и есть люди, которые делают и выкладывают сборки web сервера Apache для операционный системы Windows. В примерах этой статьи мною будет использоваться для получения таких сборок Apache для Windows сайт: Apache Haus — Your place for the Apache Server and Modules on Windows, на котором размещены для свободного скачивания сборки Apache для Windows на странице загрузки Apache Haus Downloads .

В целях безопасности и предотвращения заражения системы вирусами и троянами, рекомендую скачивать дистрибутивы только из официальных источников. Так же отдавайте предпочтение zip архивам для ручной инсталяции. И даже в этом случае, проверяете скачанные файлы актуальным антивирусом. На своем опыте неоднократно убедился, что в сети нередко предлагают дистрибутивы в виде .exe архива, который содержит вирусы или трояны.

Выбор сайта Apache Haus Downloads, как поставщика дистрибутива Apache, мною сделан не случайно по следующим причинам:

  • во-первых, данный сайт находится в списке рекомендованных сайтов на сайте самого Apache , что повышает доверие к нему;
  • во-вторых, дистрибутив Apache поставляется в виде zip архива, соответственно его можно легко проверить на вирусы и трояны, и быть уверенным в безопасности такой установки.

В примерах этой статьи будет выполнена инсталляция сборки Apache 2.4.23 x64, в состав которой входит: OpenSSL 1.0.2j, nghttp 1.15.0, Zlib 1.2.8 (mod_deflate), PCRE 8.39, APR 1.5.2, APR-Util 1.5.4, IPv6 and TLS SNI enabled на операционную систему Windows7 x64. Данная сборка выполнена с применением Visual Studio 2015 с использованием пакета VC14Visual C++ 2015 x64 Redistributable Package, который должен быть установлен в вашей системе. Компоненты VC14, обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке : Распространяемый компонент Microsoft Visual C++ 2015 Update 3 RC .

ШАГ 1 развертывание дистрибутива Apache

Выбор каталога установки Apache

Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable) вариантом дистрибутива Apache. Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.

Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.

В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию «Z:\WebDevelopment\Apache24» и, соответственно, ServerRoot директива будет определена как «Z:/WebDevelopment/Apache24» .

Формат значения пути в директиве ServerRoot следующий:

  • слеши прямые и одинарные;
  • завершающего слеша нет;
  • если есть пробелы, то путь должен быть в кавычках («path_to»),
  • на Linux значение чувствительно к регистру символов.

Структура дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:

Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows.

В zip архиве данной сборки так же вложен файл readme_first.html, который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache, VC14, инсталляции Apache как системной службы и даны необходимые ссылки.

ШАГ 2 настройка Apache

Все конфигурационные файлы WEB сервера Apache данной сборки расположены в каталоге /Apache24/conf. Главным конфигом является файл /Apache24/conf/httpd.conf.

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

Указание ServerRoot

Для примеров этой статьи директива ServerRoot будет иметь значение:

здесь в httpd.conf задание ServerRoot выполнено не напрямую, а через определение переменной SRVROOT . Это удобный способ, т.к. позволяет задавать путь единожды в начале конфига, а далее он будет уже применяться автоматически в нужных местах конфигурации через эту переменную.

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

Детали по конфигам Apache вы можете посмотреть в статьях «Обзор конфигурации Apache в Ubuntu» и «Главный config WEB сервера Apache в Ubuntu», т.к. вся логика, приемы настройки и значения директив будут в данном случае одинаковые как для конфигурации Apache на Windows, так и на Linux.

ШАГ 3 ручной запуск Apache

Основным исполняемым файлом WEB сервера Apache является файл Apache24\bin\ httpd.exe . Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли, что будет равнозначно.

Для того, что бы запустить Apache из командной строки на Windows, перейдите в проводнике в директорию с файлом Apache24\bin\httpd.exe и, зажав клавишу Shift, нажмите правую кнопку мыши и в контекстовом меню выберите пункт «Открыть окно команд«. Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe, а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe.

Для запуска Apache необходимо набрать в консоли команду

если вы находитесь в папке с исполняемым файлом apache httpd.exe:

или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe, то укажите в команде полный путь исполняемому файлу apache:

Данная команда приведет к запуску WEB сервера Apache, при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака >. Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache.

Что бы запускать Apache вручную в окне командной строки из любого места файловой системы простой командой:

,т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe, то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache, т.е. добавить в переменную path строку вида:

;Z:\WebDevelopment\Apache24\bin

Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье Установка PHP7 на Windows в разделе ШАГ 2 размещение PHP в Windows на примере PHP.

Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них «Apache HTP Server«. Это,собственно, и есть работающий WEB сервер Apache. То, что мы видим два процесса httpd.exe — это нормально. Это Apache модуль Multi-Processing (MPM) по умолчанию для операционных систем Windows. Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.

Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок, которые расположены в каталоге: Apache24\logs

Для остановки Apache, запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C, и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак >) ожидания ввода команды. Иногда бывает, что командная строка «виснет», в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter. Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache, выполнив завершение процессов httpd.exe в Диспетчере задач Windows, если предыдущие способы остановки не сработают.

htdocs\index.html

Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24\htdocs\index.html.

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

Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS, что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.

Для проверки HTTPS соединения обратитесь в браузере по адресу:

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

ШАГ 4 инсталляция Apache как службы Windows

Приведенный выше способ запуска и остановки web сервера Apache прекрасно работает и им можно с успехом пользоваться, создав ярлык на исполняемый файл httpd.exe или написав .bat файлы с командами старта и остановки сервера. Однако более удобным вариантом будет использование Apache как системной службы Windows, что позволит запускать и останавливать Apache в автоматическом, полуавтоматическом режимах и вручную. Для этих действий можно будет использовать утилиту управления Apache службой Apache24\bin\ ApacheMonitor.exe , которая входит в данный дистрибутив Apache. ApacheMonitor.exe это маленькая утилита, представлявшая собой оконную программку, висящую в системном трее и позволяющую выполнять запуск и остановку службы Apache и контролировать ее состояние. Такой подход дает некоторое удобство в работе с web сервером Apache как системной службой Windows. Поэтому, далее будут рассмотрены необходимые действия для установки Apache как системной службы Windows.

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

или, находясь в каталоге с бинарниками Apache:

и в консоли будет выведен краткий help по доступным командам Apache и их синтаксис:

Рекомендация: используйте с данными командами полный путь до файла httpd.exe как в примерах ниже.

Для инсталляции Apache как системной службы Windows нужно выполнить в консоли команду:

Для деинсталяции Apache как системной службы Windows нужно выполнить в консоли команду:

После установки Apache в качестве системной службы Windows вы можете настроить работу этой службы стандартным для всех служб Windows способом в Консоли управления Microsoft — оснастке services.msc запустив ее в cmd.exe командой:

или воспользовавшись другими стандартными способами:

  • Меню Пуск, в строке поиска наберите services.msc и нажмите клавишу Enter;
  • Нажмите сочетание клавиш Win+R, наберите services.msc и нажмите клавишу Enter;
  • Через оконный интерфейс по пути: Пуск->Панель управления->Администрирование->Службы

Установленная служба Apache будет иметь:

  • название: Apache2.4;
  • описание: Apache/2.4.23 (Win64) OpenSSL/1.0.2j;
  • тип запуска: Автоматически.

Настройте необходимый вам вариант запуска службы стандартным способом.

Так же, для управления службой Apache2.4 вы можете воспользоваться описанной выше программой из дистрибутива сервера Apache24\bin\ ApacheMonitor.exe . Для этого запустите указанный файл ApacheMonitor.exe и воспользуйтесь для запуска или остановки Apache кнопками в окне данной программы. В свернутом состоянии эта программа ‘висит’ в системном трее в виде иконки состояния службы Apache и может быть от туда вызвана.

Скриншот запущенной программы ApacheMonitor.exe

На этом Portable инсталляция Apache на Windows из zip архива закончена, далее можно приступать к индивидуальной настройке web сервера и организации виртуальных хостов.

Смотри также:

Еще, дополнительно, о настройке можно почитать на сайте Apache: CUSTOMIZING APACHE FOR WINDOWS .

Установка Apache на Windows (7). Установка Apache MSI: пошаговая установка Apache

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Топ-пост этого месяца:  Прорыв дамбы решения проблем с перекрытием контента

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DirectoryIndex index.php index.html

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

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

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

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

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

Представляем вашему вниманию новый курс от команды The Codeby — «Тестирование Веб-Приложений на проникновение с нуля». Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.

Good things should be shared.

Здесь инструкция для Windows. Если у вас Linux, то вам сюда » «.

Локальный веб-сервер — это очень полезный инструмент. Он нужен и тем кто разрабатывает Web-приложения, и тем, кто учиться работать с разнообразными скриптами, движками, а также тем, кто занимается тестированием на веб-проникновение. Существуют разные популярные сборки «всё в одном», которые включают Apache, PHP, MySQL и другие компоненты. Можно пользоваться и ими. Но самостоятельная установка сервера имеет ряд преимуществ:

  • возможность использовать самые новые компоненты, самые свежие версии Apache, PHP, MySQL, phpMyAdmin;
  • можно эти компоненты в день выхода новых версий — не нужно ждать, пока это сделают авторы больших пакетов;
  • отсутствие лишних, избыточных компонентов — мы устанавливаем только то, что нам нужно;
  • дополнительная безопасность — мы не знаем, какие изменения были внесены авторами разных сборок. При самостоятельной установке мы скачиваем только официальные файлы с официальных сайтов;
  • самостоятельная установка сервера — это важный шаг к его изучению, к пониманию глубинных процессов.

На самом деле, установка Apache, а также других обязательных элементов — PHP, MySQL, phpMyAdmin, — это весьма простая операция. Возникающие сложности связаны с тем, что сообщения об ошибках малоинформативны. Например, при ошибке в конфигурации Apache просто не запускается и всё. И новичку не всегда просто понять, что не так.

Если вы в точности будите следовать всем пунктам данной инструкции, то у вас обязательно всё заработает, независимо от вашей версии Windows!

Установка сервера включает в себя установку и настройку нескольких элементов:

  • сам веб-сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

1. Подготовительная стадия — скачивание Apache, PHP, MySQL, phpMyAdmin

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

Вверху страницы представлено две версии Apache Win64 или Win32 . Если у вас 64-битная Windows, то выберите любую (это непринципиально и на работу никак не скажется. Только следуйте правилу, чтобы все версии компонентов сервера были одной битности). Я выбрал 64-битную версию.

Если предыдущие скаченные файлы различались битностью, то для phpMyAdmin такого понятия нет, т. к. он состоит из PHP скриптов.

Для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта Microsoft. Для этого нужно перейти по ссылке .

При попытке запуска, Apache пожалуется на отсутствие файла и запускаться откажется. Этот файл является частью Visual C++ Redistributable for Visual Studio 2015 , поэтому заблаговременно скачиваем его по ссылке (выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vc_redist.x64.exe.

Итог, мы имеем следующие файлы:

  • httpd-2.4.12-win64-VC11.zip
  • php-5.6.6-Win32-VC11-x64.zip
  • mysql-5.6.23-winx64.zip
  • phpMyAdmin-4.3.11-all-languages.zip
  • vcredist_x64.exe
  • vc_redist.x64.exe

Запустите и установите файлы vcredist_x64.exe и vc_redist.x64.exe — к ним мы возвращаться больше не будем.

2. Выбор структуры сервера.

Теперь всё готово, можно начинать. Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server , в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

Казалось бы, для чего это нужно? На самом деле, это упрощает резервное копирование. Например, папка bin меняется очень редко и бэкапить её каждый день нет смысла. Напротив же, содержимое нашего сайта и баз данных может меняться ежедневно и имеет смысл делать резервную копию папки data часто. Когда мы , например, ставим новую версию PHP, то мы можем принудительно сделать копию bin и, в случае ошибок, без проблем откатиться на более старую версию.

Продолжим наши приготовления. В каталоге data создадим две папки:

  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

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

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.12-win64-VC11.zip), точнее нас интересует только папка Apache24 .

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

DirectoryIndex index.html index.php index.htm

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

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

И скопируйте туда:

C:ServerbinApache24binhttpd.exe -k install

И нажмите Enter. У меня встрепенулся файервол:

Нажмите разрешить, если у вас появится это же окошко.

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

C:ServerbinApache24binhttpd.exe -k start

И нажмите Enter.

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

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

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

c:Serverdatahtdocstestajax.php — этот файл, соответственно, будет доступен по адресу https://localhost/test/ajax.php и т.д.

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

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

В сети достаточно много статей, где авторы приводят подробные инструкции со скриншотами, благодаря которым ни один пользователь смог выполнить установку сервера Apache для PHP и СУБД MySql. Но большинство из них оставляют за юзером множество вопросов, на которые он долго не может отыскать ответа. Рассмотрим, что такое Apache, MySql, PHP, для чего они нужны и как выполнить инсталляцию этих продуктов.

Немного теории

Apache свободный http-сервер, названный так в честь североамериканского племени индейцев апачей. Он широко используется на всех платформах, включая Windows, и фактически стал стандартом, в разработке веб-приложений и сервисов. Помимо него нам понадобится установка СУБД MySql, которая также является стандартом в своей сфере, и один из распространённых и универсальных скриптовых языков – PHP.

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

Сейчас и рассмотрим, как осуществляется установка Apache на компьютер под управлением Windows 7 (в более поздних редакциях процесс практически идентичен), дабы сервер был инсталлированным на реальном хостинге.

Инсталляция Апач

  • Заходим на официальный ресурс поддержки Apache и загружаем его последнюю редакцию.

На самом деле разницы между версиями продукта для разработчика практически никакой нет, разве старые Апачи не поддерживаются последними версиями скриптового языка PHP.

  • Запускаем скачанный инсталяционный файл.
  • Первые два поля заполняем, как на скриншоте: вписываем «localhost» в обе строки.
  • Задаем абсолютно любой почтовый ящик.
  • первое отвечает за инсталляцию продукта в качестве службы Windows, которая будет использовать порт под номером 80;
  • второе подключит сервер к порту под номером 8080, после чего придется автоматически запускать его каждый раз.

Разработчики продукта рекомендуют останавливаться на первом варианте, а посему, рассмотрим его немного ниже. Когда выполняется установка Апача, обратите внимание на путь хранения его файлов. Лучше всего выполнять инсталляцию в директорию «public», расположенную в папке «users» на системном разделе вашего винчестера.

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

Если же он не работает, запускаем командную строку. Делается это посредством ввода «cmd» в текстовую форму командного интерпретатора (Win+R).

В командной строке пишем «net start Apache2.2» для запуска сервера.

Такая запись справедлива только для версии продукта 2.2, в иных версиях числа будут соответствующими.

Останавливается сервер посредством набора команды с такими параметрами: «net stop Apache2.2».

Рассмотрим еще несколько методов запуска, завершения работы и перезагрузки Apache. При регулярной работе использование командной строки для управления работой сервера неэффективно – оно отнимет много времени. Выходом из ситуации будет использование контекстного меню иконки в трее: кликаем по ней правой клавишей мыши и выбираем, какое действие необходимо совершить.

То же самое выполняется посредством управления одноименной службой через соответствующую утилиту, открывающую доступ к службам Windows, или оснастку «Службы». Запускается она через поисковую строку либо «Администрирование» в «Панели управления».

Настраиваем Апач

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

После ручного или автоматического запуска сервера открываем удобный браузер и переходим по адресу: //localhost. Появится пустая страница с таким же адресом.

Дабы приступить к работе делаем следующее.

  • Идем в каталог «htdocs», расположенный в папке с файлами программного продукта.
  • Удаляем с нее html-файл и создаем каталог с именем сайта (mysite).
  • Можете зайти на будущий сайт, введя //localhost/mysite.
  • Переходим в папку «conf» и открываем файл «httpd.conf» в текстовом редакторе (желательно, с поддержкой синтаксиса).
  • Переходим на строку номер 227 и заменяем «none» на «all». В итоге должно получиться значение «AllowOverride All».

Выполнение такого действия разрешит использовать документ «htaccess». Он представляет собой расширенный конфигурационный файл Apache.

  • Ищем строку с текстом «#LoadModule rewrite_module modules/mod_rewrite.so» и удаляем символ «#».

Такое действие активирует модуль, отвечающий за создание и функционирование ЧПУ-ссылок.

  • Сохраняем внесенные изменения и обязательно выполняем рестарт Апач.

Инсталлируем ПХП

  • Заходим на страницу загрузки PHP и скачиваем последнюю стабильную версию скриптового языка.

Внимание! Загружать придется не исполняемый файл формата msi или exe, а biz-архив.

  • Создаем каталог и выполняем в него декомпрессию архива при помощи 7zip или Winrar.
  • Открываем «httpd.conf», если закрыли, и добавляем следующий текст в конец:

«LoadModule php5_module «C:\Users\Public\php\php7Apache2_2.dll»

AddType application/x-httpd-php .php»

Цифры в первой строке и адрес будут изменяться в зависимости от версий используемых продуктов и путей к каталогам и PHP.

  • Опять же сохраняем изменения и выполняем перезапуск Apache.

При появлении информационного диалогового окна, сигнализирующего об ошибке при выполнении операции перезагружаем Windows.

Все параметры конфигурации PHP, когда выполнилась его установка, хранятся в файле «php.ini». Вместо него есть документы, имя которых начинается с «php.ini».

  • Переименовываем любой в «php.ini» для создания файла конфигурации.
  • Затем копируем этот документ в каталог с Windows, например, «С:\ Windows».
  • Выполняем рестарт сервера через контекстное меню его иконки.

На этом установка и настройка PHP завершена. Осталось проверить работоспособность сервера. Идем в «htdocs» и создаем в папке файл с любым именем (лучше латиницей) и расширением php (например, file.php). Открываем его посредством текстового редактора и вводим следующий фрагмент кода:

Теперь открываем или разворачиваем окно браузера и вводим в адресную строку путь к созданному файлу. В нашем случае это: //localhost/mysite/file.php

Если все прошло удачно и без ошибок, увидите подобное изображение.

Обратите внимание на строку «Loaded configuration file». Там должен быть указан путь к файлу конфигурации «php.ini».

На этом установка Apache с PHP на компьютер с Windows завершена. Если вам потребуется инсталлировать какую-либо CMS, выполняется установка СУБД.

Инсталляция СУБД

  • Загружаем актуальную версию MySql для вашей версии и разрядности Windows.
  • После нажатия на кнопку «Download» кликаем по ссылке, выделенной на скриншоте, чтобы скачать MySql без регистрации.
  • Запускаем инсталлятор, функционирование которого потребует библиотеки.NET Framework редакции 4.5.
  • Принимаем условия использования MySql в Windows.
  • Перемещаем переключатель в положение «Server only».
  • Жмем по кнопке «Execute», дабы запустилась установка MySql после проверки требований.
  • Задаем пароль для MySql, который будет использоваться для предоставления доступа к базе данных.

Установка сервера со скриптовым языком и MySql завершена. Осталось лишь связать два последних компонента, дабы они смогли взаимодействовать.

Для этого открываем уже известный файл конфигурации «php.ini» и удаляем символ «;» в строчках с такими данными:

Находим текст «; extension_dir = «ext»» и заменяем его на следующий «extension_dir = «C:\Users\Public\php\ext»», где после знака «равно» задаем путь к каталогу с PHP.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Веб-сервер – программа, которая запущена на локальной или удаленной машине, и главное её предназначение – позволять пользователю просматривать веб-документы. Когда в адресной строке вводится адрес сайта, при нажатии клавиши Enter браузер формирует некий запрос, направленный удаленному компьютеру — веб-серверу.

Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.

Главными преимуществами Apache являются стабильность, быстродействие и гибкость, и обусловлены они модульной организацией, а также тем, что разработку ведёт открытая группа программистов, хоть и под официальным названием Apache Software Foundation .

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

О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.

Установка Apache

В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на «Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.

Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле « Administrator’s Email Address » указать адрес своей электронной почты, кликнуть «Next » и установить переключатель в положение «Custom ».

Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть «Next » в этом и «Install » в следующем окне. Когда установка закончится, нажмите на «Finish ».

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

Кликнув по тому же значку правой кнопкой мыши, можно перейти к различным системным службам операционной системы или открыть монитор Apache.

Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost

Если появилась страница с воодушевляющей надписью «It works! », значит, установка Apache прошла успешно, и он функционирует правильно.

Базовая настройка веб-сервера

Хоть Apache и является весьма удобным и исключительно надёжным, не все готовы его использовать как локальный сервер по ряду причин, и основная — отсутствие даже в среде Microsoft Windows какого-либо графического конфигуратора, что довольно непривычно для большинства пользователей.

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

  • Запустить Apache под платформой Windows 7;
  • Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
  • Не испытывать проблем с кодировкой, а в частности — с отображением кириллицы;
  • Возможность работать с несколькими сайтами одновременно.

Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с «решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок «решётки » отсутствует.

Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.

Исправьте её на DocumentRoot “C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.

Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из.htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)

Список используемых параметров:

Options. Возможны следующие варианты:

  • Includes – использование SSI разрешено;
  • IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
  • Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
  • ExecCGI – выполнение скриптов CGI разрешено;
  • FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
  • SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
  • All – все вышеописанное вместе разрешено;
  • None – все вышеописанное вместе запрещено;
  • MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).
  • AuthConfig – позволяет использовать директивы для авторизации;
  • FileInfo – разрешает использование директив для работы с различными типами документов;
  • Indexes – разрешает использование директив для работы с файлами индексации;
  • Limit – разрешает использование директив для определения доступа к хосту;
  • Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
  • All – все вышеуказанное вместе;
  • None – ничего из вышеуказанного вместе.
  • Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
  • Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
  • Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.

На основе всего вышесказанного, попробуйте настроить ваш сервер. В файле httpd.conf директива Directory по умолчанию существует сразу в двух экземплярах — и . Первый вариант трогать не следует, поэтому во втором установите параметры следующим образом:

Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all

Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:

  • Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
  • Возможность параметрического переопределения с помощью файлов.htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
  • Доступ к веб-серверу разрешен со всех хостов.

Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.

Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.

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

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

Установка Apache под Windows

(о параметрической настройке Apache 2.4.34 можно прочитать в другой статье)

Проблема установки Apache под Windows

Основная проблема установки Web-сервера Apache под Windows заключается в том, что после первичной установки дистрибутива весь пакет (исполняемые программы, конфигурационные файлы, файлы журналов работы сервера и файловая область для размещения Web-страниц) размещается в одном месте. Это мешает нормальной эксплуатации продукта по следующим причинам:

  • Разграничение прав доступа. Исполняемые файлы должны оставаться неизменными, конфигурационными файлами управляет администратор Web-сервера, а доступ к файловой области Web-страниц должны иметь разработчики и администраторы сайта. Права доступа к папке «Program Files» настроены в предположении, что в ней хранятся исполняемые модули программных пакетов, модификация которых не требуется.
  • Захламление системных папок. Папка «Program Files» операционной системы Windows изначально предназначена для размещения только исполняемых файлов. Она может находиться на отдельном томе, размер которого выбирается системным администратором в предположении о его относительном постоянстве. Уж точно никто не ожидает, что в этой папке будут храниться пользовательские данные, галереи рисунков и файловый архив сайта.

Поэтому установка Apache под Windows должна проводиться в два этапа:

  1. Первичная установка программного пакета в выбранную папку.
  2. Оптимизация размещения файловых областей web-сервера и соответствующее изменение его конфигурации.

При модификации конфигурационных файлов Apache нужно постоянно помнить, что в качестве разделителя путей к файлам и папкам должен использоваться символ «прямой слеш», как в операционных системах Unix и Linux, а не «обратный слеш», как в Windows.

Первичная установка

Для установки потребуется как минимум операционная система Windows XP SP3 (для этой устаревшей версии понадобится Web-сервер, сборка которого выполнена компилятором VC9 или VC10). Современные сборки Apache операционную систему Windows 2000 не поддерживают.

Дистрибутивный пакет Apache для Windows можно загрузить с сайта одного из двух «официальных» поставщиков: Apache Lounge (только версия 2.4, с документацией) или Apache Haus (версии 2.4 и 2.2, без документации). Он представляет собой ZIP-архив, который, по замыслу поставщиков дистрибутива, нужно распаковать в корень диска C:.

Поскольку мы всё равно будем проводить оптимизацию размещения файловой структуры Web-сервера, первичную установку нужно выполнить в ту папку, которая предназначена для размещения исполняемых модулей web-сервера (exe-, lib-, so- файлов и прочих, которые не подвержены изменениям). Это может быть системная папка «Program Files» или другая по выбору системного администратора.

После первичной установки нужно вынести из «базовой» папки в другое место на диске папки с файлами, которые «идеологически» относятся не к web-серверу, а к web-сайту. Для определённости будем предполагать, после распаковки дистрибутива все его компоненты находятся в папке «C:\Program Files\Apache24», а web-сайт будет размещаться в папке «D:\www».

Оптимизация размещения файловых областей

Сразу после установки структура папок программного пакета Apache выглядит следующим образом:

bin — исполняемые файлы Web-сервера.
cgi-bin — CGI-сценарии Web-сайта.
conf — конфигурационные файлы Web-сервера.
error — страницы ошибок протокола HTTP.
htdocs — файловая область Web-сайта (проще говоря, здесь размещается Web-сайт).
icons — пиктограммы Web-сервера
include — подключаемые файлы заголовков (h-файлы), небоходимы при сборке Web-сервера компилятором VC.
lib — библиотечные файлы Web-сервера.
logs — журналы работы Web-сервера.
manuals — документация в формате HTML.
modules — дополнительные программные модули Web-сервера (so-файлы).

Из перечисленных выше папок четырём (cgi-bin, conf, htdocs и logs) не место в базовой папке Web-сервера. Из нужно скопировать в рабочую папку Web-сайта: «D:\www». Исходные папки можно было бы удалить, однако они могут понадобится для восстановления начальной ситуации, если в ходе настройки Web-сервера что-то пойдёт не так. С другой стороны, если их оставить на прежнем месте, то из-за неполной настройки Web-сервера может случиться так, что использоваться будут именно эти папки, а не те, которые мы хотим. Поэтому после копирования их лучше просто переименовать в cgi-bin.0, conf.0, htdocs.0 и logs.0 соответственно.

Настройка на новую файловую структуру

Теперь можно отразить фактическую файловую структуру Web-сервера в параметрах конфигурационного файла «D:\www\conf\httpd.conf»:

  1. ServerRoot «C:/Program Files/Apache24» # путь к базовой папке Web-сервера
  2. PidFile «D:/www/logs/httpd.pid» # идентификатор процесса Web-сервера
  3. DocumentRoot «D:/www/htdocs» # здесь размещается Web-сайт
  4. # свойства папки с Web-сайтом
  5. ErrorLog «D:/www/logs/error.log» # журнал ошибок Web-сервера
  6. CustomLog «D:/www/logs/access.log» common # журнал работы Web-сервера
  7. ScriptAlias /cgi-bin/ «D:/www/cgi-bin/» # папка серверных CGI-сценариев
  8. # свойства папки серверных сценариев
  9. TypesConfig D:/www/conf/mime.types # описания MIME-типов
  10. Include «D:/www/conf/extra/httpd-manual.conf» # настройка для сопроводительной документации

Обратите внимание, что в п. 2 нужно добавить в конфигурационный файл строку с параметром PidFile, т. к. в эталонном конфигурационном файле этот параметр отсутствует. Остальные параметры в конфигурационном файле уже присутстсвуют — нужно отыскать строки, содержащие их, и заменить исходные пути к папкам на новые.

Пунктом 10 предполагается, что для включения доступа к HTML-документации по ссылке «http://localhost:8080/manual» нужно раскомментировать соответствующую строку с параметром Include и указать новый путь к подключаемому конфигурационному файлу. Однако поскольку местоположение документации тоже изменилось, то потребуется дополнительно внести изменение в файл «D:\www\conf\extra\httpd-manual.conf» по аналогии с п. 3 и 8:

  1. AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ «C:/Program Files/Apache24/manual$1«

Запуск сервера и проверка настройки

Поскольку мы изменили файловую структуру Web-сервера, запускать исполняемый модуль сервера нужно командой (её можно записать в bat- или cmd-файл): «C:\Program Files\Apache24\bin\httpd.exe» -w -f «D:\www\conf\httpd.conf» -d «C:\Program Files\Apache24\.»

Запущенный в режиме пользовательского приложения Apache (т. е. запущенный с помощью только что приведенной командной строки) может быть остановлен комбинацией клавиш [Ctrl]+[C]. Если же при этом возникли какие-нибудь трудности, то можно использовать такую команду: taskkill /f /IM httpd.exe

Чтобы установить Apache в качестве службы, надо выполнить команду: «C:\Program Files\Apache24\bin\httpd.exe» -k install -f «D:\www\conf\httpd.conf» -d «C:\Program Files\Apache24\.»

Запуск и останов службы Web-сервера Apache производится командами: «C:\Program Files\Apache24\bin\httpd.exe» -k start и «C:\Program Files\Apache24\bin\httpd.exe» -k stop соответственно.

Удалить Apache из списка служб Windows можно с помощью команды: «C:\Program Files\Apache24\bin\httpd.exe» -k uninstall

Проверка правильности установки и первоначальной настройки Web-сервера выполняется вводом в Web-браузере URL: «http://localhost:80/». Если всё было выполнено правильно, должна открыться страничка с текстом «It works!»

Если устанавливалась сопроводительная документация в HTML-формате, то она должна быть доступна по ссылке «http://localhost:80/manual/»

Apache ведёт протокол доступа к сайту в файле «D:\www\conf\access.log». Сведения о проблемах в работе сервера записываются в файл «D:\www\conf\error.log». Его анализ может быть особенно полезен при настройке выполнения CGI-сценариев.

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

В дополнение к перечисленным выше настройкам нужно проверить значение параметра Listen, которым задаются настройки сетевого интерфейса (ip-адрес и номер TCP-порта), на котором сервер будет принимать клиентские подключения. Если Apache используется индивидуальным Web-разработчиком, то можно рекомендовать такую конфигурацию:

Listen 127.0.0.1:8080 # параметры сетевого интерфейса

Номер TCP-порта не должен конфликтовать с другим программным обеспечением, установленным на компьютере. Так, стандартный порт HTTP 80 часто бывает занят клиентом Skype. Для совместного использования сервера в сети нужно указать правильный IP-адрес или сетевое имя компьютера, на котором устанавливается Web-сервер.

Web-сервер Apache чаще всего используется совместно с интерпретаторами таких языков серверных сценариев, как PHP и Perl. Для того, чтобы на Web-сайте могли использоваться сценарии PHP (предполагаем, что PHP установлен в папку C:\PHP5), нужно добавить в конфигурационный файл «D:\www\conf\httpd.conf» следующие строки:

  1. LoadModule php5_module «C:/PHP5/php5apache2_2.dll»
  2. AddType application/x-httpd-php .php
  3. PHPIniDir «C:/PHP5»

Нужно отметить, что в папке PHP5 должен существовать конфигурационный файл php.ini, созданный на основе файла php.ini-development (если сервер используется для разработки Web-сайтов) или php.ini-production (это настоящий Web-сервер). Чтобы модули PHP могли найти все необходимые им динамические библиотеки, путь к папке C:\PHP5 должен быть прописан в переменной PATH среды окружения Windows.

Серверные CGI-сценарии на языке Perl уже должны выполняться при соблюдении двух условий:

  1. Интерпретатор языка Perl установлен на этом компьютере.
  2. В первой строке файлов сценариев правильно указан путь к интерпретатору Perl, например: #!C:/PERL/bin/perl.exe -w

Для проверки можно ввести в браузере URL: http://localhost:8080/cgi-bin/printenv.pl, предварительно подправив первую строку сценария printenv.pl в соответствии с п. 2.

Остальные нюансы настройки Web-сервера Apache под Windows выходят за рамки этой статьи.

Веб-сервер Apache: установка, настройка и способы защиты от атак

Веб-сервер Apache не нуждается в представлении. Это программное обеспечение с открытым исходным кодом, выпущенное фондом Apache, один из самых используемых веб-серверов в мире. Рассмотрим, как его установить и как настроить конфигурацию брандмауэра для разрешения HTTP- и HTTPS-трафика и виртуальные хосты в Ubuntu 18.04.

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

Установить веб-сервер Apache в Ubuntu 18.04 Bionic Beaver очень просто:

Сценарии установки Ubuntu позаботятся о запуске и включении apache2-сервиса при загрузке.

Настройка брандмауэра

Чтобы получить доступ к содержимому сервера на той же машине, где он работает, нужно запустить веб-браузер и ввести в адресную строку localhost . Если всё настроено правильно, страница поприветствует словами: «It works!».

Если в системе включён брандмауэр (как и должно быть), то чтобы сделать контент доступным извне нашей машины, нужно разрешить входящий трафик через порт 80. Команда для запуска зависит от используемого менеджера брандмауэра. Например, при использовании ufw (используется в Ubuntu по умолчанию) мы должны запустить:

Если вы используете firewalld , можно запустить:

Обратите внимание, что приведённая выше команда будет по умолчанию действовать в зоне firewalld . Если вы хотите работать с другой зоной, нужно указать её с помощью опции —zone .

Настройка виртуального хоста

Веб-сервер Apache может запускать несколько веб-сайтов на одном компьютере. Каждый запущенный сайт («виртуальный хост» в терминологии Apache) должен иметь свою собственную конфигурацию. Виртуальный хост может быть IP или именем.

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

Виртуальный хост по умолчанию

В Ubuntu виртуальный хост по умолчанию определён в каталоге /etc/apache2/sites-available внутри файла 000-default.conf . Рассмотрим его:

Директива на первой строке применяется для группы параметров, используемых Apache для конкретного виртуального хоста. Первое, что вы увидите в ней, — инструкцию *:80 . Она указывает IP-адрес и порт, используемый виртуальным хостом.

11–12 ноября, Красноярск, беcплатно

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

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

DocumentRoot в строке 4 является обязательным, это важно для конфигурации виртуального хоста. Аргумент этой инструкции должен иметь доступ к файловой системе. Указанный каталог будет считаться корневым каталогом виртуального хоста и не должен содержать завершающий символ «/». В этом случае корневая директория документа — /var/www/html . Если мы посмотрим на её содержимое, то увидим, что она содержит страницу index.html , которую вы до этого видели в качестве страницы приветствия сервера.

Последние две команды на строках 8–9, представленные в этом VirtualHost , — ErrorLog и CustomLog . Используя первый, вы указываете файл, в который сервер будет записывать возникающие ошибки. Второй используется для регистрации запросов, отправленных на сервер в указанном формате.

Новый виртуальный хост

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

Как сказано выше, файлы виртуальных хостов должны быть определены внутри каталога /etc/apache2/sites-available (по крайней мере в дистрибутивах на основе Debian). Поэтому создадим этот файл там. Прежде чем сделать это, следует создать каталог, который будет использоваться как document root, а также создать базовую страницу, которая будет отображаться при открытии сайта:

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

Это минимальная конфигурация, необходимая для его запуска. Здесь вы можете увидеть новую директиву ServerName . Это то, что определяет ваш виртуальный хост. Сохраним этот файл как example.conf . Чтобы активировать ваш виртуальный хост, используйте команду a2ensite . Эта команда создаёт символическую ссылку файла в каталоге /etc/apache2/sites-enabled :

После этого следует перезагрузить конфигурацию сервера:

Чтобы убедиться, что конфигурация работает, вы должны добавить запись в файл /etc/hosts той машины, с которой вы пытаетесь связаться с сайтом.

Без этой строки (и без записи DNS) было бы невозможно связать адрес сервера с именем вашего виртуального хоста, а использование IP-сервера напрямую вместо этого «инициировало» бы виртуальный хост по умолчанию.

С клиентского компьютера, если вы теперь перейдёте к www.example.local , вы должны увидеть минимальную страницу, которую настроили выше.

Настройка SSL

SSL (Secure Sockets Layer) — это технология, которая позволяет нам шифровать данные, связанные с соединением между клиентом и сервером. При использовании SSL-сертификатов HTTPS (Hyper Text Transfer Protocol Secure) заменяет HTTP в URL-адресе.

SSL-сертификаты выдаются центром сертификации и могут быть очень дорогими, однако есть два других способа получить сертификат: создать самозаверяющий сертификат или воспользоваться сервисом Let’s encrypt.

Создаём самоподписанный SSL-сертификат

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

Посмотрим, что делает эта команда. Первая опция, -x509 определяет, что формируется сертификат стандарта X509.

С помощью -days мы устанавливаем срок действия сертификата в днях. Следующая опция — -newkey . С её помощью мы создаём новый ключ, в данном случае RSA-ключ размером 2048 бит. В тестовом примере нам не нужно шифровать файл закрытого ключа, поэтому используем -nodes . Если эта опция не указана, файл, в котором хранится ключ, будет защищён паролем, который нужно будет предъявлять каждый раз при перезапуске веб-сервера.

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

Скопируйте сгенерированный ключ и сертификат в каталоги /etc/ssl/private и /etc/ssl/ssl-certs соответственно:

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

Важно настроить права доступа к файлу ключа. Папка /etc/ssl/private принадлежит root-пользователю и группе ssl-cert , и у неё есть права доступа 710. Это означает, что владелец имеет на неё полные права, а владелец группы может только получить к ней доступ и перечислить её содержимое, но не может дать разрешение другим:

Изменим права доступа к файлу ключа, предоставив владельцу права на чтение и запись, а группе — только для чтения:

Теперь, чтобы использовать сертификат, нужно включить модуль SSL с помощью команды a2enmod :

Почти всё готово. Теперь пришло время изменить наш виртуальный хост и настроить его следующим образом:

Порт 443 в строке 1 — это порт, используемый для HTTPS (вместо порта 80, используемого для HTTP).

Мы также добавили инструкцию SSLEngine on в строке 6.

Наконец, в строках 8–9 мы определили пути для сертификата и файла ключей, используя инструкции SSLCertificateFile и SSLCertificateKeyFile .

Теперь следуйте инструкциям по открытию порты брандмауэра из начале статьи, но на этот раз чтобы разрешить HTTPS-службу:

Наконец, перезагрузите конфигурацию Apache:

Готово. Теперь, если мы перейдём по адресу https://www.example.local, мы должны увидеть веб-сервер, предупреждающий нас о том, что используемый сертификат небезопасен. Это, однако, признак того, что наш сертификат работает, и трафик между клиентом и сервером будет зашифрован (вам необходимо добавить исключение для сертификата, чтобы использовать его).

Настройка Let’s encrypt

Альтернатива коммерческим и самозаверенным сертификатам — «Let’s encrypt». Это бесплатный, автоматизированный и открытый центр сертификации. Его цель — дать возможность автоматически получить сертификат, которому доверяет браузер, без какого-либо вмешательства человека.

Для этого используется протокол ACME (certificate management agent), который запускается на сервере.

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

Если же у вас есть доступ к shell, необходимо установить клиент certbotACME .

Для установки Certbot на Ubuntu 18.04 достаточно запустить:

Пакет Certbot поставляется с модулем systemd timer , который будет запускать Certbot два раза в день, чтобы поддерживать сертификат в актуальном состоянии. Получить сертификат довольно просто:

Очевидно, чтобы это работало, домен должен правильно указывать на ваш общедоступный IP-адрес. Certbot предложит вам несколько вопросов для настройки конфигурации, и, если всё пойдёт хорошо, сертификат и ключ будут сохранены в каталоге /etc/letsencrypt/live/ . Просто настройте файл виртуального хоста, чтобы указать на них, и всё готово.

Как обезопасить сервер Apache

Основные средства защиты

Установка Fail2ban на Ubuntu Server 18.04

Если вы хотите обезопасить свой сервер Ubuntu, первое, что вы должны сделать, — это установить систему обнаружения вторжений Fail2ban.

Fail2ban отслеживает определённые файлы журналов (в /var/log ) на предмет неудачных попыток входа или автоматических атак на сервер. Когда обнаруживается попытка компрометации с IP-адреса, Fail2ban блокирует его, добавляя новую цепочку в iptables и предотвращая доступ или дальнейшую атаку на сервер.

Fail2ban настолько легко установить и использовать, что его можно рассматривать как простое и универсальное решение для всех серверов Linux.

Установить его просто. Войдите в свой сервер Ubuntu и обновите его при необходимости. Обратите внимание, что если в этом процессе обновлено ядро, сервер нужно перезагрузить, поэтому выберите время, когда перезагрузка возможна. Чтобы обновить сервер, введите следующие команды:

После выполнения команд при необходимости перезагрузите сервер.
Установить Fail2ban можно с помощью одной команды:

Проверьте установленную версию:

После этого Fail2ban готов к работе. Запустить и включить сервис можно так:

Настройка jail

Настроим его для попыток входа по SSH. В каталоге /etc/fail2ban вы найдёте файл jail.conf . Не редактируйте его. Вместо этого создайте новый файл jail.local , который переопределит любые подобные настройки в jail.conf . Новая конфигурация будет отслеживать /var/log/auth.log , использовать фильтр sshd fail2ban , устанавливать для порта SSH значение 22 и устанавливать максимальное количество попыток — 3. Для этого выполните команду:

В новый файл вставьте следующее содержимое:

Сохраните и закройте его. Перезапустите Fail2ban с помощью команды:

На этом этапе, если кто-либо попытается войти на ваш сервер Ubuntu через SSH и эта попытка 3 раза завершится ошибкой, он не сможет больше войти, поскольку iptables заблокирует IP-адрес.

Тестирование и разблокирование

Вы можете проверить, работает ли jail, намеренно провалив три попытки входа на сервер через SSH. После третьей неудачной попытки соединение будет зависать. Нажмите Ctrl+C, чтобы выйти, а затем попытайтесь вернуться по SSH на сервер. Вы больше не сможете использовать SSH на этом сервере с того IP-адреса, который вы использовали.

Затем вы можете разблокировать свой тестовый IP-адрес с помощью следующей команды:

Где ip_address — запрещённый IP-адрес.

Теперь вы снова можете войти.

Модуль mod_evasive

Ещё одна отличная утилита для обнаружения и блокировки IP-адресов, которые используются при атаке типа «отказ в обслуживании». Модуль помещает подозрительные IP-адреса во временный чёрный список и сохраняет их там, если они продолжают подозрительно себя вести.

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

Установка mod_evasive в Ubuntu

Затем установите вспомогательную утилиту:

Чтобы установить модуль mod_evasive в Ubuntu, введите следующее:

Настройка mod_evasive

Как и большинство программных пакетов Linux, mod_evasive управляется файлом конфигурации.

Откройте его в текстовом редакторе с помощью следующей команды:

Знак # помечает это как комментарий. Удалите его, затем замените you@yourdomain.com своим адресом электронной почты. Используйте ту, которой вы постоянно пользуетесь — именно сюда будут отправляться оповещения.

Отредактируйте файл журнала, чтобы он выглядел следующим образом:

Сохраните и выйдите, затем перезагрузите Apache:

Тестирование mod_evasive

Пришло время проверить, правильно ли работает модуль.
Используйте скрипт test.pl . Его сценарий расположен по этому адресу:

Для его запуска примените эту команду:

Вывод должен выглядеть таким образом:

Параметры и настройки

DOSSystemCommand

Вы, возможно, заметили, что эта опция была помечена как комментарий и отключена. Она позволяет указать системную команду, которая будет выполняться при добавлении IP-адреса в чёрный список. Вы можете использовать её, чтобы запустить команду для добавления IP-адреса в брандмауэр или IP-фильтр.

DOSHashTableSize

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

DOSPageCount

Количество запросов для отдельной страницы, после которого адрес помещается в чёрный список. В примере стоит 2, но это достаточно маленькое (и агрессивное) значение. Увеличьте его, чтобы уменьшить количество ложных срабатываний.

DOSSiteCount

Общее количество запросов на один и тот же сайт по одному и тому же IP-адресу. По умолчанию установлено значение 50. Вы можете увеличить его до 100, чтобы уменьшить количество ложных срабатываний.

DOSPageInterval

Количество секунд для DOSPageCount. По умолчанию значение равно 1 секунде. Это означает, что если вы не измените его, запрос 2 страниц за 1 секунду временно поместит IP-адрес в чёрный список.

DOSSiteInterval

Как и DOSPageInterval, он определяет количество секунд, которые отслеживает DOSSiteCount. По умолчанию это значение равно 1 секунде, то есть если один IP-адрес запрашивает 50 ресурсов на одном и том же веб-сайте за одну секунду, он будет временно помещён в чёрный список.

DOSBlockingPeriod

Время, в течение которого IP-адрес остаётся в чёрном списке. По умолчанию установлено 10 секунд, но вы можете изменить его на любое значение, которое вам нравится.

DOSLogDir

По умолчанию он настроен на запись журналов в /var/log/mod_evasive . Эти журналы можно просмотреть позже, чтобы оценить поведение клиента.

Белые IP-адреса

Эта опция по умолчанию не включена в файл evasive.conf .

Откройте файл для редактирования и добавьте следующую строку:

Подставьте IP-адрес, который хотите добавить в белый список. Нужно указывать только одну запись в строке. Обычно список используется для доверенных клиентов, которые обмениваются с вашим сайтом большим количеством данных. Этот инструмент хорош для обнаружения ботов и скриптов. Если есть боты или сценарии, которые вы хотите разрешить, можете внести их.

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

DNS Injection

Спам из веб-форм не только распространён, но и является быстрым способом внести домен в чёрный список подобный Spamhaus. Чтобы предотвратить подобное, вам нужно добавить ещё один модуль в Apache.

В терминале введите:

После завершения установки введите команду:

Далее откройте файл /etc/apache2/apache2.conf (используя sudo и ваш любимый текстовый редактор) и добавьте в конец вашего файла конфигурации блок:

Сохраните файл apache2.conf и перезапустите Apache, чтобы новый модуль вступил в силу.

Slowloris

В Apache есть модуль для предотвращения подобных DOS-атак. Вот как это работает. Откройте окно терминала. Введите команду:

После завершения установки проверьте конфигурацию в /etc/apache2/mods-available/qos.conf , чтобы убедиться, что она идеально соответствует вашим потребностям. После настройки модуля (при необходимости) перезапустите Apache.

Дополнительные средства защиты

Скрыть версию сервера

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

Измените httpd.conf с помощью редактора. Добавьте следующую директиву и сохраните httpd.conf :

Перезапустите Apache.
ServerSignature удалит информацию о версии со страницы.
ServerTokens изменит заголовок только на рабочий, т. е. Apache.

Защита от атаки Clickjacking

Атака данного типа позволяет злоумышленнику выполнить клик на сайте-жертве от имени легитимного посетителя.

Чтобы обезопасить свой веб-сервер, вам нужно использовать заголовок «X-FRAME-OPTIONS»
Вы можете сделать это, отредактировав файл apache2.conf .

Добавьте следующую строку внутри Directory /var/www/html/ :

Header always append X-Frame-Options SAMEORIGIN

Сохраните файл и перезапустите Apache.

Теперь попробуйте открыть веб-браузер для доступа к веб-серверу. Проверьте заголовки ответа HTTP в firebug. Вы должны увидеть X-Frame-Options.

Защита от атаки XSS

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») является одной из наиболее распространённых атак на уровне приложений.

Вы можете защититься от неё, отредактировав файл конфигурации Apache.

Добавьте следующую строку внутри Directory /var/www/html/ :

Header set X-XSS-Protection «1; mode=block»

Заключение

Мы рассмотрели установку и настройку, а также все наиболее важные способы защиты сервера Apache, и теперь вы можете полноценно приступить к изучению его работы на практике.

Статья Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10

WebWare Team

ООО Кодебай

Локальный веб-сервер — это очень полезный инструмент. Он нужен и тем кто разрабатывает Web-приложения, и тем, кто учиться работать с разнообразными скриптами, движками, а также тем, кто занимается тестированием на веб-проникновение. Существуют разные популярные сборки «всё в одном», которые включают Apache, PHP, MySQL и другие компоненты. Можно пользоваться и ими. Но самостоятельная установка сервера имеет ряд преимуществ:

  • возможность использовать самые новые компоненты, самые свежие версии Apache, PHP, MySQL, phpMyAdmin;
  • можно самостоятельно обновлять эти компоненты в день выхода новых версий — не нужно ждать, пока это сделают авторы больших пакетов;
  • отсутствие лишних, избыточных компонентов — мы устанавливаем только то, что нам нужно;
  • дополнительная безопасность — мы не знаем, какие изменения были внесены авторами разных сборок. При самостоятельной установке мы скачиваем только официальные файлы с официальных сайтов;
  • самостоятельная установка сервера — это важный шаг к его изучению, к пониманию глубинных процессов.

На самом деле, установка Apache, а также других обязательных элементов – PHP, MySQL, phpMyAdmin, – это весьма простая операция. Возникающие сложности связаны с тем, что сообщения об ошибках малоинформативны. Например, при ошибке в конфигурации Apache просто не запускается и всё. И новичку не всегда просто понять, что не так.

Если вы в точности будите следовать всем пунктам данной инструкции, то у вас обязательно всё заработает, независимо от вашей версии Windows!

Установка сервера включает в себя установку и настройку нескольких элементов:

  • сам веб-сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

Стадии установки:

  1. Подготовительная стадия – скачивание Apache, PHP, MySQL, phpMyAdmin
  2. Выбор структуры сервера
  3. Установка и настройка Apache
  4. Установка и настройка MySQL
  5. Установка и настройка PHP
  6. Установка и настройка phpMyAdmin
  7. Использование сервера и бэкап данных
  8. Дополнительная настройка PHP
  9. Дополнительная настройка phpMyAdmin

1. Подготовительная стадия – скачивание Apache, PHP, MySQL, phpMyAdmin

Будем устанавливать самые новые версии программ, скаченные с официальных сайтов. Официальный сайт Apache —

Вверху страницы представлено две версии Apache Win64 или Win32. Если у вас 64-битная Windows, то выберите любую (это непринципиально и на работу никак не скажется. Только следуйте правилу, чтобы все версии компонентов сервера были одной битности). Я выбрал 64-битную версию.

. Версий много, с непривычки можно запутаться. Самые свежие версии находятся сверху. В разделе PHP 5.6 четыре варианта. Выберите Thread Safe, а также 64 или 32 бита. Например, я выбрал VC11 x64 Thread Safe.

Скачиваем MySQL (на сайте бесплатная версия называется MySQL Community Server). На

перелистываем вниз. Там доступны две версии

  • Windows (x86, 32-bit), ZIP Archive
  • Windows (x86, 64-bit), ZIP Archive

Всем понятно, чем они различаются.

Если нажать на кнопку Download, то мы переходим на страницу, где две большие кнопки предлагают нам создать аккаунт или войти в уже существующий. Это необязательно, достаточно просто нажать маленькую надпись внизу «No thanks, just start my download» («Нет, спасибо, просто начните мою загрузку»).

Практически обязательным элементом сервера стал phpMyAdmin, его скачиваем с

Если предыдущие скаченные файлы различались битностью, то для phpMyAdmin такого понятия нет, т. к. он состоит из PHP скриптов.

Для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта Microsoft. Для этого нужно перейти по

При попытке запуска, Apache пожалуется на отсутствие файла и запускаться откажется. Этот файл является частью Visual C++ Redistributable for Visual Studio 2015, поэтому заблаговременно скачиваем его по

(выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vc_redist.x64.exe.

Итог, мы имеем следующие файлы:

  • httpd-2.4.12-win64-VC11.zip
  • php-5.6.6-Win32-VC11-x64.zip
  • mysql-5.6.23-winx64.zip
  • phpMyAdmin-4.3.11-all-languages.zip
  • vcredist_x64.exe
  • vc_redist.x64.exe

Запустите и установите файлы vcredist_x64.exe и vc_redist.x64.exe – к ним мы возвращаться больше не будем.

2. Выбор структуры сервера.

Теперь всё готово, можно начинать. Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server, в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

Казалось бы, для чего это нужно? На самом деле, это упрощает резервное копирование. Например, папка bin меняется очень редко и бэкапить её каждый день нет смысла. Напротив же, содержимое нашего сайта и баз данных может меняться ежедневно и имеет смысл делать резервную копию папки data часто. Когда мы обновляем файлы сервера, например, ставим новую версию PHP, то мы можем принудительно сделать копию bin и, в случае ошибок, без проблем откатиться на более старую версию.

Продолжим наши приготовления. В каталоге data создадим две папки:

  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

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

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.12-win64-VC11.zip), точнее нас интересует только папка Apache24.

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

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

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

И скопируйте туда:

И нажмите Enter. У меня встрепенулся файервол:

Нажмите разрешить, если у вас появится это же окошко.

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

И нажмите Enter.

Теперь в браузере набираем https://localhost/ и видим следующее:

Это означает две вещи:

  • Apache работает
  • в каталоге c:Serverdatahtdocs нет ни одного файла.

Можете поиграться — добавить в каталог любые html-файлы — полноценный сервер работает.

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

В каталог bin распаковываем файлы MySQL (из архива mysql-5.6.23-winx64.zip). Переименовываем папку mysql-5.6.23-winx64 в mysql-5.6 (для краткости).

Кстати, распакованная папка mysql-5.6 занимает более полтора гигабайта!

Заходим в эту папку и переименовываем файл my-default.ini в my.ini Теперь открываем этот файл любым текстовым редактором.

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

В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).

Настройка завершена, но нужно ещё выполнить установку, для этого открываем командную строку от имени администратора и копируем туда

Теперь служба MySQL будет запускаться при каждом запуске Windows, но в данный момент она ещё не запущена. Чтобы это сделать, в командной строке нужно набрать

или просто перезагрузить компьютер.

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

В папке c:Serverbin создаём каталог PHP и копируем в него содержимое архива php-5.6.6-Win32-VC11-x64.zip.

В файле c:ServerbinApache24confhttpd.conf в самый конец добавляем строчки

В каталоге c:Serverdatahtdocs создаём файл с названием i.php

Копируем в этот файл:

В браузере откройте ссылку https://localhost/i.php . Если вы видите тоже самое, что на картинке, значит PHP работает.

Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы случайно не затереть ваш файл, с вашими уникальными настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будет использовать php.ini-development.

Открываем файл php.ini любым текстовым редактором, ищем строчку

т.е. мы разкоментировали строку (убрали точку с запятой в начале)

Теперь разкомментируем целую группу строк:

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

6. Установка и настройка phpMyAdmin

В каталог c:Serverdatahtdocs копируем содержимое архива phpMyAdmin-4.3.11-all-languages.zip. Переименовываем phpMyAdmin-4.3.11-all-languages в phpmyadmin (для лаконичности)

В каталоге c:Serverdatahtdocsphpmyadmin создаём файл config.inc.php и копируем туда:

В браузере набираем https://localhost/phpmyadmin/

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

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

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

c:Serverdatahtdocstestajax.php – этот файл, соответственно, будет доступен по адресу https://localhost/test/ajax.php и т.д.

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

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

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

  • c:ServerbinApache24confhttpd.conf
  • c:Serverbinmysql-5.6my.ini
  • c:ServerbinPHPphp.ini
  • c:ServerdatahtdocsphpMyAdminconfig.inc.php

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

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

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

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

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

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 вы можете спрятать/показать пункты в навигационном дереве).

Сейчас мы настроим эти дополнительные возможности в полной мере. Откройте phpMyAdmin и нажмите кнопку «Импорт». На открывшейся вкладке нажмите кнопку «Выберите файл».

В открывшееся окно браузера скопируйте строчку:
C:

(т.е. мы выбрали файл create_tables.sql, находящийся в каталоге C:ServerdatahtdocsphpMyAdminsql)

На страничке phpMyAdmin нажмите «ОК».

После успешного завершения импорта должна появиться новая база данных с названием phpmyadmin.

Перейдите на вкладку «Пользователи».

Нажмите «Добавить пользователя». В поле «Имя пользователя:» впишите pma

Вставьте какой-нибудь пароль, я использую простой пароль – цифра 1 (это локалхост!). В привилегиях менять ничего не надо, нажмите «ОК». Мы автоматически переходим на страничку со списком пользователей, где уже есть pma

Нажмите на «Редактирование привилегий» для данного пользователя. Найдите «Привилегии уровня базы данных». И в пункте «Добавить привилегии на следующую базу данных:» выберите базу данных с именем «phpmyadmin». На новой страничке во вкладке «Привилегии уровня базы данных» нажмите «Отметить все» и нажмите «ОК».

Открываем любым текстовым редактором файл config.inc.php (в директории c:ServerdatahtdocsphpMyAdmin) и добавьте туда следующие строчки.

Замечания:

  • в первой строчке пароль замените на свой, который вы вводили, когда создавали пользователя
  • строки можно вставлять в любое место в файле, главное, чтобы после $i++; и до символов ?>

Сохраняете файл. Выходите из phpMyAdmin – именно нажимаете кнопку «Выход» и логинитесь заново, а не просто открываете-закрываете страничку.

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

Следующим шагом, после настройки и тестирования сайта на локалхосте, является выбор качественного и дешёвого интернет хостинга. Я перебрал довольно много решений и нашёл очень хороший вариант — 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен — 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это

Кстати, а ведь как здорово иметь собственное доменное имя! Хотя бы для того, чтобы сделать для себя красивый почтовый ящик, вместо чего-нибудь вроде vovan_pupkin_murom1995@mail.ru. Вот

можно найти свой собственный домен. Например, я получил бесплатно домен codeby.net, я могу делать почтовые ящики: admin@codeby.net, alex@codeby.net, al@codeby.net и так далее — количество ящиков ничем не ограничено!

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

WebWare Team

ООО Кодебай

София
21.02.2020 в 16:29
Почему-то комп пишет при попытке установить службы (c:\Apache24\bin\httpd.exe -k install (в папку Server не встало, поэтому решила устанавливать прямо на диск), что отказано в доступе. В cmd захожу с правами админа. Подскажите, пожалуйста, как это решается?

noobfix
01.09.2020 в 11:57
Потому и не встало, что прямо на диск. В windows (по крайней мере, 10 версии) нельзя ничего ставить в корень диска C без прав администратора. Нужно вручную создать папку на диске, а в неё уже устанавливать то, что требуется.

Мишаня
13.07.2020 в 12:47
У mysql новая версия и в ней нет папки data, не говоря уже о my-default.ini. Я уже неделю не знаю, что делать. Тоже подскажите!

Alexej
13.07.2020 в 15:48
папку data можно найти в ранних версиях mysql

, а вот на счёт my-default.ini непонятно, лично для меня. Раньше был файл. Сейчас даже в 5.5 версии его нету.

Alexej
13.07.2020 в 15:49
Хотя вот только что, скачал 5.6.35 версию, в ней есть папка data и файл my-default.ini

nvvolkov86
14.07.2020 в 09:48
Здравствуйте! Подскажите, пожалуйста, как настроить домены?, т.е. что бы сайт открывался не через http://localhost/SITE_NAME/
а не посредственно через http://SITE_NAME/
Заранее спасибо, а то из-за этой проблемы многие части моего кода некорректно работают…

Alshain
15.11.2020 в 19:55

меняем
Напишите полный адрес данной директории, не вводите людей в заблуждение “” – тут ошибка

Игорь
04.07.2020 в 22:39
Зачем вы сделали что при копировании директорий для установки и тд к ним в конце буквы добавляются? Идиотское решение

Евгений
07.07.2020 в 09:29
Я что-то не пойму никак. Вы даете ссылку на mysql. Там уже версия 8 а не 5. И в архиве нет ни файла my-default.ini ни папки data. Вот содержание моего архива: \bin \docs \include \lib \share и файлы licence и readme. Объясните?? НА просторах интернета версии 5.6 в архиве нету. Есть только msi.

WebWare Team
07.07.2020 в 12:19
Статья за 2015 год

Alexey
04.03.2015 в 16:41
Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin — крайне рекомендуется к прочтение перед тем, как задать вопрос о своей проблеме.

А также рекомендуется к прочтению статья «Как установить ModSecurity (mod_security) на Apache».
Если у вас возник вопрос, крайне настоятельно рекомендую задать его в нашем с вами форуме, в специализированной ветке

. Здесь только один человек следит за вашими новыми сообщениями и отвечает на них. На форуме же в вашем распоряжении помощь всей общественности.

Сергей
03.06.2015 в 10:11
Спасибо! Все работает!

Единственное – в папке examples нет файла create_tables.sql, потому расширенные опции по инструкции сделать не получилось.

WebWare Team
03.06.2015 в 13:19
Сергей, спасибо за наводку! Файл переехал в папку sql, т.е. теперь он лежит по адресу

Сейчас исправлю инструкцию.

валера
15.06.2015 в 16:29
Здраствуйте при установке MySQL 5.6 настроил всё по инструкции проверил несколько раз,пытаюсь выполнить установку в командной строке с помошью команды «c:Serverbinmysql-5.6binmysqld» –install получяю вот это

WebWare Team
16.06.2015 в 06:42
У Вас так:

валера
16.06.2015 в 12:46
Спасибо разобался.

Kirill
03.08.2015 в 18:27
Подскажите почему после настроек работать с mysql можно только через PHPMYADMIN ? Через терминал при запуске mysql.exe команды не работают, работает только просмотр существующих баз и стандарные команды типа помощи, выхода из mysql и тд. ?

WebWare Team
03.08.2015 в 18:38
Нужно настраивать переменные окружения. Я это в инструкции не объясняю, чтобы не запутывать новичков. А тем, кому это нужно, и так знают, как это сделать (ну или можно погуглить). Даже при этой установке можно напрямую работать с MySQL сервером, если обращаться к нему по полному пути бинарника c:Serverbinmysql-5.6binmysql. Например, так:
c:Serverbinmysql-5.6binmysql -u root
Вот только что попробовал сделать резервную копию – всё прекрасно получилось:

Или я не понял вопроса и Вы что-то другое имеете ввиду?

Kirill
03.08.2015 в 19:12
Нет Вы всё верно поняли, но я к сожалею из тех кому нужно но не знают как(вникаю), если бы ещё сылочку или оисание по настройке переменных было бы вообще круто)

Kirill
03.08.2015 в 19:14
Хоя согласен как и вы показали можно тоже работать, но хотелось быы уже всё чётко настроить)

WebWare Team
03.08.2015 в 19:34
Откройте «Мой компьютер» (у меня называется «Этот компьютер» – не суть). Там выберите «Свойства системы». Дальше выберите «Дополнительные параметры системы». В открывшемся окне на вкладке «Дополнительно» нажмите «Переменные среды». Там два окошечка, смотрите на то, которое называется «Системные переменные». Находите переменную «Path». Кликаете два раза на ней. В «Значение переменной» уже много-много чего понаписано. Добавляете туда (например, вставьте в самое начало) строку

Нажмите везде ОК, чтобы закрылись все окна. Сразу, даже без перезагрузки можно работать в командной строке и вызывать MySQL как mysql – полный путь прописывать до бинарника не нужно.
П.с. сам себе только что сделал, даже в голову не приходило, что это кому-то нужно:

Kirill
03.08.2015 в 19:36
Спасибо. Очень оперативно)

Kirill
03.08.2015 в 20:52
Только теперь создаются базы только с названиием test_ , тоесть test_db, test_123 и тд.

WebWare Team
03.08.2015 в 21:44
Это сложный фокус и мне не удаётся его воспроизвести:

Если действительно нужна помощь, то пишитекак можно подробнее, что и как делаете. Как минимум, нужны команды или скриншоты.

Ilya
06.08.2015 в 16:14
Спасибо!
Четко, понятно и без ошибок.
Всегда использую эту инструкцию)

nexgen
31.08.2015 в 16:48
ставил все последние дистрибутивы на сегодняшний день apache2.4.16, php7, mysql5.6.26 так вот, если раскоментировать в php.ini любую из этих строк:

то апач не стартует, выдает ошибку 1067 и в событиях никаких записях об характере ошибки нет.
Вдруг кто будет мучаться.

WebWare Team
31.08.2015 в 16:59
Спасибо за комментарий. Да, действительно, для PHP5 проблем нет, а в PHP7 некоторые расширения подключать нельзя. Я об этом говорил здесь: Как установить PHP 7 и как обновить до PHP 7 на Windows. У меня немного другой список получился:

Там в статье скриншот для PHP 7.0.0alpha2, скриншот мне переделывать было лень, но список этот работает для PHP 7.0.0 RC 1 (сам првоерял – ставлю все новые версии PHP 7).

Fgfg
17.12.2015 в 17:25
зачем ты пишешь, что обновил (это переходя из статьи по php7) инструкцию и там же в «обновленной» инструкции присутствуют строки «…В разделе PHP 5.6 …»? и вообще, там в папке php нет дллки под 7-ю версию, там нет такого файла php7apache2_4.dll. если про него пишешь, то лучше приложи дистрибутив версии с этим файлом на стороннем файлообменнике. делаешь – делай до конца. ибо мозг не тереби людям.

Андрей
16.09.2015 в 16:32
а как локально разрабатывать несколько сайтов? и как сделать адреса типа site.loc?

WebWare Team
16.09.2015 в 16:38
В каталоге c:Serverdatahtdocs можно сколько угодно делать подкаталогов (любой вложенности) и в каждом из них размещать отдельный сайт.
Про виртуальные хосты написано в этой статье – там пролистните до второго раздела, который называется «Поддомены и виртуальные хосты на локальном сервере (locahost’е)».

Vlad
21.09.2015 в 04:20
Помогите пожалуйста в чем ошибка: захожу http://localhost/phpmyadmin/index.php ввожу лог root а мне пишет ошибка – Невозможно подключиться к серверу MySQL. Уже весь интернет перерыл незнаю что делать.

WebWare Team
21.09.2015 в 06:40
А вы по этой инструкции ставили? Не должно быть никаких ошибок если по этой.
А вообще такая ошибка возникает если не установлен или не запущен сервер MySQL.

Artem
18.01.2020 в 00:38
Комментарий выше можете удалить. Не знаю почему, но у меня такая ошибка выходит когда запущена служба mysql. Прописав net stop mysql я зашел в phpmyadmin без проблем. Если это решит твою проблему то зайди в службы (панель управления/администратирование/службы) и поставь в службе mysql запуск вручную. Мне помогло.

nexgen
21.09.2015 в 12:35
логин root а пароль должен быть пустой и посмотри в службах (пуск>выполнить или winkey+R > services.msc) и посмотри есть ли служба MySQL и запущена ли она. А лучше поставь готовую сборку.

Pavel
23.09.2015 в 22:48
не могу подключить май админ. Подскажите пожалуйста это уже моя 2 попытка. Пишет следущее:

The mbstring extension is missing. Please check your PHP configuration.

Vladimir
03.10.2015 в 01:11
В php.ini нужно раскомментировать строку ; extension_dir = «./» и заменить на extension_dir=»C:ServerbinPHPext»

Слава
14.02.2020 в 12:35
Помогло. Большое спасибо!

Вячеслав
23.02.2020 в 17:04
Сделал, но не помогло. РНР не 7.

Alex
06.05.2020 в 13:50
ребят, я никак не могу решить это:
Fatal error: Call to undefined function mb_detect_encoding() in C:ServerdatahtdocsphpMyAdminlibrariesphp-gettextgettext.inc on line 177
файл php.ini изменял как сказано. два раза сносил все и устанавливал.
пытался править переменную среды, у меня стоит что: Configuration File (php.ini) Path C:Windows, а установлено -то все на c:/server…
в инете советовали проверить dependencies php. вот так:

зы кстати что там скайп делает )))

Che
14.10.2015 в 19:02
Помогите, люди добрые, уже который раз я пытаюсь установить/переустановить Apache, никакого результата.При попытке перейти на локалхост пишет, что соединения нет. При установке через командную строку пишет, что уже установлен. При запуске апач -монитора пишет «failed», у меня нет идей что это может быть. У меня вин 8,1. Все дистрибутивы скачаны, но еще не установлены (кроме от Microsoft).

Artem
17.01.2020 в 23:28
Выключите скайп

Che
15.10.2015 в 13:46
Все заработало, положение спас ваш архив с файлами конфигурации и переустановка апача. Спасибо

Владимир
19.10.2015 в 20:59
Здравствуйте! Установил PHP, а в браузере не картинка а просто код который вы дали Что делать?

Сергей
30.10.2015 в 13:03
Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.incon line 177
Эту ошибку выдает phpmyadmin, все сделал как на сайте!
Что делать?

Владимир
31.10.2015 в 21:54
Здравствуйте.
Скачал MySQL 5.7.9 и в архиве нет папки /data.

Flapjack
04.11.2015 в 20:58
Такая же тема. Не могу найти папку…

Владимир
04.11.2015 в 21:33
Я просто скачал версию MySQL 5.7.7, где эта папка еще есть и поместил ее в последнюю версию. Все работает нормально.

Flapjack
05.11.2015 в 00:44
Благодарю, помогло)

Владимир
05.11.2015 в 00:49
Но так, конечно же, быть не должно. Непонятно, почему в двух последних версиях нет этой папки? Может все таки автор статьи даст ответ.

Александр
06.11.2015 в 19:58
Такая же проблема, ждём ответа от автора

Владимир
17.11.2015 в 14:14
На одном из форумов нашел решение. Правда еще на проверял (у меня все сейчас работает, не хочу трогать), может кто-нибудь проверит:
Останавливаем службу MySQL.
Инициализируем базы данных по-умолчанию (папку data) с помощью командной строки: mysqld.exe –initialize –user=mysql .
Запускаем MySQL с отключенными паролями: mysqld.exe -u mysql –skip-grant-tables .
Вручную редактируем пароли mysql и user.
На счет последних двух пунктов не уверен, нужны ли они. Возможно, после второго пункта надо продолжать по приведенной здесь инструкции.

ИННА
06.12.2015 в 02:02
не помогло. ничего не включалось и не запускалось. логов ошибок тоже не было.

Владимир
06.12.2015 в 02:34
Тогда попробуйте это:
C:Serverbinmysql-5.7bin>mysqld —initialize — эта команда создает файлы в папке C:ServerdataDBdata (перед запуском нужно убедиться что она пустая, если нет почистить), после чего:

Никита
17.12.2015 в 13:11
«C:Serverbinmysql-5.7bin» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Подскажите, пожалуйста, в чем проблема? Пытался исправить вашем методом

Виталий
30.12.2015 в 15:57
Спасибо, проделал тоже самое, 5.7.7, последняя версия с этой папкой.
Все работает. Сервер запускается.

joseph
20.03.2020 в 22:28
Перейдите в каталог C:ServerdataDB и создайте там пустую папку data.
открываем командную строку от имени администратора и последовательно вводим туда:

Владимир
19.04.2020 в 20:33
Создал пустую папку, выполнил последовательно команды. После последней команды ошибка:
Не удалось запустить службу “MySQL”.
Служба не сообщает об ошибке.
Для вызова дополнительной справки наберите NET HELPMSG 3534.
Разумеется в my.ini прописан правильный путь, командная строка запущена от администратора и прочие условия соблюдены.

Владимир
19.04.2020 в 21:02
И еще. После первой команды в папке data действительно создаются файлы, но не все. Нет папок mysql, performance_schema и т. д.

Владимир
21.04.2020 в 14:33
ВСЁ! ПРОБЛЕМА РЕШЕНА!
Сначала в my.ini прописывает одну строчку:

Если все сделали правильно, то и папка data создастся со всеми необходимыми файлами, и служба MySQL установится, и запустится без ошибок.

Артур
04.06.2020 в 13:30
Спасибо большое, помогло

neon_od
13.01.2020 в 15:34
спасибо за помощь.

Эдуард
10.02.2020 в 18:58
Спасибо, Владимир!

Виктор
06.11.2015 в 23:49
При инсталяции АПАЧ выдает ошибку

Владимир
06.11.2015 в 23:55
> ╙ърчрээр ёыєцср єцх ёє∙хёЄтєхЄ.
Это расшифровывается, как «Указанная служба уже существует».

Виктор
07.11.2015 в 11:21
Но после запуска, тогда пишет

значит не инсталирован.

Владимир
07.11.2015 в 14:05
Что касается абракадабры, то для расшифровки подобного есть прекрасный сервис.
═х єфрхЄё эрщЄш єърчрээ√щ Їрщы — это «Не удается найти указанный файл».
По поводу, почему так происходит, я не знаю. Попробуйте перезагрузить компьютер. Еще может такое быть, если служба у вас осталась от предыдущей установки сервера — попробуйте ее удалить, потом перезагрузить компьютер и установить заново.
Для удаления в командной строке (от администратора) наберите: sc delete Apache2.4.

Виктор
07.11.2015 в 21:44
Спасибо, но ничего не помогает.
Два раза все удалял и переустанавливал, но все одно и тоже.
AleksCore
07.11.2015 в 16:17
Слишком сложно всё. Для установки MySQL всего-лишь необходимо ввести одну команду в командной строке и другую чтобы запустить сервис. Ошибка 1067 если выполнять в точности по инструкции на Windows 10 x64

Владимир
07.11.2015 в 17:05
Чтобы не было этой ошибки, поробуйте в my.ini прописать:

Еще попробуйте прописать в директории Path: C:Serverbinимя_каталога_с_MySQLbin; .

Sigognac
07.11.2015 в 18:05
В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).
Нет там никакой директории data

Владимир
07.11.2015 в 18:09
Читайте ветку чуть выше.

Артём
20.11.2015 в 14:03
C:Serverbinmysql-5.7bin>mysqld –initialize – эта команда создает файлы в папке C:ServerdataDBdata (перед запуском нужно убедиться что она пустая, если нет почистить), после чего:

Владимир
07.05.2020 в 15:50
Перед запуском надо убедиться, что этой папки вообще нет. Она создастся автоматически. Иначе могут возникнуть проблемы.

showTime
11.11.2015 в 21:56
При установке Apache выдает ошибку AH00526: Syntax error on line 243 of «путь» DocumentRoot must be a directory. В чем проблема? изменял conf точно так как у вас, не пойму в чем проблема

Владимир
11.11.2015 в 22:10
Что написано в 243 строке?

yuri
15.11.2015 в 00:53
Спасибо за подробные объяснения и инструкции!
В самом начале, при настройке конфига апача у вас пути в кавычках. У меня не прокатило, убрал кавычки – заработало.

yuri
15.11.2015 в 11:44
К пункту 4 (mysql) – может кому-то пригодится: если выдаёт ошибку 1067 – добавить путь к mysql/bin в system path руками. Мне помогло, заработало

hutei
18.11.2015 в 21:52
По ссылке http://localhost/phpmyadmin/ пустая страница. В чем может быть причина? Скрин тут

hutei
02.12.2015 в 21:03
Отбой. Переустановил винду, заново все настроил по инструкции и все заработало нормально=)

Volk
23.11.2015 в 10:55
спасибо огромное за инструкцию. Все четко и понятно. Вам бы системным анализом заниматься

Husein
23.11.2015 в 17:45
Уже битый час убиваюсь с установкой php, уже все перепробовал почти..тупо выдает эту ошибку:

Владимир
23.11.2015 в 18:22
«xcdxe5 xedxe0xe9xe4xe5xed xf3xeaxe0xe7xe0xedxedxfbxe9 xecxeexe4xf3xebxfc» переводится как «Не найден указанный модуль».
Посмотрите по указанному пути (C:/Server/bin/PHP/php5apache2_4.dll), присутствует ли там этот файл.

Владимир
23.11.2015 в 18:28
Если этого файла там нет, то возможно, вы скачали не тот PHP.

alx
18.04.2020 в 17:47
в гугле vc11-x64 и скачай с сайта майкрософта.. установи

Андрей
13.12.2015 в 18:31
А как быть с mySQL 5.7.10? там нет папки data.

Aliaksandr
16.09.2020 в 16:54
скачайте чуть более раннюю версию и возьмите от туда папку data

Слава
13.12.2015 в 19:14

Никита
17.12.2015 в 11:20
В каталоге c:Serverbinmysql-5.7 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).
У меня там нет папки data. С чем это может быть связано? Заранее спасибо)))
Может потому что я устанвил версию 5.7 ?

Александр
17.12.2015 в 20:34
У меня Windows 7. При попытке установить АПАЧ пишет «Запуск программы невозможен т.к. на компьютере отсутствует api-ms-win-crt-runtime-|1-1-0.dll. Проверил наличие этого файла в системе – НЕ НАЙДЕН. Загрузил с какого-то сайта поместил в папку Windowssystem32 перезагрузил компьютер ничего НЕ ЗАРАБОТАЛО. ЧТО ДЕЛАТЬ ПОМОГИТЕ. )

qwerty
22.12.2015 в 15:25
Может надо у становить Visual C++ Redistributable for Visual Studio 2015

sdsgdssg
17.01.2020 в 23:09
Visual C++ Redistributable for Visual Studio 2015 не всегда устанавливается, как я понял эта dll идет уже с windows 8. На семерке (пиратская) установка зависает где на 85 % и ничего уже не помает

Андрей
23.12.2015 в 17:08
ДОброго!
прошу помощи, гугление дает только результат который уже исправлен. Система Вин 10 64, php7 , mysql 5.7 – вс еработает. Запнулся на phpmyadmin с ошибкой:

В информации info.php нет переменных mbstring
Команда php -m выводит mbstring
какие могут быть ошибки? спасибо

Андрей
23.12.2015 в 22:12
мой комент выше про:

проблема была в php7, php6 работает!!
Автору спасибо за статью!! обновился с денвера

Игорь
06.01.2020 в 03:11
Уважаемый автор данной статьи, будьте любезны помогите разобраться в следующем: проблема в установке MySQL. В новой версии MySQL 5.7.10 нету папки data (разрабы постарались), как быть? по умолчанию инсталляция проходит, но сервер MySQL не запускается, проблема именно в этом. Пробовал зарные варианты исскуственно создавать данную папку и прописать путь к ней в конфиге, но безрезультатно.

Evgeniy777
16.05.2020 в 11:24
Начиная с версии MySQL 5.7.7 в архиве нет папки Data. Но ее можно создать таким образом – заходите через командную строку в папку mysql-(ваша версия)/bin и вводите команду mysqld –initialize-insecure
Содержимое папки data будет создано. Путь к папке data программа берет из my.ini (в статье описано создание этого файла) или, за неимением такого, я полагаю из настроек по умолчанию. Вот статья из мануала по этой теме на сайте mysql –

Victor
14.01.2020 в 22:07
Добрый день.
Спасибо за статью. Установка Apache, mysql, PHP прошла удасно. . открывает правильно, но после изменений в php.ini , перестает работать, сервер недоступен или не открывается? Все исправления в этом файле проверил несколько раз. В чем может быть причина?

Artem
17.01.2020 в 22:23
В новых версиях MySQL нет папки дата, когда делал все по этой инструкции был поставен в тупик, но решение такое, в командной строке прописать и папка создастся сама

Roman
26.01.2020 в 14:09
Спасибо, все сработало! Сделал за одно утро по указанной схеме (поставил на windows10, хотя терзали сомнения что взлетит). MySQL 5.7 скачал последнюю версию, папки data там нет, скачал то, что написано у автора 5.6 – с этим все сработало. Для меня самое главное, что дизайнер в phpadmine Работает!

Артемий
10.02.2020 в 15:33
Здравствуйте!
Проблема при установке, windows 10, 64.
После ввода команды c:ServerbinApache24binhttpd.exe -k start в командной строке, выдает ошибку

комментирование строки не помогает
Все методы лечения, что нагуглил не помогли, что делать?

Вячеслав
23.02.2020 в 15:31
После ввода
SSL connection error

ERR_SSL_PROTOCOL_ERROR
никто ничего не может посоветовать в связи с этим?
если http://localhost/i.php – то пустая страница

Дмитрий
29.02.2020 в 14:26

сами файлы на месте.

Сергей
02.04.2020 в 21:21
Те же самые ошибки и у меня

Сергей
02.04.2020 в 23:10
Есть еще такая инструкция:

Сергей
01.03.2020 в 17:18
В пункте 4. Установка и настройка MySQL сказано:
“Теперь служба MySQL будет запускаться при каждом запуске Windows”
Что нужно сделать, чтоб запускать MySQL только вручную?

Андрей
28.03.2020 в 04:58
Если на винде, то “Управление компьютером”-“Службы и приложения” выбрать службу MySQL и поставить в настройках запуск “вручную”

Ольга
02.04.2020 в 20:09
Добрый день! Все было хорошо, пока не стала устанавливать PhpMyAdmin. Файл config.inc.php создала, но при попытке перехода по ссылке localhost/phpmyadmin выдает следующее:

Не могу разобраться уже длительное время. Подскажите, где проблема?

Ольга
03.04.2020 в 20:07
все наладилось. прошу прощения за беспокойство

Михаил
15.04.2020 в 18:33
Ольга, а как наладилось?

Ольга
29.04.2020 в 00:23
Если я отвечу, еще актуально или уже разобрались?

Олег
07.05.2020 в 09:32
Конечно надо ответить. Я, например, не могу решить эту проблему. Вот сейчас вынужден писать этот комментарий, тратить время. Был бы ответ, я бы уже приступил к работе. Неужели там столь сложное решение, что о вас потребуется написать целую статью? Неужели так сложно кратко написать что и как?

Влад
05.04.2020 в 03:19
Здравствуйте!
Большое спасибо за статью, но что-то сразу не задалось)
После установки apach через командную строку и последующего запуска (всё, как на скринах) https://localhost/ “Попытка соединения не удалась”.
Пробовал:
– проверить, всё ли сделал в файле httpd.conf – всё как в инструкции;
– удалить и снова установить через командную строку;
– отключить экраны Avast и снова переустановить;
– пользуюсь мозиллой, но через оперу тоже не вышло.
Win7 x64.
Раньше использовал денвер, но решил научиться делать всё сам, поэтому воспользовался данной статьёй.
Заранее спасибо за помощь.

Влад
05.04.2020 в 12:12
Гуглить тоже пробовал, но всё попадал на какие-то более сложные вопросы и частные случаи, которые мне не помогли)

Денис
04.05.2020 в 23:09
Один нюанс. В новой версии MySQL, 5.8… папка Data отсутствует. Можно конечно выкачать старую версию, но можно и с этой. Надо ее инициализировать сначала в общем, ну так на форумах SQL пишут

Владимир
05.05.2020 в 00:19

Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10

aj10890
10.12.2020 в 23:15
Добрый вечер!
Не могу найти файл php.ini-development и, соответственно, изменить название на php.ini. что делать?

Денис
05.05.2020 в 00:11

Владимир
05.05.2020 в 00:18
https не надо писать.

Вита
17.05.2020 в 20:27
у меня проблема с Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177 решилась изменением разрешения с ini-development на ini

LP
06.06.2020 в 19:13
Ссылка на скачивание php не работает.

Владимир
08.06.2020 в 15:37

evg55
01.08.2020 в 10:41
Как включить zend loader в php5.6 на windows?

Aliaksandr
16.09.2020 в 05:06
Мне майпхпадмин выдает ошибку

Динар
06.11.2020 в 20:39
Возможно, Вы, так же как и я, следовали инструкции и неправильно прописали строчку в файле php.ini. Должно быть так :
extension_dir = “C:/Server/bin/PHP/ext”

100krotka
18.12.2020 в 15:18
Здравствуйте! Возникла проблема при установке Apche. Командная строка не может выполнить действие. При копировании данной строки:

Командная строка сообщает: “c:ServerbinApache24binhttpd.exe” не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Может я в итоге что-то не так делаю или это как-то можно исправить. У меня Windows7 стоит, может дело в этом. Подскажите как все-таки запустить установку?

100krotka
18.12.2020 в 15:24
Разобралась в чем у меня ошибка, добавила слэши и все заработало.)

100krotka
18.12.2020 в 18:17
Помогите, поалуста! Делаю все по инструкции, апаче встает, пхп встает, майадмин выдет ошибку: The mbstring extension is missing. Please check your PHP configuration. Оень нужна помощь! Нигде не могу ответить как спастись от этого бага. Хотела уже скачать вашу сборку, да ссылки на скачивание не работают.

Tim1l
19.02.2020 в 01:32
Здравствуйте! Спасибо за подробную инструкцию. Дошел до пункта 6: Установка и настройка phpMyAdmin. Все сделал как написано, но при попытке входа пользователя root без пароля выдает ошибку

Slava tm

Member

rolya

Андрей Яник

New member

и не только, я всё протестил на х64 7-ка, много нюансов без слэшей, например в настройке PHP

т.е. без слэшей, когда запустил phpmyadmin, то выбило ошибку, пока не доставил слэши т.е. extension_dir = «C:\Server\bin\PHP\ext»
А так большое спасибо автору, хороший труд, всё работает (Внимательно следите за » \ » )

Vhhtrht

New member

Здравствуйте, возникла проблема локалхост не открывает, все по инструкции выполнял.

Локальный веб-сервер — это очень полезный инструмент. Он нужен и тем кто разрабатывает Web-приложения, и тем, кто учиться работать с разнообразными скриптами, движками, а также тем, кто занимается тестированием на веб-проникновение. Существуют разные популярные сборки «всё в одном», которые включают Apache, PHP, MySQL и другие компоненты. Можно пользоваться и ими. Но самостоятельная установка сервера имеет ряд преимуществ:

  • возможность использовать самые новые компоненты, самые свежие версии Apache, PHP, MySQL, phpMyAdmin;
  • можно самостоятельно обновлять эти компоненты в день выхода новых версий — не нужно ждать, пока это сделают авторы больших пакетов;
  • отсутствие лишних, избыточных компонентов — мы устанавливаем только то, что нам нужно;
  • дополнительная безопасность — мы не знаем, какие изменения были внесены авторами разных сборок. При самостоятельной установке мы скачиваем только официальные файлы с официальных сайтов;
  • самостоятельная установка сервера — это важный шаг к его изучению, к пониманию глубинных процессов.

На самом деле, установка Apache, а также других обязательных элементов – PHP, MySQL, phpMyAdmin, – это весьма простая операция. Возникающие сложности связаны с тем, что сообщения об ошибках малоинформативны. Например, при ошибке в конфигурации Apache просто не запускается и всё. И новичку не всегда просто понять, что не так.

Если вы в точности будите следовать всем пунктам данной инструкции, то у вас обязательно всё заработает, независимо от вашей версии Windows!

Установка сервера включает в себя установку и настройку нескольких элементов:

  • сам веб-сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

Стадии установки:

  1. Подготовительная стадия – скачивание Apache, PHP, MySQL, phpMyAdmin
  2. Выбор структуры сервера
  3. Установка и настройка Apache
  4. Установка и настройка MySQL
  5. Установка и настройка PHP
  6. Установка и настройка phpMyAdmin
  7. Использование сервера и бэкап данных
  8. Дополнительная настройка PHP
  9. Дополнительная настройка phpMyAdmin

1. Подготовительная стадия – скачивание Apache, PHP, MySQL, phpMyAdmin

Будем устанавливать самые новые версии программ, скаченные с официальных сайтов. Официальный сайт Apache —

Вверху страницы представлено две версии Apache Win64 или Win32. Если у вас 64-битная Windows, то выберите любую (это непринципиально и на работу никак не скажется. Только следуйте правилу, чтобы все версии компонентов сервера были одной битности). Я выбрал 64-битную версию.

. Версий много, с непривычки можно запутаться. Самые свежие версии находятся сверху. В разделе PHP 5.6 четыре варианта. Выберите Thread Safe, а также 64 или 32 бита. Например, я выбрал VC11 x64 Thread Safe.

Скачиваем MySQL (на сайте бесплатная версия называется MySQL Community Server). На

перелистываем вниз. Там доступны две версии

  • Windows (x86, 32-bit), ZIP Archive
  • Windows (x86, 64-bit), ZIP Archive

Всем понятно, чем они различаются.

Если нажать на кнопку Download, то мы переходим на страницу, где две большие кнопки предлагают нам создать аккаунт или войти в уже существующий. Это необязательно, достаточно просто нажать маленькую надпись внизу «No thanks, just start my download» («Нет, спасибо, просто начните мою загрузку»).

Практически обязательным элементом сервера стал phpMyAdmin, его скачиваем с

Если предыдущие скаченные файлы различались битностью, то для phpMyAdmin такого понятия нет, т. к. он состоит из PHP скриптов.

Для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта Microsoft. Для этого нужно перейти по

При попытке запуска, Apache пожалуется на отсутствие файла и запускаться откажется. Этот файл является частью Visual C++ Redistributable for Visual Studio 2015, поэтому заблаговременно скачиваем его по

(выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vc_redist.x64.exe.

Итог, мы имеем следующие файлы:

  • httpd-2.4.12-win64-VC11.zip
  • php-5.6.6-Win32-VC11-x64.zip
  • mysql-5.6.23-winx64.zip
  • phpMyAdmin-4.3.11-all-languages.zip
  • vcredist_x64.exe
  • vc_redist.x64.exe

Запустите и установите файлы vcredist_x64.exe и vc_redist.x64.exe – к ним мы возвращаться больше не будем.

2. Выбор структуры сервера.

Теперь всё готово, можно начинать. Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server, в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

Казалось бы, для чего это нужно? На самом деле, это упрощает резервное копирование. Например, папка bin меняется очень редко и бэкапить её каждый день нет смысла. Напротив же, содержимое нашего сайта и баз данных может меняться ежедневно и имеет смысл делать резервную копию папки data часто. Когда мы обновляем файлы сервера, например, ставим новую версию PHP, то мы можем принудительно сделать копию bin и, в случае ошибок, без проблем откатиться на более старую версию.

Продолжим наши приготовления. В каталоге data создадим две папки:

  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

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

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.12-win64-VC11.zip), точнее нас интересует только папка Apache24.

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

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

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

И скопируйте туда:

И нажмите Enter. У меня встрепенулся файервол:

Нажмите разрешить, если у вас появится это же окошко.

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

И нажмите Enter.

Теперь в браузере набираем https://localhost/ и видим следующее:

Это означает две вещи:

  • Apache работает
  • в каталоге c:Serverdatahtdocs нет ни одного файла.

Можете поиграться — добавить в каталог любые html-файлы — полноценный сервер работает.

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

В каталог bin распаковываем файлы MySQL (из архива mysql-5.6.23-winx64.zip). Переименовываем папку mysql-5.6.23-winx64 в mysql-5.6 (для краткости).

Кстати, распакованная папка mysql-5.6 занимает более полтора гигабайта!

Заходим в эту папку и переименовываем файл my-default.ini в my.ini Теперь открываем этот файл любым текстовым редактором.

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

В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).

Настройка завершена, но нужно ещё выполнить установку, для этого открываем командную строку от имени администратора и копируем туда

Теперь служба MySQL будет запускаться при каждом запуске Windows, но в данный момент она ещё не запущена. Чтобы это сделать, в командной строке нужно набрать

или просто перезагрузить компьютер.

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

В папке c:Serverbin создаём каталог PHP и копируем в него содержимое архива php-5.6.6-Win32-VC11-x64.zip.

В файле c:ServerbinApache24confhttpd.conf в самый конец добавляем строчки

В каталоге c:Serverdatahtdocs создаём файл с названием i.php

Копируем в этот файл:

В браузере откройте ссылку https://localhost/i.php . Если вы видите тоже самое, что на картинке, значит PHP работает.

Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы случайно не затереть ваш файл, с вашими уникальными настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будет использовать php.ini-development.

Открываем файл php.ini любым текстовым редактором, ищем строчку

т.е. мы разкоментировали строку (убрали точку с запятой в начале)

Теперь разкомментируем целую группу строк:

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

6. Установка и настройка phpMyAdmin

В каталог c:Serverdatahtdocs копируем содержимое архива phpMyAdmin-4.3.11-all-languages.zip. Переименовываем phpMyAdmin-4.3.11-all-languages в phpmyadmin (для лаконичности)

В каталоге c:Serverdatahtdocsphpmyadmin создаём файл config.inc.php и копируем туда:

В браузере набираем https://localhost/phpmyadmin/

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

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

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

c:Serverdatahtdocstestajax.php – этот файл, соответственно, будет доступен по адресу https://localhost/test/ajax.php и т.д.

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

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

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

  • c:ServerbinApache24confhttpd.conf
  • c:Serverbinmysql-5.6my.ini
  • c:ServerbinPHPphp.ini
  • c:ServerdatahtdocsphpMyAdminconfig.inc.php

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

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

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

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

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

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 вы можете спрятать/показать пункты в навигационном дереве).

Сейчас мы настроим эти дополнительные возможности в полной мере. Откройте phpMyAdmin и нажмите кнопку «Импорт». На открывшейся вкладке нажмите кнопку «Выберите файл».

В открывшееся окно браузера скопируйте строчку:
C:

(т.е. мы выбрали файл create_tables.sql, находящийся в каталоге C:ServerdatahtdocsphpMyAdminsql)

На страничке phpMyAdmin нажмите «ОК».

После успешного завершения импорта должна появиться новая база данных с названием phpmyadmin.

Перейдите на вкладку «Пользователи».

Нажмите «Добавить пользователя». В поле «Имя пользователя:» впишите pma

Вставьте какой-нибудь пароль, я использую простой пароль – цифра 1 (это локалхост!). В привилегиях менять ничего не надо, нажмите «ОК». Мы автоматически переходим на страничку со списком пользователей, где уже есть pma

Нажмите на «Редактирование привилегий» для данного пользователя. Найдите «Привилегии уровня базы данных». И в пункте «Добавить привилегии на следующую базу данных:» выберите базу данных с именем «phpmyadmin». На новой страничке во вкладке «Привилегии уровня базы данных» нажмите «Отметить все» и нажмите «ОК».

Открываем любым текстовым редактором файл config.inc.php (в директории c:ServerdatahtdocsphpMyAdmin) и добавьте туда следующие строчки.

Замечания:

  • в первой строчке пароль замените на свой, который вы вводили, когда создавали пользователя
  • строки можно вставлять в любое место в файле, главное, чтобы после $i++; и до символов ?>

Сохраняете файл. Выходите из phpMyAdmin – именно нажимаете кнопку «Выход» и логинитесь заново, а не просто открываете-закрываете страничку.

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

Следующим шагом, после настройки и тестирования сайта на локалхосте, является выбор качественного и дешёвого интернет хостинга. Я перебрал довольно много решений и нашёл очень хороший вариант — 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен — 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это

Кстати, а ведь как здорово иметь собственное доменное имя! Хотя бы для того, чтобы сделать для себя красивый почтовый ящик, вместо чего-нибудь вроде vovan_pupkin_murom1995@mail.ru. Вот

можно найти свой собственный домен. Например, я получил бесплатно домен codeby.net, я могу делать почтовые ящики: admin@codeby.net, alex@codeby.net, al@codeby.net и так далее — количество ящиков ничем не ограничено!

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

Мой опыт настройки Apache x64 под Windows 8.1 x64

Доброго времени суток, уважаемые читатели. В этой статье я хочу поделиться с вами личным опытом настройки Apache под Windows 8.1 x64.
Было время – установил я себе Windows 8.1 и думаю, раз уж пошло на то, «дай ка» Я и Apache подниму! И как обычно меня он очень порадовал (табличка: «Сарказм»). Пришлось повозиться почти целую ночь, чтобы поднять сервер. И мне это удалось! После этого я решил тем самым написать небольшую статью по настройке Apache, чтобы другой человек не тратил на это столько же времени, сколько Я.
После нескольких минут раздумий, решил написать пошаговую инструкцию, которая будет состоять из нескольких разделов:

  1. Подготовка папок
  2. Настройка Apache
  3. Настройка PHP
  4. Настройка MySQL
  5. Устанавливаем phpMyAdmin

Ну что ж, приступим.

Подготовка папок

Настройка Apache

# директория с нашими сайтами
DocumentRoot “C:/Server/domains”
# индексные файлы, по приоритету.

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

# папка для log-файлов
ErrorLog “C:/Server/domains/logs/error.log”
CustomLog “C:/Server/domains/logs/access.log”
# добавим alias для phpMyAdmin, и поправим alias для cgi

Alias /pma “C:/Server/domains/phpMyAdmin”
ScriptAlias /cgi-bin/ “C:/Server/web/apache/cgi-bin/”

# правим путь для cgi

AllowOverride None
Options None
Require all granted

# типы файлов


AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# Другие конфиги:
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

BrowserMatch «MSIE 10.0;» bad_DNT

RequestHeader unset DNT env=bad_DNT

На этом заканчивается настройка httpd.conf.
В конфигурационном файле Apache httpd.conf были подключены дополнительные конфиги:
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
Откроем файл «C:\Server\web\apache\conf\extra\httpd-mpm.conf» и быстро пробежимся по нему.
# указываем, где у нас будет храниться pid-файл:

PidFile “C:/Server/web/apache/logs/httpd.pid”

Остальные параметры оставляем без изменений. Откроем файл «httpd-autoindex.conf», изменим там только строки с путем:
Alias /icons/ «c:/Server/web/apache/icons/»

Options Indexes MultiViews
AllowOverride None
Require all granted

Далее переходим к файлу «httpd-vhosts.conf», удаляем его содержимое. После того, как мы это сделали, начинаем наполнять его заново:

# добавим для будущего phpMyAdmin (не забываем создать папку)

DocumentRoot «C:/Server/domains/phpmyadmin/public_html»
ServerName localhost
ErrorLog «C:/Server/domains/phpmyadmin/logs/error.log»
CustomLog «C:/Server/domains/phpmyadmin/logs/access.log» common

На этом редактирование файла заканчивается. Далее в оставшихся файлах правим только пути:
Файл «httpd-manual.conf»:
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ «C:/Server/web/apache/manual$1»

В файле «httpd-default.conf» никаких изменений не производиться. На этом настройка конфигурации Apache завершается.

Настройка PHP

Настройка MySQL

Ставим MySQL x64 как сокет под windows. Скачиваем архив с последней версией MySQL x64:
dev.mysql.com/downloads/mysql
В низу страницы находим Windows (x86, 64-bit), ZIP Archive и жмем на кнопку «Download». Вам перекинет на страницу регистрации на сайте. Нажимаем внизу страницы «No thanks, just start my download», запуститься скачивание архива MySQL. После того как скачался архив откроем его и перенесем все содержимое папки в «C:\Server\web\mysql\»
Теперь открываем файл настроек MySQL – «C:\Server\web\mysql\my-default.ini». Удаляем все его содержимое и вносим туда свои данные.
[client]
port=3306
host=127.0.0.1
[mysqld]
port=3306
bind-address=127.0.0.1
enable-named-pipe
basedir=»C:/Server/web/mysql/»
datadir=»C:/Server/web/mysql/data/»
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Вот и всё. В конфигурационном файле мы указали, что скрипты могут обращаться к серверу и по локальному IP, и по сокет-соединению.
Осталось дело за малым. Добавим в системную переменную «PATH» пути к Apache и MySQL, для этого:

  1. Перетащите курсор мыши в правый нижний угол экрана
  2. Щелкните на значке «Поиск» и введите: панель управления
  3. Выберите System (Система)-> Advanced (Дополнительные параметры системы)
  4. Выберите Environment Variables (Переменные среды), в меню System Variables (Системные переменные), найдите переменную PATH и щелкните на ней.
  5. Пропишите пути к Apache и MySQL:

;C:\Server\web\apache\bin;C:\Server\web\mysql\bin
Далее установим службы Apache и MySQL. Для этого воспользуемся сочетанием клавиш «Win+X», появиться выпадающее меню в левом нижнем углу. Выберем «Командная строка (администратор)».
В командной строке вводим, для установки Apache:
httpd –k install
для установки MySQL:
mysqld.exe —install MySQL —defaults-file=”C:\Server\web\mysql\my-default.ini”
Установим пароль для MySQL-пользователя. Для этого запустим службу MySQL командой:
NET start MySQL
После того как служба запустилась, установим пароль:
mysqladmin –u root password ВашПароль
В файл «httpd-vhosts.conf» мы прописали два сайта, для того чтобы браузер мог их увидеть, названия сайтов нужно добавить в файла «hosts». Перейдем в папку:
C:\Windows\System32\Drivers\etc\
откроем файл «hosts» любым текстовым редактором (запустить от имени администратора) и в конец файла добавим:
127.0.0.1 localhost
127.0.0.1 phpmyadmin
Сохраняем файл.
Для удобства запуска и остановки служб Apache и MySQL создадим файлы start-server.bat и stop-server.bat.
Для этого перейдем в папку «C:\Server\» и создадим два этих файла.
Содержание «start-server.bat»:
@echo off
NET start Apache2.4
NET start MySQL
Содержание «stop-server.bat»:
@echo off
NET stop Apache2.4
NET stop MySQL
Настройка Apache, PHP и MySQL на этом закончена. Для того чтобы протестировать сервер, давайте в папке «C:\Server\domains\localhost\public_html» создадим файл «index.php» с содержимым:

Далее запустим наш сервер, для этого запустите «start-server.bat» от имени администратора. После того как сервер запустился, откройте браузер и введите в адресной строке «localhost».
Должна отобразиться страница с информацией о PHP.

Устанавливаем PhpMyAdmin

Скачиваем последнюю версию PhpMyAdmin отсюда:
www.phpmyadmin.net/home_page/index.php
Открываем скаченный архив и переносим содержимое его папки в папку для нашего домена «C:\Server\domains\phpmyadmin\public_html\».
Находим файл «config.sample.inc.php», делаем его копию и переименовываем копию в «config.inc.php». Открываем файл текстовым редактором и меняем данные:

Сохраняем и закрываем файл. Открываем в браузере сайт «http://phpmyadmin» и наслаждаемся.

Статья получилась объемная, но надеюсь полезная.

Настройка связки Apache + PHP + MySQL + phpMyAdmin

Данное описание подходит для любой редакции 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

Далее нам необходимо установить Apache используя командную строку. Нажимаем Пуск → Выполнить, вводим команду cmd и нажимаем OK. У нас должно открыться окно командной строки

Здесь нам необходимо указать полный путь к файлу 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.

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

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

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

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

Чтобы изменения вступили в силу, перезапускаем службу 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 >

Далее нам пишут, что ничего дополнительно нам устанавливать не нужно и мы можем приступить к установке, просто жмем Next >

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

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

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

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

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

В следующем окне стираем в поле ввода цифры 56, остальное оставляем как есть и жмем 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. Внизу нажимаем Сохранить и затем Скачать.

Установка Apache MSI: пошаговая установка Apache. Установка сервера Apache, MySQL и PHP интерпретатора

Подготовка папок

Настройка Apache

Файл конфигурации Apache

# директива Apache
ServerRoot “C:/Server/web/apache”
# Слушаем на локальном IP порт (80 по стандарту)
Listen 127.0.0.1:80
# далее подключим библиотеки расширений для Apache
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module «C:/Server/web/php/php5apache2_4.dll»
# указываем Apache, что файлы с расширением php, нужно воспринимать как php-скрипты
AddHandler application/x-httpd-php .php
# укажем расположение файла настроек php
PHPIniDir “C:/Server/web/php”
# изменим имя сервера
ServerName 127.0.0.1:80
# изменим доступ к директории

Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all

# директория с нашими сайтами
DocumentRoot “C:/Server/domains”
# индексные файлы, по приоритету.

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

# папка для log-файлов
ErrorLog “C:/Server/domains/logs/error.log”
CustomLog “C:/Server/domains/logs/access.log”
# добавим alias для phpMyAdmin, и поправим alias для cgi

Alias /pma “C:/Server/domains/phpMyAdmin”
ScriptAlias /cgi-bin/ “C:/Server/web/apache/cgi-bin/”

# правим путь для cgi

AllowOverride None
Options None
Require all granted

# типы файлов


AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

BrowserMatch «MSIE 10.0;» bad_DNT

RequestHeader unset DNT env=bad_DNT

На этом заканчивается настройка httpd.conf.
В конфигурационном файле Apache httpd.conf были подключены дополнительные конфиги:
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
Откроем файл «C:\Server\web\apache\conf\extra\httpd-mpm.conf» и быстро пробежимся по нему.
# указываем, где у нас будет храниться pid-файл:

PidFile “C:/Server/web/apache/logs/httpd.pid”

Остальные параметры оставляем без изменений. Откроем файл «httpd-autoindex.conf», изменим там только строки с путем:
Alias /icons/ «c:/Server/web/apache/icons/»

Options Indexes MultiViews
AllowOverride None
Require all granted

Файл хостов Apache

# на примере доменная localhost

DocumentRoot «C:/Server/domains/localhost/public_html»
ServerName localhost
ErrorLog «C:/Server/domains/localhost/logs/error.log»
CustomLog «C:/Server/domains/localhost/logs/access.log» common

# добавим для будущего phpMyAdmin (не забываем создать папку)

DocumentRoot «C:/Server/domains/phpmyadmin/public_html»
ServerName localhost
ErrorLog «C:/Server/domains/phpmyadmin/logs/error.log»
CustomLog «C:/Server/domains/phpmyadmin/logs/access.log» common

На этом редактирование файла заканчивается. Далее в оставшихся файлах правим только пути:
Файл «httpd-manual.conf»:
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ «C:/Server/web/apache/manual$1»

В файле «httpd-default.conf» никаких изменений не производиться. На этом настройка конфигурации Apache завершается.

Настройка PHP

Раз у нас Windows 8.1 x64 и Apache x64 установлен и настроен, то и php должно быть x64.
Идем на сайт:

и скачиваем архив php последней версии. Нам нужен php как модуль, т.е. для этого скачиваем Thread Safe. После того как архив скачался, открываем его и переносим содержимое в папку «C:\Server\web\php\». Создадим две пустые папки «tmp» и «upload». Далее в этой папке ищем файл «php.ini-development» и переименовываем его в «php.ini». Открываем файл в текстовом редакторе и изменяем директивы (комментирования строк в файле начинается с точки с запятой).

short_open_tag = On
zlib.output_compression = On
post_max_size = 64M
include_path = «.;С:\Server\web\php\includes»
extension_dir = «C:/Server/web/php/ext»
upload_tmp_dir = «C:/Server/web/php/upload»
upload_max_filesize = 64M
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
; в секции указываем временную зону нашего сервера (http://php.net/date.timezone)
date.timezone = «Asia/Yekaterinburg»
session.save_path = «С:/Server/web/php/tmp/»

На этом настройка php заканчивается.

Настройка MySQL

Перед 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 >

Осталось проверить успешно ли прошла установка. (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 удаляем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Веб-сервер – программа, которая запущена на локальной или удаленной машине, и главное её предназначение – позволять пользователю просматривать веб-документы. Когда в адресной строке вводится адрес сайта, при нажатии клавиши Enter браузер формирует некий запрос, направленный удаленному компьютеру — веб-серверу.

Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.

Главными преимуществами Apache являются стабильность, быстродействие и гибкость, и обусловлены они модульной организацией, а также тем, что разработку ведёт открытая группа программистов, хоть и под официальным названием Apache Software Foundation .

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

О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.

Установка Apache

В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на «Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.

Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле « Administrator’s Email Address » указать адрес своей электронной почты, кликнуть «Next » и установить переключатель в положение «Custom ».

Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть «Next » в этом и «Install » в следующем окне. Когда установка закончится, нажмите на «Finish ».

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

Кликнув по тому же значку правой кнопкой мыши, можно перейти к различным системным службам операционной системы или открыть монитор Apache.

Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost

Если появилась страница с воодушевляющей надписью «It works! », значит, установка Apache прошла успешно, и он функционирует правильно.

Базовая настройка веб-сервера

Хоть Apache и является весьма удобным и исключительно надёжным, не все готовы его использовать как локальный сервер по ряду причин, и основная — отсутствие даже в среде Microsoft Windows какого-либо графического конфигуратора, что довольно непривычно для большинства пользователей.

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

  • Запустить Apache под платформой Windows 7;
  • Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
  • Не испытывать проблем с кодировкой, а в частности — с отображением кириллицы;
  • Возможность работать с несколькими сайтами одновременно.

Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с «решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок «решётки » отсутствует.

Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.

Исправьте её на DocumentRoot “C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.

Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из.htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)

Список используемых параметров:

Options. Возможны следующие варианты:

  • Includes – использование SSI разрешено;
  • IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
  • Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
  • ExecCGI – выполнение скриптов CGI разрешено;
  • FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
  • SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
  • All – все вышеописанное вместе разрешено;
  • None – все вышеописанное вместе запрещено;
  • MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).
  • AuthConfig – позволяет использовать директивы для авторизации;
  • FileInfo – разрешает использование директив для работы с различными типами документов;
  • Indexes – разрешает использование директив для работы с файлами индексации;
  • Limit – разрешает использование директив для определения доступа к хосту;
  • Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
  • All – все вышеуказанное вместе;
  • None – ничего из вышеуказанного вместе.
  • Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
  • Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
  • Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.

На основе всего вышесказанного, попробуйте настроить ваш сервер. В файле httpd.conf директива Directory по умолчанию существует сразу в двух экземплярах — и . Первый вариант трогать не следует, поэтому во втором установите параметры следующим образом:

Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all

Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:

  • Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
  • Возможность параметрического переопределения с помощью файлов.htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
  • Доступ к веб-серверу разрешен со всех хостов.

Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.

Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.

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

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

Найдите в файле httpd.conf строку, которая начинается на AddDefaultCharset . Скорее всего, там указана кодировка ISO-8859-1, в которой отсутствуют кириллические символы. Поменяйте ISO-8859-1 на windows-1251 , сохраните файл и перезапустите Apache. Теперь корректное отображение русского языка на вашем сайте будет работать в любом браузере.

В сервере Apache достаточно просто настроить работу с несколькими сайтами. Адреса, которые можно использовать для них — 127.0.0.2, 127.0.0.3 и т.д. При этом по сети виден будет только тот, который является сайтом по умолчанию (127.0.0.1), однако для локальной работы это не является критичным. Раздел файла httpd.conf , в котором производится настройка всего необходимого для этого, находится в самом конце и именуется VirtualHosts .

В сети достаточно много статей, где авторы приводят подробные инструкции со скриншотами, благодаря которым ни один пользователь смог выполнить установку сервера Apache для PHP и СУБД MySql. Но большинство из них оставляют за юзером множество вопросов, на которые он долго не может отыскать ответа. Рассмотрим, что такое Apache, MySql, PHP, для чего они нужны и как выполнить инсталляцию этих продуктов.

Немного теории

Apache свободный http-сервер, названный так в честь североамериканского племени индейцев апачей. Он широко используется на всех платформах, включая Windows, и фактически стал стандартом, в разработке веб-приложений и сервисов. Помимо него нам понадобится установка СУБД MySql, которая также является стандартом в своей сфере, и один из распространённых и универсальных скриптовых языков – PHP.

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

Сейчас и рассмотрим, как осуществляется установка Apache на компьютер под управлением Windows 7 (в более поздних редакциях процесс практически идентичен), дабы сервер был инсталлированным на реальном хостинге.

Инсталляция Апач

  • Заходим на официальный ресурс поддержки Apache и загружаем его последнюю редакцию.

На самом деле разницы между версиями продукта для разработчика практически никакой нет, разве старые Апачи не поддерживаются последними версиями скриптового языка PHP.

  • Запускаем скачанный инсталяционный файл.
  • Первые два поля заполняем, как на скриншоте: вписываем «localhost» в обе строки.
  • Задаем абсолютно любой почтовый ящик.
  • первое отвечает за инсталляцию продукта в качестве службы Windows, которая будет использовать порт под номером 80;
  • второе подключит сервер к порту под номером 8080, после чего придется автоматически запускать его каждый раз.

Разработчики продукта рекомендуют останавливаться на первом варианте, а посему, рассмотрим его немного ниже. Когда выполняется установка Апача, обратите внимание на путь хранения его файлов. Лучше всего выполнять инсталляцию в директорию «public», расположенную в папке «users» на системном разделе вашего винчестера.

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

Если же он не работает, запускаем командную строку. Делается это посредством ввода «cmd» в текстовую форму командного интерпретатора (Win+R).

В командной строке пишем «net start Apache2.2» для запуска сервера.

Такая запись справедлива только для версии продукта 2.2, в иных версиях числа будут соответствующими.

Останавливается сервер посредством набора команды с такими параметрами: «net stop Apache2.2».

Рассмотрим еще несколько методов запуска, завершения работы и перезагрузки Apache. При регулярной работе использование командной строки для управления работой сервера неэффективно – оно отнимет много времени. Выходом из ситуации будет использование контекстного меню иконки в трее: кликаем по ней правой клавишей мыши и выбираем, какое действие необходимо совершить.

То же самое выполняется посредством управления одноименной службой через соответствующую утилиту, открывающую доступ к службам Windows, или оснастку «Службы». Запускается она через поисковую строку либо «Администрирование» в «Панели управления».

Настраиваем Апач

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

После ручного или автоматического запуска сервера открываем удобный браузер и переходим по адресу: //localhost. Появится пустая страница с таким же адресом.

Дабы приступить к работе делаем следующее.

  • Идем в каталог «htdocs», расположенный в папке с файлами программного продукта.
  • Удаляем с нее html-файл и создаем каталог с именем сайта (mysite).
  • Можете зайти на будущий сайт, введя //localhost/mysite.
  • Переходим в папку «conf» и открываем файл «httpd.conf» в текстовом редакторе (желательно, с поддержкой синтаксиса).
  • Переходим на строку номер 227 и заменяем «none» на «all». В итоге должно получиться значение «AllowOverride All».

Выполнение такого действия разрешит использовать документ «htaccess». Он представляет собой расширенный конфигурационный файл Apache.

  • Ищем строку с текстом «#LoadModule rewrite_module modules/mod_rewrite.so» и удаляем символ «#».

Такое действие активирует модуль, отвечающий за создание и функционирование ЧПУ-ссылок.

  • Сохраняем внесенные изменения и обязательно выполняем рестарт Апач.

Инсталлируем ПХП

  • Заходим на страницу загрузки PHP и скачиваем последнюю стабильную версию скриптового языка.

Внимание! Загружать придется не исполняемый файл формата msi или exe, а biz-архив.

  • Создаем каталог и выполняем в него декомпрессию архива при помощи 7zip или Winrar.
  • Открываем «httpd.conf», если закрыли, и добавляем следующий текст в конец:

«LoadModule php5_module «C:\Users\Public\php\php7Apache2_2.dll»

AddType application/x-httpd-php .php»

Цифры в первой строке и адрес будут изменяться в зависимости от версий используемых продуктов и путей к каталогам и PHP.

  • Опять же сохраняем изменения и выполняем перезапуск Apache.

При появлении информационного диалогового окна, сигнализирующего об ошибке при выполнении операции перезагружаем Windows.

Все параметры конфигурации PHP, когда выполнилась его установка, хранятся в файле «php.ini». Вместо него есть документы, имя которых начинается с «php.ini».

  • Переименовываем любой в «php.ini» для создания файла конфигурации.
  • Затем копируем этот документ в каталог с Windows, например, «С:\ Windows».
  • Выполняем рестарт сервера через контекстное меню его иконки.

На этом установка и настройка PHP завершена. Осталось проверить работоспособность сервера. Идем в «htdocs» и создаем в папке файл с любым именем (лучше латиницей) и расширением php (например, file.php). Открываем его посредством текстового редактора и вводим следующий фрагмент кода:

Теперь открываем или разворачиваем окно браузера и вводим в адресную строку путь к созданному файлу. В нашем случае это: //localhost/mysite/file.php

Если все прошло удачно и без ошибок, увидите подобное изображение.

Обратите внимание на строку «Loaded configuration file». Там должен быть указан путь к файлу конфигурации «php.ini».

На этом установка Apache с PHP на компьютер с Windows завершена. Если вам потребуется инсталлировать какую-либо CMS, выполняется установка СУБД.

Инсталляция СУБД

  • Загружаем актуальную версию MySql для вашей версии и разрядности Windows.
  • После нажатия на кнопку «Download» кликаем по ссылке, выделенной на скриншоте, чтобы скачать MySql без регистрации.
  • Запускаем инсталлятор, функционирование которого потребует библиотеки.NET Framework редакции 4.5.
  • Принимаем условия использования MySql в Windows.
  • Перемещаем переключатель в положение «Server only».
  • Жмем по кнопке «Execute», дабы запустилась установка MySql после проверки требований.
  • Задаем пароль для MySql, который будет использоваться для предоставления доступа к базе данных.

Установка сервера со скриптовым языком и MySql завершена. Осталось лишь связать два последних компонента, дабы они смогли взаимодействовать.

Для этого открываем уже известный файл конфигурации «php.ini» и удаляем символ «;» в строчках с такими данными:

Находим текст «; extension_dir = «ext»» и заменяем его на следующий «extension_dir = «C:\Users\Public\php\ext»», где после знака «равно» задаем путь к каталогу с PHP.

Топ-пост этого месяца:  Рекурсия в PHP
Добавить комментарий