Приветствую хабрачитателей!
В сегодняшнем посте я хочу поделиться опытом настройки веб-сервера Synology на ОС DiskStationManager (DSM) v3.2-1955.
Эта инструкция, по моему мнению, подойдёт для любой модели NAS-сервера Synology у которых все отличия только в аппаратной части. Программная часть крутится на DSM, которая регулярно обновляется.
Недавно я приобрёл NAS-сервер SynologyDS 712+.

Мотивацией к написанию поста послужили ряд непонятных мне проблем при поднятии веб-сервера. Хочу систематизировать полученные знания и опыт в данном посте.
Всё началось с того, что после настройки сервера по мануалу, приложенному на CD, не смог поднять виртуальные хосты и, как следствие, добиться нужной мне работоспособности н��скольких сайтов на одном сервере.
Если вы планируете «подвязать» ваши сайты на базу данных (БД) рекомендую сразу поставить phpMyAdmin (PMA) для удобства работы с БД (мне БД пока не нужна из-за специфичности необходимой мне задачи):
Благодарю за внимание.
P.S. Жду конструктивную критику и апдейты к посту.
В сегодняшнем посте я хочу поделиться опытом настройки веб-сервера Synology на ОС DiskStationManager (DSM) v3.2-1955.
Эта инструкция, по моему мнению, подойдёт для любой модели NAS-сервера Synology у которых все отличия только в аппаратной части. Программная часть крутится на DSM, которая регулярно обновляется.
Введение
Недавно я приобрёл NAS-сервер SynologyDS 712+.

Мотивацией к написанию поста послужили ряд непонятных мне проблем при поднятии веб-сервера. Хочу систематизировать полученные знания и опыт в данном посте.
Начало
Всё началось с того, что после настройки сервера по мануалу, приложенному на CD, не смог поднять виртуальные хосты и, как следствие, добиться нужной мне работоспособности н��скольких сайтов на одном сервере.
Установка phpMyAdmin
Если вы планируете «подвязать» ваши сайты на базу данных (БД) рекомендую сразу поставить phpMyAdmin (PMA) для удобства работы с БД (мне БД пока не нужна из-за специфичности необходимой мне задачи):
- Клацаем по кнопке быстрого доступа вверху рабочей области DSM и открываем «Центр пакетов»

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

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

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

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

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

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

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

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

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

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

- В неё вы и будете заливать ваш будущий сайт. А для начала зальём просто тестовый файл index.php с кодом вида:
<?
print 'Это мой первый сайт на домашнем сервере';
?>
- Заходим в браузере по домену/поддомену, который мы указали в виртуальных хостахи видим наше сообщение. Радуемся и машем. :) Всё. Сервер настроен и можно приступать к работе над своим/своими сайтом/сайтами.
Доступ по FTP
- «Панель управления» → «FTP»

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

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

В данном случае у меня для FTP 20 порт проброшен на один сервер, 21 порт на другой, поэтому не удивляйтесь.
Благодарю за внимание.
P.S. Жду конструктивную критику и апдейты к посту.
