Как установить и настроить php 5 для запуска с apache на windows

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

Apache HTTPD или просто «апач» чаще всего используется для обработки запросов и отправки сформированных скриптами ответов по протоколам HTTP и HTTPS

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. Поиском по файлу найдите и измените значение на . Найдите и измените значения и на .

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

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

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

2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на , а также значение CustomLog на common. Сохраните файл httpd.conf с перезаписью.

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

2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду .

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

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.

Использование готового пакета PHP

PHP стал стандартом для Маков начиная с macOS версии 10.0.0. Включение PHP
в стандартный веб-сервер делается простым раскомментированием нескольких
строк в конфигурационном файле Apache httpd.conf в то время как
CGI и/или CLI включены
по умолчанию (доступны для использования терминальными программами).

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

Стандартная установка с использованием mod_php, который включается
для стандартного веб-сервера macOS (сервер по умолчанию доступен
через системные настройки) включает следующие шаги:

Найдите и откройте конфигурационный файл Apache. По умолчанию он
расположен по пути /private/etc/apache2/httpd.conf

Использование Finder или Spotlight для
нахождения файла может быть не простым, так как он располагается
в приватном пространстве и принадлежит пользователю root.

В текстовом редакторе найдите следующие строки и раскомментируйте их
удалив символ # из начала строки (эти строки обычно находятся в разных местах файла):

# LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c

Запомните путь к файлу, так как при сборке PHP в будущем
может потребоваться изменить эти строки.

Убедитесь, что выбранные модули будут обрабатываться как файлы PHP (.php .html и .inc).

Так как следующие выражения уже содержатся в
httpd.conf (по состоянию на Mac Panther), единожды
включив PHP, файлы .php будут автоматически обрабатываться им.

# Если PHP разрешен, он будет обрабатывать файлы .php и .phps.
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# Часто требуется, чтобы index.php рассматривался как
# страница по умолчанию, если она прямо не указана.
# Сделать это можно следующим образом

DirectoryIndex index.html index.php

Убедитесь, что DirectoryIndex загружает индексный файл по умолчанию

Данное поведение задается в httpd.conf. Обычно используются
index.php и index.html.
По умолчанию index.php разрешен. Если требуется, то отключите.

Определите местоположение php.ini или используйте настройки по умолчанию

Обычно на macOS он расположен по пути
/usr/local/php/php.ini и вызов
phpinfo() выведет соответствующую информацию

Если php.ini не используется, PHP будет использовать значения по умолчанию.
Также обратите внимание на FAQ
.

Как найти или установить DocumentRoot

DocumentRoot — это корневая директория веб-сервера, в которой лежат
скрипты сайта. Обычно, путь по умолчанию, он равен
/Library/WebServer/Documents, но его можно изменить
на
любой другой в httpd.conf

Также, для индивидуальных
пользователей, DocumentRoot может быть установлен как
/Users/yourusername/Sites

Создание файла с phpinfo()

Функция phpinfo() отображает информацию о PHP.
Создайте в DocumentRoot скрипт с таким кодом:

Перезапустите Apache и запросите через браузер созданый выше файл.

Для перезапуска выполните sudo apachectl graceful в терминале
или
выполните stop/start для «Personal Web Server» в системных настройках
macOS. По умолчанию, локальные файлы можно загрузить введя в строке браузера
URL, например, так:
http://localhost/info.php, или используя DocumentRoot
в локальной директории пользователя, таким образом:
http://localhost/~yourusername/info.php

CLI (или в более старых версиях CGI) именуется как
php и содержится в /usr/bin/php.
Откройте терминал, прочитайте раздел документации PHP
командная строка, и запустите
php -v для проверки установленной версии PHP.
Вызов функции phpinfo() также покажет эту информацию.

Мой опыт настройки Apache x64 под Windows 8.1 x64

Доброго времени суток, уважаемые читатели. В этой статье я хочу поделиться с вами личным опытом настройки Apache под Windows 8.1 x64. Было время – установил я себе Windows 8.1 и думаю, раз уж пошло на то, «дай ка» Я и Apache подниму! И как обычно меня он очень порадовал (табличка: «Сарказм»). Пришлось повозиться почти целую ночь, чтобы поднять сервер. И мне это удалось! После этого я решил тем самым написать небольшую статью по настройке Apache, чтобы другой человек не тратил на это столько же времени, сколько Я. После нескольких минут раздумий, решил написать пошаговую инструкцию, которая будет состоять из нескольких разделов: Ну что ж, приступим.

Подготовка папок

C:\Server\

C:\Server\web – это папка в которой у нас будут лежать программы

C:\Server\web\apache\

C:\Server\domains\localhost\

C:\Server\domains\localhost\public_html\

Настройка Apache

www.apachelounge.com/download/win64

www.microsoft.com/ru-ru/download/details.aspx?id=14632

C:\Server\web\apache\

C:\Server\web\apache\bin\

C:\Server\web\apache\conf\

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

Теперь можно отразить фактическую файловую структуру 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. Directory «D:/www/htdocs»> # свойства папки с 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. Directory «D:/www/cgi-bin»> # свойства папки серверных сценариев…
  9. TypesConfig D:/www/conf/mime.types # описания MIME-типов
  10. Include «D:/www/conf/extra/httpd-manual.conf» # настройка для сопроводительной документации

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

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

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

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

Для установки потребуется как минимум операционная система 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».

Как в Windows для Apache подключить SSL сертификаты

При использовании сертификатов для настройки реального веб-сайта, удобнее создать виртуальный хост с примерно следующими настройками:

LoadModule ssl_module modules/mod_ssl.so
 
Listen 443

    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "/путь/до/www.example.com.crt"
    SSLCertificateKeyFile "/путь/до/www.example.com.key"

Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже.

В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.

В директории C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. В самый низ добавьте туда строки:

LoadModule ssl_module modules/mod_ssl.so

Listen 443

    DocumentRoot "c:/Server/data/htdocs/"
    ServerName localhost:443
    ServerAdmin admin@example.com
    ErrorLog "${SRVROOT}/logs/error-ssl.log"
    TransferLog "${SRVROOT}/logs/access-ssl.log"

    SSLEngine on

    SSLCertificateFile "C:\Server\certs\localhost.crt"
    SSLCertificateKeyFile "C:\Server\certs\localhost.key"

Обратите внимание, что вам может понадобиться отредактировать следующие директивы

  • DocumentRoot — укажите путь до сайтов на сервере
  • ServerName — укажите имя вашего хоста, если то не локалхост

Обратите внимание, что мы не просто поместили эти строки в конфигурационный файл, а заключили их в контейнер VirtualHost. Дело в том, что если этого не сделать, то директива SSLEngine on включит SSL для всего веб-сервера, и даже при попытке открыть сайты на 80 порту, эти подключения будут обрабатываться как HTTPS, что вызовет ошибку «Bad Request

Your browser sent a request that this server could not understand». По этой причине эти настройки помещены в контейнер виртуального хоста. Обратите внимание, что используется ключевое слово _default_ — то есть сюда будут собираться все запросы на 443 порт если они не предназначены для другого хоста, который также настроен. То есть при желании вы можете создать больше виртуальных хостов для работы с HTTPS, при этом вместо _default_ указывайте IP хоста или символ * (звёздочка).

После этого сохраните изменения, закройте файл и перезапустите веб-сервер.

c:\Server\bin\Apache24\bin\httpd.exe -k restart

Для проверки сделанных изменений, перейдите по адресу https://localhost/ (протокол HTTPS). Поскольку сертификат является самоподписанным, то появится такое сообщение:

К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».

Как уже было сказано, валидные сертификаты нужно покупать, либо использовать тестовые. В чём подвох использования тестовых сертификатов? Формально, в какой-то момент их могут перестать выдавать, но, на самом деле, уже сейчас многие сайты годами живут с такими тестовыми сертификатами. На современных хостингах настроено автоматическое подключение и продление таких сертификатов — это просто супер удобно. Обычно на хостингах предусмотрено некоторое количество абсолютно бесплатных SSL сертификатов с автоматическим продлением, но за небольшую плату (10 рублей в месяц), можно подключить тестовые сертификаты для любого количества сайтов. Пример такого хостинга здесь.

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

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

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

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

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

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

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

  • index.html с содержимым: It works!
  • index.php с содержимым: <?php phpinfo(); ?>

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

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

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

Если кто не знает, как найти то место, где меняется PATH, прочитайте .

Замечания!

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

Related

  • Tutorial

    Автор выбрал фонд Free and Open Source Fund для получения пожертвования в рамках программы Write for DOnations. Хотя используемая по умолчанию установка сервера [Apache…

  • Tutorial

    Веб-сервер Apache — популярный способ размещения сайтов в Интернете. Согласно оценкам, в 2019 году на базе этого веб-сервера работали 29% всех активных сайтов. Он обеспечивает разработчикам преимущества гибкости и надежности. Используя Apache, администратор может настроить один…

  • Tutorial

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

  • Tutorial
    Использование Cron для автоматизации задач в Ubuntu 18.04

    Предыдущая версия данного обучающего руководства была написана Шоном Льюисом. Cron — это хронологический демон-планировщик задач, работающий в операционных системах типа Unix, включая дистрибутивы Linux. Cron запускается в фоновом режиме,…

Установка MySQL

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

Нажимаем 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 >

Жмем Next >

Жмем Next >

Жмем Finish

Осталось проверить успешно ли прошла установка. (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 (если она изначально закомментирована, то не надо ничего с ней делать).

Шаг 1. Создание сертификата

Для боевого сервера, сертификат должен быть получен от доверенного центра сертификации — либо локального для компании, либо коммерческого.

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

cd /etc/httpd

cd /etc/apache2

cd /usr/local/etc/apache24

* 1-й пример для CentOS, 2-й — Ubuntu/Debian (apache версии 2.x), 3-й — FreeBSD (apache версии 2.4).

Создаем папку для сертификатов и переходим в нее:

mkdir ssl ; cd ssl

И генерируем сертификат:

openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»

* в данном примере созданы открытый и закрытый ключи на 4 года (1461 день); значения параметра subj могут быть любыми в рамках тестирования.

Сервер Apache на OS Windows

Материал для программистов, разрабатывающих веб-приложения, желающих установить и использовать на персональном компьютере сервер Apache, для предварительного просмотра, проверки и отладки кода, в процессе разработки.
Данный раздел написан после многочисленных наблюдений за попытками, желающих (не очень хорошо знакомых с директивами и конфигурированием), установить на свой компьютер различные версии Web-сервера Apache. Большинство этих попыток заканчивалось на установке сервера Apache — получения страницы с сообщением — Вы видите это вместо ожидаемой страницы… или для версии 2.2. — It works!. Незначительная часть — на конфигурировании главного сервера, довольно редко — на установке виртуальных хостов. Просмотр материалов в сети Интернет, посвященных установке сервера Apache, позволяет сделать вывод — руководствуясь ими, не имеющий опыта пользователь не сможет добиться желаемого результата.
Поэтому, для установки и настройки на домашнем компьютере сервера Apache 2.4, предлагается на первом этапе:

  • установить Web-сервер Apache
  • внести изменения в три файла конфигурации

Записать на диск две простейшие индексные страницы:

  • для главного сайта сервера Apache
  • для разрабатываемого вами сайта  — 

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

Шаг 2. Установка модуля SSL для Apache

Прежде, чем устанавливать модуль, выполняем команду:

apachectl -M | grep ssl

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

ssl_module (shared)

Спускаемся к шагу 3 данной инструкции.

Иначе, устанавливаем httpd ssl_module.

Для CentOS:

yum install mod_ssl

Для Ubuntu/Debian:

a2enmod ssl

Для FreeBSD:

Открываем файл конфигурации apache:

ee /usr/local/etc/apache24/httpd.conf

* подразумевается, что используется apache 2.4.

Находим и снимаем комментарии со следующих строчек:


LoadModule ssl_module libexec/apache24/mod_ssl.so

Include etc/apache24/extra/httpd-ssl.conf

И ставим комментарии в следующих строках:

#
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
#

Чтобы настройки применились, необходимо перезапустить веб-сервер:

systemctl restart httpd

или

service apache2 restart

Ссылка на основную публикацию