Apache php mysql windows 2012


Jun 7, 2014

Well it is finally time to start playing a bit more with Microsoft’s latest server OS Windows Server 2012 R2. One of the many things to have on the list is getting the WAMP (Windows/Apache/MySQL/PHP) stack working. So in this post we will get installed and running Apache 2.4.9, MySQL 5.6.19 and PHP 5.5.13 on Windows Server 2012 R2. Also, instead of 32 bit apps we will be install 64 bit.

You will need to download and install  Visual C++ Re-distributable for Visual Studio 2012 from http://www.microsoft.com/en-us/download/details.aspx?id=30679#. You will also need .NET 4.0 installed as a prereq for MySQL and Visual C++ 2010 re-distributable http://www.microsoft.com/en-us/download/details.aspx?id=14632.

Download 64 bit Apache (httpd-2.4.9-win64-VC11.zip) from http://www.apachelounge.com/download/. Download and extract the zip and copy it to the root of C:\. This will be C:\Apache24 when it is all done.

Download php-5.5.13-Win32-VC11-x64.zip Thread Safe from http://windows.php.net/download/ . Extract and rename folder to php and move to C:\.

Extract php-5.5.13-Win32-VC11-x64.zip.  Edit Apache’s config file, c:\Apache24\conf\httpd.conf and add the following lines to the bottom of the file.

LoadModule php5_module "c:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"

While we are at it we can add index.php to Apache’s list just incase we want to have a starting page as php.

Find Directory index and add index.php

DirectoryIndex index.html index.php

Next we need to input a value  for ServerName variable. You will have to un-comment it. Save the changes to the config file. Next move to the Register Apache Service step.

Register Apache Service

Now let’s register Apache as a service. Open a command prompt and type.

c:\apache24\bin\httpd -k install

If do not want Apache starting automatically at start-up/reboot:

GUI Way

  • START | RUN
  • Type in services.msc, hit Enter or click OK
  • Locate Apache2 service and double-click (or right-click for Properties)
  • Find the caption Startup type: (in the middle of the dialog box), use the pull-down and select Manual
  • Click OK

Command line

C:\> sc config Apache2.4 start= demand

Add

;c:\php;c:\Apache24; c:\Apache24\bin;

to PATH in Environment variables. PATH ENVIRONMENT (System Properties | Advanced | Environment Variables | System variables | Path).
Example:
;c:\php;c:\apache24;c:\apache24\bin;

Now lets check Apache settings by issuing the command, c:\Apache24\bin\httpd -S

PHP Edits

Now we have to do a few edits to the php.ini file to tell it to load support for mysql and the location for the extensions. Since there is not a already set php.ini file we need to rename one of the two examples to php.ini.

Rename c:\php\php.ini-development to php.ini

Now let’s edit php.ini
Uncomment extension directory.

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"

Uncomment mysql modules
extension=php_mysql.dll
extension=php_mysqli.dll

Save the changes and open a command prompt. Restart Apache to re-read the changes made to PHP.

Check to make sure it shows loaded modules.

C:\> c:\php\php -m

So now we have Apache running and configured to use php. Lets create a file called info.php, save it and see if Apache parses the info correctly to display the results.

Open Notepad or your favorite Windows editor and type and save the following.

 <?php
phpinfo();
?>

Open your browser and type, localhost/info.php for the location and you should receive alot of information about PHP.

MySQL
Download and install mysql-5.6.19-win64.msi. Change installation directory to C:\MySQL\MySQL Server 5.6 instead of Program files as there could be permissions issues. Once the installation is completed you can let the configuration wizard run and setup the database server. The defaults will work just fine, but remember what you set the password to for root.

PHPMyAdmin
PHPMyAdmin is a very nice tool to use for administering your MySQL installation.
Download and install phpmyadmin-3.4.10.1-english.zip.
Extract the file and move to c:\apache24\htdocs. Rename directory to phpmyadmin.
Create a config directory under phpmyadmin. Open a browser and type localhost/phpmyadmin/setup/index.php to complete the installation.

At this point you should have a working Apache / PHP / MySQL installation running and ready for you to start developing !!!

Время идет :) верней несется :). Сегодня будем устанавливать и настраивать на Windwos Server 2012 Data Center расположенный в облаке Azure следующие компоненты:

  • Apache 2.2.25 (Win32 x86) с OpenSSL 0.9.8y (download)
  • PHP 5.4.17 (Win32, VC9 x86 Thread Safe) (download)
  • MySQL 5.6.12.2 (x64) (download)

Так как мы хотим подготовить сервер для реального домашнего хостинга, то сразу создадим структуру каталогов для нашего сервера и сайтов. Исполняемые (бинарные) файлы, а так же файлы конфигурации Apache, PHP, MySQL и т.д., мы разместим на одном диске (в моем случае диск F), а файлы наших сайтов, баз данных и лог файлы на другом диске (в моем случае диск G).

A0001

И так поехали!
1) В корне диска F: создаем папку iServer и в ней создаем папку PHP
2) Прописываем путь к папке PHP в системную переменную PATH. Для этого выполняем следующие операции:

  • нажимаем клавиши  Windows+Break
  • выбираем Advanced System Settings
  • далее выбираем Environment Variables
  • в части System Variables выбираем параметр PATH, клацаем по нему два раза и добавляем к концу строки наш путь (с точкой запятой перед ним) ;F:\iServer\PHP

A0002

  • Затем клацаем везде ОК и делаем выход из системы и снова входим. Это нужно для того чтобы переменная Path получила новое значение.
  • Запускаем cmd.exe и проверяем что переменная Path получила новое значение введя команду set и жмакнув по Enter

A0003

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

5) Скачиваем дистриб Apache под Win32 с поддержкой SSL (на момент написания статьи httpd-2.2.25-win32-x86-openssl-0.9.8y.msi). И запускаем на выполнение.
6) На этом окошке смело жмем Next

A0005

7) Принимаем лицензионное соглашение

A0006

8) Внимательно и вдумчиво читаем вот это…

A0007

9) Заполняем все поля как на скриншоте

A0008

10) Выбираем Custom

A0009

11) Выбираем опции как на скриншоте и путь установки F:\iServer\Apache

A0010

12) Жмакаем Install…

A0011

13) После установки в трее должен появиться значек консоли управления сервисом — Apache 
Если по нему дважды клацкнуть, то должно открыться окошко управления сервисом

A0013

14) Проверяем установку запустив браузер и введя в строке адреса localhost. Видим страницу с надписью It Works!. Радуемся жизни. Что-то уже работает.

A0014

15) Далее отыскиваем файлик hosts, который обычно находится по пути C:\WINDOWS\system32\drivers\etc\ и добавляем в него запись 127.0.0.1 test.ru и сохраняем.

A0015

Это укажет браузеру где искать наш тестовый домент test.ru. Кстати, заметьте, что в файле уже присутствует запись 127.0.0.1 localhost. Именно по этому браузер и узнал ip сайта localhost, когда мы ввели это имя в строке адреса браузера. Проверяем теперь это в браузере.

A0016

Но не шибко радуемся. Так как это еще не мультихостинг. :) Для него еще много что надо настроить.
16) Теперь будем прикручивать PHP. На текущий момент это версия PHP 5.4.17. Качаем дистриб в ZIP архиве. Еще раз повторюсь не инсталер с расширением .MSI, а именно ZIP архив. Файлик на момент написания статьи называется php-5.4.17-Win32-VC9-x86.zip, вот его и качаем.
17) Разархивируем содержимое скачанного архива в папку F:\iServer\PHP
18) Прикручивать PHP к Apache будем как модуль Apache. Для этого идем в каталог F:\iServer\Apache\conf, и добавляем в файлик httpd.conf в окончание блока инструкций LoadModule (в строки 130 и 131) две строки:
LoadModule php5_module «F:/iServer/PHP/php5apache2_2.dll»
PHPIniDir «F:/iServer/PHP/»

19) Находим в файлике httpd.conf инструкции AddType, в конец этого блока (в моем случае в строку 409) вставляем инструкцию:
AddType application/x-httpd-php .php
20) Находим в файле httpd.conf блок инструкций DirectoryIndex. И добавляем в инструкцию DirectoryIndex указание на файл index.php. Чтобы в конечном виде инструкция выглядела так:
DirectoryIndex index.html index.php
Сохраняем httpd.conf и выходим.
21) Переименовываем или копируем файл php.ini-production (в каталоге F:\iServer\PHP) в файл php.ini.
22) Находим в файле php.ini строку short_open_tag = Off. И приводим ее к виду short_open_tag = On
23) Создаем в каталоге R:\Server\Apache\htdocs файлик phptest.php и пишем в нем следущий код:
<?
phpinfo();
?>
Сохраняем файлик.
24) Останавливаем и снова запускаем Apache через консоль управления Apache. После перезапуска Apache можно открыть окно управления сервисом Apache дважды кликнув по иконке в трее. Должны увидеть следующее окошко:

A0017

Обратите внимание, что в статусной панели сервиса управления Apache отображается, что так же загружен модуль PHP и указана его версия.
Если вы этого не увидели, то сверните окошко и разверните его снова. Если и это не помогло, значит, что то сделали не так и 25 шаг, скорее всего у вас сделать не получится.
25) Тестируем работу PHP. Набираем в браузере http://localhost/phptest.php и видим следующую картинку и радуемся жизни. PHP заработал:

A0018

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

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

A0019

  • Даем учетной записи iUser право на запись в папку F:\iServer\Apache\logs. И только в эту папку. По умолчанию в другие папки доступа на запись и не должно быть. Потом, после переноса файлов логов сервера в другое место, права на эту папку для iUser можно убрать, так как они будут не нужны.
  • Через оснастку управления службами устанавливаем запуск сервиса Apache2.2 под учетной записью iUser

A0020

  • Перезапускаем службу Apache2.2
  • Ну и проверяем работу зайдя по адресу http://localhost

27) Настраиваем виртуальные хосты. На 4 шаге мы создали структуру расположения сайтов на нашем сервере. Теперь, так же, выдаем права для учетной записи iUser на запись в папку G:\iLogs, а на папку G:\iSites (со всеми ее подкаталогами), только на чтение, за исключением подкаталогов log, для которых даем право на запись.
Кроме того, для некоторых CMS типа Joomla, нужно будет дать разрешение отдельно и только на запись в файл конфигурации. Это еще одна из настроек безопасности для сайта. Ну это так для общего развития инфа :)
28) Идем в папку F:\iServer\Apache\conf\extra и редактируем файл httpd-vhosts.conf. Приводим его к вот такому виду:

A0021

29) Раскомментируем в файле httpd.conf строчки
LoadModule logio_module modules/mod_logio.so
Include conf/extra/httpd-vhosts.conf

30) В файле httpd.conf находим строку DocumentRoot «F:/iServer/Apache/htdocs» и меняем ее на DocumentRoot «G:/iSites/localhost/www»
31) В файле httpd.conf находим строку <Directory «F:/iServer/Apache/htdocs»> и меняем ее на <Directory «G:/iSites»>
32) В файле httpd.conf находим строку ErrorLog «logs/error.log» и меняем ее на ErrorLog «G:/iLogs/error.log»
33) В файле httpd.conf находим строку CustomLog «logs/access.log» common и меняем ее на CustomLog «G:/iLogs/access.log» combinedio
34) В каталоге G:\iSites\localhost\www создаем файлик index.html со следующим содержимым:
<H1>It is my LocalHost</H1>
35) В каталоге G:\iSites\testru\www создаем файлик index.html со следующим содержимым:
<H1>It is my TEST.RU</H1>
36) Рестартуем Apache. Заходим браузером по адресу http://localhost и видим следующие:

A0022

Заходим по адресу test.ru и видим следующее:

A0023

Радуемся реально работающему виртуальному хостингу.
Если не видим, то не радуемся. И ищем где ошиблись.
37) Языковые настройки. Редактируем файлик F:\iServer\Apache\conf\extra\httpd-languages.conf. Комментируем все строки AddLanguage с теми языками, которые нам не нужны. Я оставил только строки:

AddLanguage en .en
AddLanguage ru .ru

Находим строку LanguagePriority и убираем там все языки, которые не нужны. У меня эта строчка выглядит так:

LanguagePriority en ru

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

В файле httpd.conf расскомментируем строчку Include conf/extra/httpd-languages.conf.

38) Включаем SSI. В файле httpd.conf находим строки:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

И расскоментируем их.
Находим блок <Directory «G:/iSites»> и в нем строку Options Indexes FollowSymLinks. Приводим ее к виду Options Indexes FollowSymLinks Includes

Сохраняем файл.
39) В каталоге G:\iSites\localhost\www создаем файл ssi.html со следующим содержимым:

SSI тест прошел успешно — ssi.html!

Затем, там же создаем файл ssitest.shtml со следующим содержимым:

<!—#include virtual=»/ssi.html» —>

40) Рестартуем Apache. В броузере вводим адрес http://localhost/ssitest.shtml и видим следующее:

A0024

Радуемся что работает русский язык и SSI. Если не увидели, то упорно ищем ошибку.
41) Вот и настала очередь мускула. Скачиваем x64 версию 5.6.12.2 MySQL (эта последняя на момент написания статьи и файлик назывался mysql-installer-community-5.6.12.2.msi). Стоит обратить внимание что хоть файл msi 32 разрядный, но он устанавливает обе версии x32 или x64 в зависимости от платформы. И так, клацаем по нему и понеслась установка…
сперва мелькнет вот такой экран

A0025

потом такой

A0026

и вот на этом выбираем  Install MySQL Products

A0027

42) Соглашаемся с лицензией и жмем Next

A0028

43) Ставим еще одну галку… ну не надо нам проверять наличие новой версии… и так новую уже качнули самую новую

A0029

44) Выбираем пункт меню Custom и каталоги где будут размещаться бинарные файлы и файлы баз данных. Восклицательный знак в желтом треугольнике предупреждает, что каталог для данных уже существует. Но я сам его создал и он пустой, так что все ок. Жмем Next…

A0030

45) Теперь кастомизируем :)

A0032

И жмакаем Next
46) Тут может потребовать еще установить недостающие компоненты типа библиотек VC, если попросил, то качаем, ставим и продолжаем установку. У меня уже стоял редистрибютив VC10, так что просто жмем Next

A0033

47) Терь жмем Execute

A0034

48) Отекзекютили… :) и жмем Next

A0035

49) Опять жмем Next

A0036

50) Выбираем все как на скрине и жмем Next

A0037

51) Задаем root пароль для MySQL и создаем первого пользователя – администратора баз данных
обращаем внимание что поле Current Root Password оставляем пустым

A0038

A0039

A0040

И жмем Next
52) Задаем как будет называться наш сервис MySQL в службах винды и так же пользователя под которым она будет запускаться. И очень важно!!! Пользователю iUser надо  дать разрешение на запись в папку G:\iMySQLData и все ее подпапки.

A0041

53) Задаем где будут жить логи скуля и жмем Next

A0042

54) Опять жмем Next

A0043

55) Жмем Finish

A0044

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

«F:\iServer\MySQL\MySQL Server 5.6\bin\mysql.exe» -h localhost -P 3306 -u root -p

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

show databases;

видим это:

A0045

И радуемся если видим. Если не видим, чешем репу и ищем ошибки.

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

и раскомментируем их. Затем находим строку mysql.default_port = и приводим ее к виду mysql.default_port = 3306. Далее находим строку mysql.default_host = и приводим ее к виду mysql.default_host = localhost
Находим строку extension_dir = «ext», расскомментируем ее и приводим ее к виду extension_dir = «F:/iServer/PHP/ext»
Указывая этим самым где находятся файлы расширений PHP.

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

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

<?php
$db = mysql_connect("localhost", "root", "ВАШ ROOT ПАРОЛЬ К MySQL")
or
die("Could not connect : " . mysql_error());
mysql_select_db("test",$db) or die ("Could not select database");

$date = mysql_query("SELECT CURDATE()") or die ("Query failed: " . mysql_error());
echo mysql_result($date, 0);
mysql_close($db);
?>

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

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

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

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

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

A0046

 
Радуемся жизни… Если видим. Да и если даже не видим, все  равное радуемся :)

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

LoadModule rewrite_module modules/mod_rewrite.so

Далее ищем конструкцию

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

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

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

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

Redirect /index.html http://ya.ru

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

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

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

В этой статье мы рассмотрим процесс установки Apache 2.4.x и PHP 5.6.x на стандартной 64-разрядной версии Windows Server 2012/2008.

Бинарные версии Apache Windows Server в исходном репозитории недоступны, и мы вынуждены обратиться к сторонним дистрибутивам, таким как apachehaus.com. Я использую версию httpd-2.4.20-x64-vc11-r2.zip, которую можно скачать здесь. Она скомпилирована с помощью VC ++ 2012 (VC11). Убедитесь, что сервер установлен с применением VC11 64bit. Иначе могут возникнуть ошибки, такие как отсутствие необходимых модулей, или Apache не будет запускаться. Его можно загрузить прямо с зеркала Microsoft. Двоичные файлы PHP можно скачать отсюда. Я использую php-5.6.22-Win32-VC11-x64.zip, который скомпилирован с помощью vc11.

Установка Apache

Сначала загрузите последнюю версию Apache HTTP Server win32 и извлеките файлы в удобное место, например «C:Apache ». Если Apache установлен в «C: Program Files Apache2.2», скрипты cgi и PHP могут некорректно находить пути к файлам из-за пробелов в именах каталогов.

В этом примере мы создадим каталог Apache. Используя «Блокнот», откройте файл httpd.conf. Этот файл находится в подкаталоге /conf. Обратите внимание, что в конфигурационных файлах Apache в полных путях к файлу должны использоваться слэши «/».

Теперь можно попробовать установить Apache на Windows7. Откройте командную строку и перейдите в каталог «c:Apache bin» и введите команду httpd -k install:

c:Apachebin>httpd -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
httpd: Syntax error on line 39 of C:/Apache/conf/httpd.conf: ServerRoot must be
a valid directory

Из приведенного выше фрагмента кода видно, что служба была установлена, но с ошибкой. Корневой каталог сервера нужно исправить до запуска службы, если значение каталога установки по умолчанию было изменено (по умолчанию используется значение /Apache2.4 ). В данном случае это / Apache:

Define SRVROOT "/Apache"
ServerRoot "${SRVROOT}"

После этого дважды кликните по исполняемому файлу монитора Apache Server или через командную строку введите start / stop / restart the service. Примеры команд для CMD приведены в следующем фрагменте кода:

c:Apachebin>httpd -k start
c:Apachebin>httpd -k restart
c:Apachebin>httpd -k stop
The 'Apache2.4' service is stopping.
The 'Apache2.4' service has stopped.

Если при запуске сервера Apache PHP Windows выводится сообщение об ошибке (приведено ниже), проверьте, запущен ли уже процесс httpd, выполняется процесс IIS и прослушивается порт 80. IIS является установленным по умолчанию веб-сервером, он настроен на порт 80:

c:Apachebin>httpd -k start
(OS 10048)Only one usage of each socket address (protocol/network address/port)
is normally permitted. : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)Only one usage of each socket address (protocol/network address/port)
is normally permitted. : AH00072: make_sock: could not bind to address 0.0.0.0:
80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Если в данный момент IIS запущен, его можно отключить через «Диспетчер серверов». В командной строке введите «services.msc ». Найдите службу «web publishing platform », дважды кликните по ней мышью, чтобы открыть свойства службы и остановите ее. Чтобы запретить ее запуск при следующей перезагрузке, можно поменять тип запуска на ручной. Кроме этого, если на сервере установлен Skype, он также конфликтует с портом 80.

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

Установка PHP

Сначала загрузите двоичные файлы PHP и разархивируйте их в папку «C:php ». Затем переименуйте файл c:phpphp.ini-development в php.ini. Откройте его и измените значения нескольких переменных.

Измените значение переменной «extension_dir » на “C:phpext ”. По умолчанию она закомментирована или для нее установлено значение «/ext «. Также можно включить в php.ini необходимые расширения, удалив символ «;» в начале строки:

;extension=php_mbstring.dll
;extension=php_exif.dll 
extension=php_mysql.dll
extension=php_mysqli.dll

Кроме этого нужно задать для переменной sessions.save_path папку временных файлов Windows (то есть C:Temp ).

Каталоги PHP и Apache также необходимо добавить для переменных путей среды. Откройте Панель управления — Система и безопасность — Местоположение системы и добавьте;C:php; C:Apachebin” в конец списка «Системные переменные пути» и нажмите «ОК», чтобы сохранить изменения.

Перед перезапуском службы Apache Windows необходимо указать в файле httpd.conf модули PHP. Добавьте следующие строки в конец файла httpd.conf под раздел «LoadModule »:

LoadModule php5_module "c:/php/php5apache2_4.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

Также нужно добавить «index.php » в раздел DirectoryIndex в файле httpd.conf, как показано ниже:

<IfModule dir_module>
 DirectoryIndex index.html index.php
</IfModule>

После внесения изменений сохраните файл httpd.conf и закройте его.

Чтобы изменения вступили в силу, необходимо перезапустить службу Apache. Сделать это можно через монитор Apache Service или из командной строки — «httpd -k restart«.

Создайте новую страницу «index.php » в папке C:Apachehtdocs и поместите в нее любой php-код. Например, я использовал следующий код:

После сохранения изменений в файле откройте в браузере http://localhost/index.php, и если все в порядке вы увидите страницу phpinfo.

Мы завершили установку Apache PHP на Windows Server 2012. В файлах httpd.conf и php.ini многие модули отключены или закомментированы. Их можно включить, удалив комментарии и перезапустив службы Apache. Для доступа к сайтам / страницам из внешней сети убедитесь, что к файлу httpd.exe разрешен публичный доступ в Панель управления — Система и безопасность — Брандмауэр Windows — Разрешенные приложения.

Вадим Дворниковавтор-переводчик статьи «Installing Apache and PHP manually in Windows server 2012/2008»

The stuffs we need to go through:

Windows Server 2012 R2
Apache 2.4
PHP 5.5
Mysql 5.6
Phpmydmin 4.4

Be ready with a system having Windows Server 2012 R2 installed.

You will need to then download and install  Visual C++ Re-distributable for Visual Studio 2012 from http://www.microsoft.com/en-us/download/details.aspx?id=30679#. You

will

also need .NET 4.0 installed as a prerequisite for MySQL and Visual C++ 2010 re-distributable http://www.microsoft.com/en-us/download/details.aspx?id=14632.

Download 64 bit Apache (httpd-2.4.9-win64-VC11.zip) from http://www.apachelounge.com/download/VC11/. Download and extract the zip and copy it to the root of C:\. This

will be C:\Apache24 when it is all done.

Download php-5.5.13-Win32-VC11-x64.zip Thread Safe from http://windows.php.net/download/ . Extract and rename folder to php and move to C:\.

Extract php-5.5.13-Win32-VC11-x64.zip.  Edit Apache’s config file, c:\Apache24\conf\httpd.conf and add the following lines to the bottom of the file.

LoadModule php5_module “c:/php/php5apache2_4.dll”
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir “C:/php”

While we are at it we can add index.php to Apache’s list just incase we want to have a starting page as php.

Find Directory index and add index.php

DirectoryIndex index.html index.php

Next we need to input a value  for ServerName variable. You will have to un-comment it. Save the changes to the config file. Next move to the Register Apache Service

step.

Register Apache Service

Now let’s register Apache as a service. Open a command prompt and type.

c:\apache24\bin\httpd -k install

You can chek the Apache service by

START | RUN ( as administrator )
Type in services.msc, hit Enter or click OK
Locate Apache2 service

Add

;c:\php;c:\Apache24;c:\Apache24\bin;

to PATH in Environment variables. PATH ENVIRONMENT (System Properties | Advanced | Environment Variables | System variables | Path).
Example:
;c:\php;c:\apache24;c:\apache24\bin;

Now lets check Apache settings by issuing the command, c:\Apache24\bin\httpd -S

PHP Edits

Now we have to do a few edits to the php.ini file to tell it to load support for mysql and the location for the extensions. Since there is not a already set php.ini

file we need to rename one of the two examples to php.ini.

Rename c:\php\php.ini-development to php.ini

Now let’s edit php.ini
Uncomment extension directory.

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = “./”
; On windows:
extension_dir = “ext”

Uncomment mysql modules
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_bz2.dll

Save the changes and open a command prompt. Restart Apache to re-read the changes made to PHP.

Check to make sure it shows loaded modules.

C:\> c:\php\php -m

So now we have Apache running and configured to use php. Lets create a file called info.php in C:\Apache24\htdocs\ ,

Open Notepad or your favorite Windows editor and type the following.

<?php
phpinfo();
?>

save it, retart apache and see if Apache parses the info correctly to display the results.

Open your browser and type, localhost/info.php for the location and you should receive alot of information about PHP.

MySQL

Download and install mysql-5.6.19-win64.msi. Change installation directory to C:\MySQL\MySQL Server 5.6 instead of Program files as there could be permissions issues.

Once the installation is completed you can let the configuration wizard run and setup the database server. The defaults will be development mode and it will work just

fine, but remember what you set the password for root or admin db user.

PHPMyAdmin

PHPMyAdmin is a very nice tool to use for administering your MySQL installation.
Download and install phpMyAdmin-4.4.15.1-all-languages.zip.
Extract the file and move to c:\apache24\htdocs. Rename directory to phpmyadmin.

Create a folder “config” under C:\Apache24\htdocs\phpmyadmin\ . Open a browser and type localhost/phpmyadmin/setup/index.php to complete the installation.

that’s it, At this point you should have a working Apache / PHP / MySQL installation running and ready to be host on.


1. Download and install apache.2.4

https://home.apache.org/~steffenal/VC14/binaries/httpd-2.4.38-win64-VC14.zip

Unzip to the apache24 directory on the d drive

Configure apache

Modify the httpd.conf file

# Definition

Define SRVROOT «d:\apache24»

ServerRoot «${SRVROOT}»

Listen 80

# Open the module

LoadModule access_compat_module modules/mod_access_compat.so

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule allowmethods_module modules/mod_allowmethods.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule authn_core_module modules/mod_authn_core.so

LoadModule authn_file_module modules/mod_authn_file.so

LoadModule authz_core_module modules/mod_authz_core.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule autoindex_module modules/mod_autoindex.so

LoadModule cgi_module modules/mod_cgi.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

LoadModule include_module modules/mod_include.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

LoadModule ssl_module modules/mod_ssl.so

# Link php library file

LoadModule php7_module «D:/php-7.1.26/php7apache2_4.dll»

AddHandler application/x-httpd-php .php

PHPIniDir «D:/php-7.1.26»

<IfModule unixd_module>

User daemon

Group daemon

</IfModule>

ServerAdmin [email protected]

<Directory />

    AllowOverride none

    Require all denied

</Directory>

DocumentRoot «${SRVROOT}/htdocs»

<Directory «${SRVROOT}/htdocs»>

Switch to the apache24/bin directory of disk d and register apache as a system service

Httpd.exe –k install –n “apache24”

Open directlyhttp://localhost

Shows whether it is ok, indicating normal operation

2. Download configuration php

Note that it must be the VC14 x64 Thread Safe version to have the apache link dll file

Php download address:

https://windows.php.net/download#php-7.1

x86_64 bit, and link dll library file of apache

VC14 x64 Thread Safe (2019-Jan-10 00:43:38)  version

php.ini file configuration:

max_execution_time = 30

max_input_time = 60

memory_limit = 256M

error_reporting = E_ALL

display_errors = On

display_startup_errors = On

log_errors = On

log_errors_max_len = 1024

post_max_size = 105M

default_mimetype = «text/html»

default_charset = «UTF-8»

# Open extension

extension_dir = «D:\php-7.1.26\ext»

file_uploads = On

# Upload temporary directory

upload_tmp_dir = D:\temp

upload_max_filesize = 105M

max_file_uploads = 20

default_socket_timeout = 60

extension=php_curl.dll

extension=php_mbstring.dll

extension=php_mysqli.dll

[mail function]

SMTP = localhost

smtp_port = 25

mail.add_x_header = On

[SQL]

sql.safe_mode = Off

Create a php file for printing Php information in the directory where the website data is stored: D:\apache24\htdocs, verify that the php environment is ok

<?php

Echo phpinfo();

?>

Visit http://localhost/info.php

3. Install mysql5.7

Download the mysql msi installation package

It contains x64 and x32 bit versions

Create an account dbadmin, dbapass

testphp7 operation mysql database code:

create database china charset=utf8;

create table users(id int,username varchar(255));

insert into users(id username) values(1,’tom’);

<?php
$servername = "localhost";
$username = "dbadmin";
$password = "dbpass";
$dbname = "china";
 
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " .  $conn->connect_error);
} 
 
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
    //  Output Data
    while($row = $result->fetch_assoc()) {
        echo $row['id'].','.$row['username'].'</br>';
    }
} else {
    echo  "0 results";
}

//Add record

$insertSql = "insert into users(id, username) values(18, 'hanmeimei')";
$result = $conn->query($insertSql);
echo $result . "\n";


$conn->close();
?>

 

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Сколько гигов нужно для установки windows 10
  • Windows 10 темная тема обои
  • Easy display manager для windows 10
  • Hkey local machine software microsoft windows currentversion oeminformation
  • Marvell 88se6111 windows 10