Пользователь
0,0
рейтинг
30 июня 2013 в 18:14

Разработка → Простой веб-сервер на базе NAS

CMS*
image

По многочисленным просьбам пользователей решил таки написать инструкцию, как организовать практически полноценный LAMP-сервер на базе D-Link DNS-325/345.
Многие гуру администрирования схватятся за сердце, будут пить валерьянку и рекомендовать мне, курить что-то менее забойное ;)
И я с этим полностью согласен. Ну не на счет курить, а насчет того, что так делать очень и очень не рекомендуется. Не рассчитаны аппаратные параметры подобного устройства на работу полноценного LAMP, не потянет он хорошую нагрузку. Ну, как говорится, хозяин барин. Раз пользователь хочет, нужно его хотя бы направить в правильное русло. Иначе каждый начинает изобретать свой велосипед, строить что-то на базе fun_plug & optware, иногда просто следуя разрозненным инструкциям, не всегда понимая, что он делает.
В качестве веб-сайта в данном примере будет применяться одна из самых известных на сегодня CMS систем Joomla!.. Безусловно, вместо нее можно применить как другие системы (Drupal, WordPress, SugarCRM и т.п.), так и самописные сайты с использованием PHP & MySQL.
Почему Joomla!? Ну наверно просто первый попавшийся на глаза Адд-Он CMS. Ну и еще я нашел довольно не плохое описание Joomla!
Раз хорошее описание есть, рассказывать про настройку и работу с Joomla! я не буду, тем более сам в ней, к сожалению, пока не силен, использую ее просто как веб-болванку.
И так, для начала нам понадобиться установить на NAS терминального демона. Настоятельно рекомендую sshd, а не telnetd. Брать тут dlink.ua/dns, после установки обязательно сменить пароль.
Адд-Он ставиться так:
1. Качаем сам Адд-Он на локальный диск. Если он запакован архиватором – распаковываем.
2. Заходим в веб-интерфейс DNS-325/345 раздел «Application Management / Add-Ons» и устанавливаем Адд-Он.

image

3. Запускаем его.

image

4. По тому же принципу скачиваем, устанавливаем и запускаем Joomla!

image

5. Для MySQL в данном Адд-Оне не предусмотрели свой собственный логин/пароль, видимо подразумевается, что будет предварительно установлен Адд-Он phpMyAdmin, у которого админские логин/пароль – admin/admin. Установите phpMyAdmin.
6. Проверяем установленные Адд-Оны.

image

sshd тут не светится, потому, что является чистым CLI (command line) клиентом, и веб-интерфейса не имеет. «Вы сурка не видите, но он есть!» ;)
Если мы открываем «Applications / Joomla» видим следующее

image

Нажимаем «Launch»

image

Нажимаем «Далее» и следуем инструкциям.

image

Имя пользователя и пароль для MySQL те, которые используются в phpMyAdmin. По умолчанию это admin/admin. Продолжите установку.
В данном случае в «Панели управления» Joomla! мы получаем

image

если выбираем «Сайт» видим

image

Дальнейшая настройка, руссификация и конфигурирование Joomla!, как я писал, согласно инструкции.
На данном этапе сайт с Joomla!’ой доступен по ссылке
http://ip_address_dns-3x5/Joomla/

image

Все веб-интерфейсы Адд-Онов и его собственный находяться в каталоге /var/www/
Т.е., если вы используете, например vTigerCRV – это будет каталог /var/www/vTigerCRM, а ссылка соответственно
http://ip_address_dns-3x5/vTigerCRM/

Теперь определимся с TCP-портом. Базовый интерфейс NAS остается на стандартном порту http – 80. Это конечно можно поменять, что fun_plug и делает, но я бы этого не рекомендовал. Поэтому рассматривать смену TCP-порта для базового интерфейса NAS не буду. Кто хочет изменить – пожалуйста, но сами. И так предлагаю порт 81. Тем более часто сталкиваюсь с такой проблемой – у некоторых операторов «исторически» присутствуют фильтры на некоторые порты, включая 80-ый. Когда-то это защищало абонента от лишнего трафика, во времена, когда инет считался помегабайтно. Сейчас в основном unlimited, но правила фильтрации на большинстве базовых маршрутизаторов у операторов остались. Хотя служба поддержки может об этих фильтрах ничего и не знать.
Ну вернемся к настройке веб-сайта. Этот момент, для «не любителей линукса», будет самый тяжелый. Если вы установили sshd, вам нужен ssh-клиент. Их в общем-то большое множество, но я лично под Windows пользуюсь PuTTY. Кто-то предпочитает сетапить, но я всегда пользуюсь версией «For unattended access»
И так, мы установили ssh сервис на свой NAS. Запускаем Putty и делаем следущее

image

Нажимаем «Open», получаем предложение для первого захода согласиться с сертификатом

image

Говорим «Да». На предложение «login as» вводим «root» и 2 раза Enter. Видим

image

Не забудьте сменить пароль!
Создаем копию конфига базового веб-сервера.
cp /etc/lighttpd/lighttpd.conf /mnt/HD/HD_a2/Nas_Prog/Joomla/

Редактируем файл конфигурации.
vi /mnt/HD/HD_a2/Nas_Prog/Joomla/lighttpd.conf

Для входа в режим редактирования нажмите «i», для возврата в режим просмотра нажмите «Esc». Меняем следующие строки:
server.document-root = "/var/www/"
на
server.document-root = "/var/www/Joomla/"

server.port = 80
на
server.port = 81

$SERVER["socket"] == ":80" {
на
$SERVER["socket"] == ":81" {

$SERVER["socket"] == "[::]:80" {
на
$SERVER["socket"] == "[::]:81" {

index-file.names = ( "web/login.html","index.php" )
на
index-file.names = ( "index.html","index.php" )

Удаляем секцию HTTPS. Удалить строку – 2 раза нажать «d».
$SERVER["socket"] == "172.17.17.150:443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/server_v4_bond0.pem"

Закрываем файл с сохранением. Нажимаем «:x» + Enter.

image

Если по какой-то причине нужно выйти без сохранения нажимаем «:q!» + Enter.
Проверяем работоспособность веб-сервера. Для этого запускаем
для DNS-345
/usr/sbin/lighttpd-angel -D -m /usr/lighty_lib -f /mnt/HD/HD_a2/Nas_Prog/Joomla/lighttpd.conf &

для остальных моделей
/usr/sbin/lighttpd-angel -D -m /usr/local/lib -f /mnt/HD/HD_a2/Nas_Prog/Joomla/lighttpd.conf &

Если высветится строка с «server started» — вы все сделали верно. Если «exited normally with exitcode: 0» — где-то ошибка, например что-то сделали не так при редактировании или порт 81 может быть занят другой программой. Вариантов может быть много, поэтому присылайте мне скриншот или тект ошибки, постараюсь помочь.
Ну будем считать, что сервер запустился. Проверяем в броузере
http://ip_address_DNS:81/

image

Теперь добавим веб-сервер в автозапуск. Для этого возвращаемся в PuTTY.
vi /mnt/HD/HD_a2/Nas_Prog/Joomla/init.sh

Добавляем строку запуска в конец файла и выходим с сохранением.
/usr/sbin/lighttpd-angel -D -m /usr/local/lib -f /mnt/HD/HD_a2/Nas_Prog/Joomla/lighttpd.conf &

image

С настройкой и автозапуском веб-сервера все, «не любители линукса» могут вздохнуть с облегчением, а гуру глотнуть очередную порцию валерьянки ;)
Теперь организуем доступ к вашему сайту из Интернета. Для этого, на маршрутизаторе нужно сделать «проброс порта». Вкратце расскажу на примере D-Link DIR-651. Для всех остальных – читайте документацию на свой маршрутизатор.
Заходим в веб интерфейс маршрутизатора. Для большинства это адреса по умолчанию
http://192.168.0.1/ или http://192.168.1.1/

image

В данном случае Имя пользователя «admin», пароль «admin».

image

Заходим в «Расширенные настройки» раздел «Межсетевой экран / Виртуальные серверы».

image

Нажимаем «Добавить».

image

«Шаблон» выбираем «Virtual Server HTTP». «Имя» вводим любое, например Joomla. «Внешний порт» оставляем стандартный для HTTP – 80. Внутренний меняем на тот, который вы назначили своему веб-серверу. В нашем случае 81. «Внутренний IP» — это IP-адрес вашего DNS-325/345. В данном примере 192.168.0.100. Нажимаем «Изменить» и «Сохранить».
В случае, если 80-ый порт со стороны провайдера таки закрыт, «Внешний порт» тоже меняем, например на 81.

image

Теперь любой пользователь Интернет, введя в броузере ваш внешний статический IP-адрес или доменное имя, привязанное к этому IP-адресу, увидит ваш сайт.

image

В заключение хочу сказать несколько слов.
Повторю, что NAS – это все же не веб-сервер и подобное лучше делать на специализированных машинах. Но с другой стороны, если сайт не предусматривает активных посещений или является информационным внутрикорпоративным, в принципе можно и так. Хотя не стоит забывать, что в выбранной вами CMS системе может быть дырочка в безопасности. А «доброжелателей» в Интернете много.
Все же, если вы решились на использование NAS в качестве веб-сервера, надеюсь эта инструкция вам поможет. Если в процессе будут возникать вопросы, на dlink.ua/dns есть форма Feedback. Пишите, как говорится помогу чем смогу. На этой же странице имеются другие интересные Адд-Оны. Новые Адд-Оны оперативно выкладываются на страничку Facebook’а. Пользуйтесь на здоровье!
@vtverdohleb
карма
3,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (14)

  • 0
    Спасибо, содержательная статья. Сам пользуюсь DNS-325 и вполне доволен его функционалом.
    Кстати, на сайте D-Link есть официальный Add-on «Blog», который позволяет получить Wordpress «искаропки». Это первый попавшийся мне на глаза аддон CMS.
    • 0
      Спасибо за поддержку. Только вот минусов налепили не понятно с чего :( Видимо фаза луны не в пользу DNS.
      А CMS & CRM на DNS'ах все вполне сносно работают, правда очень не торопливые ;)
  • 0
    Очередной пиар D-Link…
    Но как обладатель Synolojy вставлю свои пять копеек: и веб-сервер, и джумлу с друпалом, и даже phpmyadmin можно запросто поставить пакетами без лишних телодвижений. Вопрос только в целесообразности, но как автор правильно подметил — на вкус и цвет все фломастеры разные, и если очень хочется, то можно ;)
    • 0
      Не сомневался, что кто-то да вспомнит, что у Synology есть встроенный DNS-сервер и конфигуратор виртуальных сайтов. Я даже хотел сделать Адд-Он с подобными возможностями. Но хорошо подумав отказался. Ну не задача это для NAS'a, а крутить на нем не один сайт, а много виртуальных, да еще и bind — по-моему это совсем перебор.
      А насчет «Очередной пиар D-Link» — я же не расписывал бессмысленно какой великолепный DNS-325, я описал решение на конкретном устройстве. Да в большинстве статей на Хабре описывается какие-то конкретные софт или железо. Их тоже обвинять в очередном пиаре?
      Я плотно занимаюсь конкретно темой NAS D-Link, я их неплохо изучил. А что же описывать как не то, с чем хорошо знаком? И тема возникла не на ровном месте, а как раз из большого кол-ва вопросов пользователей «как это сделать».
  • 0
    Многие гуру администрирования схватятся за сердце, будут пить валерьянку и рекомендовать мне, курить что-то менее забойное ;)

    Да ну что вы. Я LAMP на D-Link DIR-320 поднимал, там даже друпал кое-как работал.
    • 0
      У меня Астериск на DIR-320/A1 почти год в качестве офисной АТС проработал. Но пришлось отказаться, т.к. тянул не более 3-4 одновременных соединений (5 и более начинались искажения), да и ФС на флешке вещь довольно не надежная, особенно с учетом постоянного свопа из-за нехватки ОЗУ (несколько раз ФС сыпалась). Но с другой стороны, если это для дома или совсем небольшого офиса, да с usb hdd вместо флешки — вполне жизнеспособно.
      А насчет гуру — это далеко не первая моя статья про Адд-Оны на NAS D-Link. И во всех были высказывания спецов о том, что такие вещи для NAS абсолютно противопоказаны. В какой-то степени должен согласится с таким высказыванием, но только не со словом «абсолютно».
      • 0
        Не вижу ничего плохого, в использовании дома или в офисе на 3-7 сотрудников. Зачем переплачивать, если можно использовать имеющееся железо.
  • 0
    С vi это вы хитро придумали. Все дочитают статью, чтобы узнать, как из него выйти :-)
    • 0
      Как-то не уловил юмора… Как выйти из vi с сохранением и без сохранения четко написано и далеко не в конце статьи. Те, кому эта тема интересна и так дочитают до конца, а кому не интересна — они и до первого упоминания про vi не дойдут.
    • 0
      Тут должен быть комментарий про то, как «я первый раз из него 15 минут выходил». Вы к этому?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.