Приветствую хабрачитателей!

В сегодняшнем посте я хочу поделиться опытом настройки веб-сервера Synology на ОС DiskStationManager (DSM) v3.2-1955.

Эта инструкция, по моему мнению, подойдёт для любой модели NAS-сервера Synology у которых все отличия только в аппаратной части. Программная часть крутится на DSM, которая регулярно обновляется.

Введение

Недавно я приобрёл NAS-сервер SynologyDS 712+.
image
Мотивацией к написанию поста послужили ряд непонятных мне проблем при поднятии веб-сервера. Хочу систематизировать полученные знания и опыт в данном посте.

Начало

Всё началось с того, что после настройки сервера по мануалу, приложенному на CD, не смог поднять виртуальные хосты и, как следствие, добиться нужной мне работоспособности н��скольких сайтов на одном сервере.

Установка phpMyAdmin

Если вы планируете «подвязать» ваши сайты на базу данных (БД) рекомендую сразу поставить phpMyAdmin (PMA) для удобства работы с БД (мне БД пока не нужна из-за специфичности необходимой мне задачи):
  • Клацаем по кнопке быстрого доступа вверху рабочей области DSM и открываем «Центр пакетов»

    image

  • В Центре пакетов выбираем вкладку «Доступно» и находим / устанавливаем PMA

    image

  • После установки PMA переходим во вкладку «Установлено» Центра пакетов и запускаем PMA

    image

  • Проверим PMA — заходим по своему внешнему IP сервера, либо по локальному 192.168.Х.Х и далее дописываем в адресе /phpMyAdmin/, т.е. как это у меня: 192.168.1.39/phpMyAdmin/ — по умолчанию логин root, пароль оставляем пустым;

  • Видим такую картину

    image

  • Конечно же пароль для root после этого нужно сменить и при необходимости создать новых пользователей БД со своими правами — всё это делается уже в PMA.
Запуск и настройка веб-сервера
  • Заходим в «Панель управления» → «Веб-службы»

    image

  • Активируем чекбоксы «Включить Web Station» и «Включить MySQL»

    image

  • Клик на кнопке «Виртуальный хост» и создаём виртуальные хосты под свои сайты

    image:
    1. «Имя подпапки» — имя подпапки в папке «web», в которой будет лежать ваш сайт;
    2. «Имя хоста»- имя хоста по которому будет происходить обращение к вашему сайту:
      1. В моём случае я у своего хостинг-провайдера создал поддомен download.abandongames.ru;
      2. Для него в настройках/управлении DNS отредактировал А-запись прописав СТАТИЧЕСКИЙ внешний IP своего сервера;
      3. Через какое-то время (до нескольких часов) происходит обновление DNS записей и с вашего домена/поддомена будут идти запросы на ваш сервер;
      4. Линк для наглядности

        image
    3. Если у вас нет СТАТИЧЕСКОГО IP, а есть динамический, который вам каждый раз при подключении к Интернет выдаёт интернет-провайдер, то вам поможет «Панель управления» → «DDNS»

      image

      — регистрируетесь, указываете имя хоста для DDNS и вписываете это имя в поле виртуальных хостов;

    4. «Протокол» и «Порт» можно не трогать, если у вас нет необходимости в этом.
  • Для дополнительных настроек заходим на вкладку «Настройки PHP» и донастраиваем «по нуждам» опции и расширения PHP

    image

  • Всё. Веб-сервер настроен и уже работает.
Запуск сайта
  • Заходим на сервер, например, по локальному IP через:
    1. Проводник Windows;
    2. Файловый менеджер;
    3. Средствами DSM (проводник)
  • Видим примерно такую файловую структуру

    image

    — для нас важна папка «web»;

  • Заходим в папку «web» и видим ту самую подпапку (в моём случае abandongames), которую мы прописали в виртуальных хостах в поле «Имя подпапки»

    image

  • В неё вы и будете заливать ваш будущий сайт. А для начала зальём просто тестовый файл index.php с кодом вида:
    <?
    print 'Это мой первый сайт на домашнем сервере';
    ?>

  • Заходим в браузере по домену/поддомену, который мы указали в виртуальных хостахи видим наше сообщение. Радуемся и машем. :) Всё. Сервер настроен и можно приступать к работе над своим/своими сайтом/сайтами.
Доступ по FTP
  • «Панель управления» → «FTP»

    image

  • Активируем чекбокс «Включить службу FTP»;
  • Рекомендую активировать чекбоксы «Включить поддержку имени файлов UTF-8» и «Включить Журнал передачи по FTP»;
  • Настроить ограничения как вам нужно. У меня так:

    image

  • Всё. Доступ по FTP активирован.
Тонкости, на которые стоит обратить внимание
  1. Самое главное — не нужно создавать подпапки «www» в папках с сайтами в которых будет наш index.php, как это написано в мануале к серверу! Т.е. в /web/abandongames/www/ — папка «www» не нужна!
  2. Общая папка «web» также может содержать index.htm, index.html или index.php, в данном случае подпапка «www» так же не требуется;
  3. Для генерации своих страниц ошибок необходимо положить в корень общей папки «web» файлы missing.html, missing.htm или missing.php. Вероятней всего, что для подпапок с сайтами так же применимо это правило, т.е. /web/abandongames/missing.php;
  4. Запрещено создавать в общей папке «web» подпапки «blog», «photo», «photosrc», «webdefault»;
Некоторые рекомендации
  1. Закройте 5000 порт, если не управляете сервером удалённо, а если управляете, то пропишите в настройках роутера только разрешённые IP с которых вы планируете входить в DSM;
  2. При установки PMA необходимо изменить пароль доступа для root и при необходимости создать новых пользователей БД (в PMA) со своими правами;
  3. При манипуляциями файлами сайтов работать нужно в бинарном режиме (FTP);
  4. Если что-то на сайте не работает (какой-то функционал не зависящий от кривых рук), первоначально нужно проверить права доступа на файл/папку сайта в FTP режиме и выставить соответствующие права;
  5. Пробросить на роутере необходимые порты

    image

    В данном случае у меня для FTP 20 порт проброшен на один сервер, 21 порт на другой, поэтому не удивляйтесь.
Надеюсь своим постом я облегчу поднятие домашнего веб-сервера Synology.

Благодарю за внимание.

P.S. Жду конструктивную критику и апдейты к посту.