суббота, 20 июля 2013 г.

Настройка Windows 2012 server + IIS 8 + PHP + mySQL + FTP

   Решили сменить сервер с Linux на Windows. Причина: проблемы с администрированием первого. Постоянная борьба с конфигурациями, настройками и обновлениями, курение мануалов и форумов, а времени в обрез и нужно зарабатывать денежки, вместо занятий любовью с железяками. Становиться гуру и тратить бесценную молодость на изучение Linux также не хотелось. Учитывая опыт с десктопными компьютерами решили "А почему бы и да". Закупили толковый VDS: 2.4 гб оперативной памяти, 2 ядра, 80 гб HDD, полное еженедельное резервирование. Всё это добро всего за 17$ в месяц на serverdale.com.
   Этот пост поможет сэкономить много времени на настройках, т.к. в сети нет общего подробного описания настройки сервера и запуска PHP сайтов на Windows 2012 server. Далее простые процедуры опишем кратко, а сложные подкрепим скриншотами и подробными пояснениями. Данное руководство рассчитано на то, что пользователь имеет опыт работы с Windows 8, у которой общий с Windows 2012 Server интерфейс.

1. Подключение к удаленному серверу.
    Хостер выдал IP сервера, логин Администратор и пароль, который подходил для работы с биллингом, RDP (удаленный рабочий стол) и собственно операционной системой.
    Для начала вызываем строку запуска программ win + R, в окошке вводим mstsc. Запускается терминал, где нам нужно ввести IP сервера, логин (в нашем случае Администратор, по русски) и пароль (который ранее выслал хостер по email).
    Загружается терминал. Через него можно работать за удаленным сервером как с обычным десктопным компьютерам. Можно загружать браузер, использовать горячие клавиши, даже играть в игры. Словом, никаких командных строк и мутных репозиториев. Всё визуально: клавиатурой и мышкой. Дополнительные удобства за счёт возможности создания снимков экрана и общим буфером обмена. Например, мы можем сделать в терминале скрин и вставить его в редактор у себя на десктопе, что и сделано для этой статьи. Также можно скопировать файл, ссылку или директорию и обмениваться ими через проводник.

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

3. Установка Web Platform Installer.
    Чтобы сэкономить время на поиске и закачке системных приложений полезно для начала поставить "Установщик веб-платформы".
   Из него ставим свежий IIS и PHP. Для этого отмечаем кнопки "Добавить" напротив нужных продукта и в самом низу кликаем Установить.
   Важно! Также укажите службы FTP публикации, Модуль переопределения URL-адресов, Сжатие статического содержимого и Сжатие динамического содержимого.

4. Установка SMTP сервера.
    Для возможности отправлять почту посредством функции PHP mail(), нужно запустить соответствующий компонент. Делаем это через Диспетчер серверов -> Мастер добавления ролей и компонентов.

   Настройка его - отдельная тема, хорошо освещенная в Интернете.

5. Настройка DNS.
   Наш сервер почти готов к работе, но доступен он только по IP. Чтобы можно было подключаться к сайтам посредством доменных имет вида www.mysite.com настраиваем DNS. Проще всего использовать сервис pdd.yandex.ru
   Для этого в настройках домена у регистратора прописываем следующие параметры:
   dns1.yandex.net
   dns2.yandex.net
   Внимание! На сайте у Яндекса в подсказках ошибка и на конце стоит жирная точка (dns1.yandex.net.). Её ставить не надо.
   После этого добавляем новый сайт на pdd.yandex.ru. В настройках домена указываем A запись для хоста @, в которой в качестве значения прописываем IP нашего сервера. Также нужно добавить тот же IP для хоста WWW, чтобы наш сайт был доступен по адресу вида http://www


   Через несколько часов, когда мы настроим сайт в IIS и обновятся записи DNS, можно подтвердить статус владельца домена и настроить записи MX для почты. Если почта не нужна, этот шаг можно пропустить.

6. Добавление новых сайтов в Диспетчере служб IIS.
    Жмем правой кнопкой мыши на вкладке сайты, в контекстном меню выбираем "Добавить сайт".

    В появившемся окошке указываем в настройках имя сайта как оно будет отображаться в списке слева, путь (отдельную папку на диске, где будут лежать файлы).
    После добавления сайта можно работать с Привязками, а также добавить FTP публикацию (доступ по FTP). Вызывается их настройка из контекстного меню при клике на названии сайта правой кнопкой мыши.
    В привязках нужно указать тип (http, https, ftp), IP (указываем конкретный IP, если у нашего сервера есть много IP, или оставляем как есть по умолчанию *), имя узла (mysite.com, www.mysite.com, ftp.mysite.com) и (или) порт.

    Для http оставляем порт 80. В FTP для возможности подключения в пассивном режиме указывается порт от 1024 и выше, например, 2113. Мне показалось удобным давать каждому ftp серверу свой порт, чтобы не добавлять для каждого сайта отдельного пользователя в системе и оперативно подключать нужных (у нас всего несколько сотрудников имеют доступ к FTP). В зависимости от задач можно повесить все FTP на один порт, и разделять доступы по группам пользователей, аккаунтам пользователей или ролям.
    Должна быть включена "Обычная проверка подлинности".
    Важно! Чтобы FTP заработал, нужно перезапустить службу FTP Microsoft. Это старый баг IIS, который они до сих пор не устранили. Иначе брэндмауэр не пустит пользователя на сервер.

7. Настройки доступа к сайтам.
    Чтобы сайт стал доступен пользователям, нужно настроить права доступа.
    Открываем общий сетевой доступ к папке с сайтом. Кликаем правой кнопкой мыши по названию сайта в списке. В контекстном меню нажимаем "Редактировать разрешения". Выбираем вкладку "Доступ" и в ней "Общий доступ". Выбираем пользователей "Все" и даем им права на чтение и запись (при необходимости загрузки или изменения файлов на диске). То же самое можно сделать из Проводника для папки сайта на диске.

    Затем проверяем следующие параметры IIS:
    - Проверка пользователей. Должна быть включена Анонимная.
    - Сжатие. Включить сжатие статического и динамического содержимого.
    Параметры FTP:
    - Проверка пользователей. Должны быть отключены все кроме Обычной.
    - В "Правилах авторизации" вводим имя пользователя (или несколько имен), которому мы разрешаем доступ по FTP. Пользователя заранее добавляем в настройках Администрирования Windows: Учетные записи пользователей -> Управление учетными записями.
    - Параметры SSL FTP. Устанавливаем флажок в "Разрешать SSL-соединения" (если оставить по умолчанию "Требовать SSL-соединения", доступ без SSL сертификата будет невозможен.

8. Работа с базой данных.
    Сервер баз данных mySQL можно запустить через Установщик веб-платформы. Однако затем придется все настройки делать вручную через командную строку. Поэтому чтобы получить возможность пользоваться визуальным интерфейсом, придется зарегистрироваться на сайте http://www.mysql.com/ чтобы скачать Installer для Windows. При регистрации потребуется придумать сложный пароль, где будут заглавные, строчные буквы и цифры, затем активировать аккаунт по ссылке в e-mail.
    В процессе установки оставляем порт 3306 по умолчанию и задаем имя и пароль администратора.
    Для удаленного администрирования баз данных можно развернуть в последствие отдельный сайт с phpMyAdmin на одном из доменов или портов IP сервера, либо воспользоваться десктопным софтом прямо на сервере, например, dbForge Studio for mySQL.

9. Работа с пулом приложений.
    При добавлении новых сайтов, изменении настроек для каждого сайта запускается отдельный пул приложения (рабочий процесс).
    Важно! После удаления сайта пул остается, поэтому нужно идти в список "Пулы приложений" IIS и там вручную удалять процесс. Также после работы с URL rewrite или именами доменов обязательно нужно перезапускать соответствующий пул, чтобы изменения вступили в силу.

10. Работа с htaccess.
    IIS 8 версии не видит настройки htaccess, поэтому нужно импортировать их в файл web.config с помощью родного модуля URL rewrite (Переопределение URL-адресов) и нажать кнопку Применить в окне справа сверху.

Ссылки на полезные материалы:

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

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