Pull to refresh
2686.82
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Развертываем Wordpress на VPS с Windows Server 2012. Пошаговое руководство

Reading time3 min
Views17K


Последнее время многие из наших клиентов сталкиваются с различного рода проблемами при развертывании своего сайта на виртуальном сервере с ОС Windows Server 2012 R2. В связи с этим мы приняли решение написать максимально подробное руководство, в котором пользователи смогут найти ответы на свои вопросы.

В данном руководстве мы развернём WordPress на связке IIS + PHP + MySQL, а также приведём некоторые рекомендации по настройке каждого из этих компонентов. Делать это мы будем на VPS от RUVDS с конфигурацией 2CPU, 2GB RAM, 20GB SSD. Итак, приступим…

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


Сначала устанавливаем распространяемые пакеты для Visual Studio 2013 (https://www.microsoft.com/ru-ru/download/details.aspx?id=40784)

Далее скачиваем установщик MySQL отсюда (mysql-installer-community-5.6.28.0.msi) и запускаем. Нам понадобится установить сервер и редактор.








Приступаем к настройке. Разработчики MySQL рекомендуют использовать тип конфигурации «Server Machine» при установке MySQL на сервере, на котором также будет запущен и веб-сервер. Данная опция в первую очередь влияет на объем потребляемой памяти. Снимаем флаг с «Open Firewall port for network access», так как веб-сервер будет также находится на данном сервере, а работать с бд мы будем с помощью локального визуального редактора бд MySQL Worbench, который мы также установили на данный сервер. На следующем окне создаём пользователя wp. Под этой учетной записью наш сайт будет работать с базой данных.




На всех следующих окнах просто жмем «Next». На данный момент предлагаемые там настройки по умолчанию нам подойдут.





В файле конфигурации C:\ProgramData\MySQL\MySQL Server 5.7\my.ini добавляем поле bind-address=localhost в разделе [mysqld] для того, чтобы mysql принимал TCP-подключения только на порт кольцевого интерфейса.
Перезапускаем службу MySQL57 в оснастке управления службами services.msc
Запускаем интерпретатор командной строки (cmd.exe) и выполняем:

C:\Users\Administrator>sc queryEx MySQL57 && netstat -nao | findstr 3306

SERVICE_NAME: MySQL57
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 1196
FLAGS :
TCP 127.0.0.1:3306 0.0.0.0:0 LISTENING 1196



Итак, сервер запущен и слушает нужный нам порт.

Создадим бд db1, используя установленный нами MySQL Workbench:






Готово!

Установка IIS+ PHP + FastCGI



Устанавливаем IIS
Сейчас нам требуется установить IIS с модулем FastCGI. Открываем панель управления сервером и кликаем «Add new roles and features»:




Теперь нам необходимо активировать службу CGI (вместе с ней активируется и модуль FastCGI)








Устанавливаем PHP5.6



Скачиваем php 5.6 (php-5.6.22-nts-Win32-VC11-x86.zip). Будем использовать Non-thread safe версию, так как FastCGI сам обеспечивает однопоточное выполнение.
Также для корректной работы php нам понадобиться пакет C++ Redistributable 2012 (https://www.microsoft.com/en-us/download/details.aspx?id=30679).
Распаковываем php в папку c:\PHP. Далее переименовываем файл php.ini-production в php.ini, открываем и устанавливаем следующие параметры:

cgi.force_redirect = 0 - рекомендуется отключить, так как не поддерживается IIS (http://php.net/manual/ru/security.cgi-bin.force-redirect.php)
open_basedir="c:\inetpub\wwwroot\wordpress"; - директория с вашим сайтом на wordpress
error_log = c:\PHP\php_errors.log - Лог файл, в котором будет отражена информация об ошибках
date.timezone = UTC
php_mysqli.dll - это расширение необходимо wordpress для работы с бд



Проверяем конфигурацию, выполнив в командной строке:

php -i


Создаём сайт в IIS



Сначала настроим обработчик для запросов к вашему сайту.




Теперь необходимо произвести некоторые настройки модуля FastCGI.





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





Теперь создадим сайт в IIS. Сначала удалим сайт по умолчанию (Default Web Site).






Наш сайт готов. Но прежде, чем пытаться получить к нему доступ по http, нам необходимо открыть 80 порт TCP.
Открываем оснастку firewall.cpl и добавляем соответствующее правило для входящих подключений:









Правило добавлено!

Далее создадим файл test.php со следующим содержимым:

<?php
phpinfo();


Поместим этот файл в корневую директорию вашего сайта (c:\inetpub\wwwroot\wordpress) и откроем в браузере ваш «сайт»: ip_вашего_сервера
Должны получить примерно следующее:



Удаляем файл test.php. Теперь можно наконец-то устанавливать Wordpress.

Установка Wordpress



Скачиваем Wordpress (wordpress-4.5.2-ru_RU.zip).
Распаковываем архив и копируем содержимое папки wordpress в нашу корневую директорию (c:\inetpub\wwwroot\wordpress).
Теперь предоставим права на запись в директорию c:\inetpub\wwwroot\wordpress и её поддиректории группе IIS_USRS



Открываем в браузере наш сайт по адресу ip_вашего_сервера и идём по шагам установки:







Авторизуемся и попадаем в личный кабинет CMS Wordpress!



Теперь откроем главную страницу по адресу ip_вашего_сервера.



Задача решена!
Tags:
Hubs:
+1
Comments27

Articles

Information

Website
ruvds.com
Registered
Founded
Employees
11–30 employees
Location
Россия
Representative
ruvds