Установка и настройка Apache+PHP+mySQL на Windows вручную

5 марта 2016 г.



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

- ОС Windows 7 или новее.
- Все действия нужно проводить от имени администратора.
- Удалить все web-серверы, если они были установленные ранее (зайдите в службы services.msc и убедитесь, что там нет служб Apache или IIS)
- Если есть Skype - отключить в настройках использование 80 порта.
- Создать каталог D:\WebServers\usr\ ; В каталоге usr создать каталоги apache, php, tmp, www, log

Быстрее эта процедура пройдёт через cmd:
cd /d D:\
mkdir WebServers\usr\
cd /d D:\WebServers\usr\
mkdir apache, php, tmp, www, log

- В каталоге www создаем файлы:
- index.html с содержимым: <h1>It works!</h1>
- index.php с содержимым: <?php phpinfo(); ?>

- В системную переменную PATH добавляем:
;D:\WebServers\usr\apache;D:\WebServers\usr\apache\bin;D:\WebServers\usr\php;

! В зависимости от версии ПО и нумерации дисков все пути могут отличаться.

----------------------------------------------------------------------------------------------------------------------
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Apache 2.4 - подготовка, конфиг, установка.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-------------------------
Подготовка Apache
-------------------------
Загружаем Apache 2.4 binaries VC11 для своей системы по ссылке https://www.apachelounge.com/download/VC11/
Разархивируем содержимое (важно! именно содержимое) папки Apache24 из скаченного архива в D:/WebServers/usr/apache
Инсталлировать ничего не требуется.
-------------------
Конфиг Apache
-------------------
Меняем конфиг в httpd (D:\WebServers\usr\apache\conf\httpd.conf)

- Изменяем значение ServerRoot на "D:/WebServers/usr/apache" (строка 37)

ServerRoot "D:/WebServers/usr/apache"

- ...И значение DocumentRoot (и Direcroty) на "D:/WebServers/usr/www" (строки 243 и 244).

DocumentRoot "D:/WebServers/usr/www"
<Directory "D:/WebServers/usr/www">

---
Так же следует раскомментировать строку 218 и изменить ее на: ServerName localhost:80
(или если нужен реальный сервер а не localhost, то уже что-то типа - www.example.com:80)

ServerName localhost:80

---

Изменяем параметры хранения логов в том же файле httpd.conf (находим параметры и изменяем):

ErrorLog "D:/WebServers/usr/log/apache-error.log"
CustomLog "D:/WebServers/usr/log/apache-access.log" common

=======================
--------------------------------------
Установка Apache
--------------------------------------
Устанавливаем сервис Apache - в cmd от админа вводим

D:\WebServers\usr\apache\bin\httpd.exe -k install

Создаём ярлык на D:\WebServers\usr\apache\bin\ApacheMonitor.exe

и помещаем его в автозагрузку - shell:Startup по желанию

запускаем apache через ApacheMonitor.exe

http://localhost/ – должны увидеть It works!

------
Если что-то пошло не так. то нужно отследить где ошибка в конфигах, не занимает ли что-то 80-й порт
(netstat команда), или переустановить Apache сначала закрыв утилиту ApacheMonitor.exe потом отключив службу и удалив её командой sc delete Apache2.4

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Установка PHP
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



Загружаем tread safe vc11 x64 (PHP 5.6) или Thread Safe VC14 (PHP 7.0)
Нужен именно Thread Safe.
http://windows.php.net/download/

Распаковываем в D:\WebServers\usr\php (инсталировать не нужно)

Откріваем файл httpd.conf командой в cmd:

notepad "D:\WebServers\usr\apache\conf\httpd.conf"

добавляем в начало строки :

LoadModule php5_module "D:/WebServers/usr/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# Путь к файлу php.ini
PHPIniDir "D:/WebServers/usr/php"

изменяем значение DirectoryIndex на index.html index.php (строка 276)

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

http://localhost/index.php и убеждаемся, что PHP работает.

Делаем копию файла D:\WebServers\usr\php\php.ini-development с именем php.ini

редактируем php.ini (раском. и дописываем строки чтоб было так )

extension_dir = "D:/WebServers/usr/php/ext"
sys_temp_dir = "D:/WebServers/usr/tmp"
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
date.timezone = Europe/Kiev (или Europe/Moscow)

php -m - выполнить в cmd чтобы просмотреть список подключенных модулей

(Если всё сделано правильно, то фразы типа "php startup: unable to load dynamic library.." увидить вы НЕ должны, а просто отобразится список модулей )

-----------------------------------------------------------------------------------------------------------------
===================================================================

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



Выполняем команду в cmd: notepad "C:\Windows\System32\drivers\etc\hosts"
добавляем в файл hosts

127.0.0.1 s1.localhost
127.0.0.1 s2.localhost

Создаем каталоги для виртуальных хостов D:\WebServers\usr\www\s1.localhost
и D:\WebServers\usr\www\s2.localhost
(в cmd: mkdir "D:\WebServers\usr\www\s1.localhost" "D:\WebServers\usr\www\s2.localhost")
 ...и закидываем разные index.html

Создаем каталоги для логов: D:\WebServers\usr\log\s1.localhost и D:\WebServers\usr\log\s2.localhost
(в cmd: mkdir "D:\WebServers\usr\log\s1.localhost" "D:\WebServers\usr\log\s2.localhost")


Включить поддержку виртуальных хостов.

В файле D:\WebServers\usr\apache\conf\httpd.conf раскомментировать строку
Include conf/extra/httpd-vhosts.conf

Редактируем файл httpd-vhosts.conf
cmd: notepad "D:\WebServers\usr\apache\conf\extra\httpd-vhosts.conf"
он должен выглядеть по типу - каждому виртуальному хосту свой тэг VirtualHost:

<VirtualHost *:80>
    ServerAdmin webmaster@s1.localhost
    DocumentRoot "D:/WebServers/usr/www/s1.localhost"
    ServerName s1.localhost
    ServerAlias www.s1.localhost
    ErrorLog "D:/WebServers/usr/log/s1.localhost/error.log"
    CustomLog "D:/WebServers/usr/log/s1.localhost/access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@s2.localhost
    DocumentRoot "D:/WebServers/usr/www/s2.localhost"
    ServerName s2.localhost
    ServerAlias www.s2.localhost
    ErrorLog "D:/WebServers/usr/log/s2.localhost/error.log"
    CustomLog "D:/WebServers/usr/log/s2.localhost/access.log" common
</VirtualHost>

(Пример ниже по умолчанию)
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>


Для добавления нового виртуального хоста будет достаточно:
- создать каталог для файлов хоста в D:\WebServers\usr\www
- создать каталог для логов хоста в D:\WebServers\usr\log
- прописать имя хоста в файле hosts
- добавить блок VirtualHost в файл конфигурации виртуальных хостов.

Для проверки, переходим по двум адресам http://s1.localhost/ и http://s2.localhost/
======================================================================
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Установка MySQL 5.6
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



Загружаем MySQL Installer MSI (mysql-installer-community) по ссылке: http://dev.mysql.com/downloads/windows/installer/

Во время установки выбираем: Custom, затем удаляем из устанавливаемых продуктов всё (в правой колонке), за исключением самого MySQL сервера (автоматически будут добавлены необходимые обязательные модули).

Запускаем установку, нажав на Execute в следующем окне

переходим к конфигурированию сервера, выбираем тип Development Machine, опции оставляем как есть и нажимаем Next

Устанавливаем пароль основного пользователя root (обязательно) – здесь же можно добавить пользователей, но пока этого делать не нужно, нажимаем Next

Указываем, нужно ли сделать так, чтобы сервер запускался автоматически со стартом Windows (лучше сначала указать запуск, потом если не нужно то выключить через службы)

Нажимаем Next -> Execute -> Finish.

После через services.msc можно проверить службу MySQL.

Установка сервера MySQL завершена.

Создаём базу через cmd и после можно ставить движок Wordpress, Joomla и т.д.

mysql> show databases;
mysql> create database infobase;

После можно поставить phpMyAdmin для удобства.

Комментариев нет:

Отправить комментарий