Skip to content

linkonoid/debian-keenetic-caddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

debian-keenetic-caddy

Run Caddy server on Zyxel Keenetic in Debian chroot

Установка Caddy-сервера на Zyxel Keenetic Giga II (Версия NDMS 2.09.C.1.0-1) под Debian (http://keenetic-gi.ga/2017/06/21/debian-via-chroot/)

Скачиваем http://keenetic-gi.ga/assets/2017-06/debian_keenetic.tgz на флешку и действуем по инструкции: http://keenetic-gi.ga/2017/06/21/debian-via-chroot/. Всё описанное работает без сбоев и проблем на Zyxel Keenetic Giga II (Версия NDMS 2.09.C.1.0-1) - обращаем внимание на прошивку (на некоторых версиях не завелось). Можно пробросить порты за NAT и настроить как маленький домашний web-сервер c выходом в мир (установить Hugo - генератор статических страниц или что-то из мира PHP) - опять же не забываем про то какой у Вас IP (статический, динамический, белый, серый и т.п., т.к. ddns служба на роутере может не заработать как нужно). Сразу предупреждаю - работает заметно хуже, чем на моём VPS с SSD (но опять же - вопрос с чем сравнивать... т.к. у Zyxel Keenetic Giga II все порты USB2.0, а на Zyxel Keenetic Giga III - USB3.0 + процессор несколько мощнее). Установку PHP, Mysql не рассматриваю - ставятся стандартно через apt-get install (возможно ещё придётся добавить репозитарии, но для данного случая поставилось всё из родных, только версии пакетов несколько староваты).

  1. На Zyxel-Keenetic Debian работает в chroot окружении (подмена корневого каталога) и из этого следуют проблемы: если кратко, то из описания установки запуска Caddy как сервиса на Debian из поставки исходников Caddy не работает команда setcap (sudo apt-get install libcap2-bin, при запуске setcap нет привязки capabilities к исполняемому файлу). И есть ещё проблема путей для нашего окружения, для её решения добавил в исходник префикс "/opt/".
  • Вопрос решается скачиванием initd+services+caddyfile.zip файла из моего репозитария и копированием caddy (модифицированный sysvinit /etc/init.d/caddy) в папку /etc/init.d и назначением на него прав 0755 от пользователя root.
  1. Второй вопрос - нужно скомпилировать Caddy-сервер для Mips-процессора.
  • Просто скачайте готовый исполняемый файл caddy из моего репозитария и поместите его в папку /usr/local/bin с назначением прав 0755 от пользователя www-data
  1. Прописываем пути в файле конфигурации Caddyfile (они должны начинаться с "/opt/home/caddy/" ) и запускаем сервис "service caddy start|stop|restart|reload|status от root-пользователя. Права на папку и подпапки caddy выставьте от пользователя www-data. Пример файла конфигурации Caddyfile в архиве initd+services+caddyfile.zip

  2. Прописать автозагрузку caddy в /etc/ndm/ services.txt (на случай перезагрузки роутера), пример файла в архиве initd+services+caddyfile.zip

  3. Теоретически данный способ работает на любом железе (роутеры, Android-приставки и т.д), где возможен запуск Debian в chroot-окружении (нужно скомпилировать Caddy для соответствующей платформы и настроить должным образом сервисы)