Chillispot в 2021 году

Биллинг Easyhotspot «с давних давен» использовал контроллер доступа Chillispot в тех случаях, когда его сервер должен был выступать в качестве шлюза для локального хотспота. И приведенная ниже инструкция — это своеобразный «концентрированный опыт» по установке контроллера, наработанный за годы развития программы Easyhotspot на тысячах установок на десятках различных релизов целого ряда дистрибутивов Linux.

Считаю необходимым сразу же развеять все ваши сомнения — да-да, так и есть, вы абсолютно правы — на самом деле статья описывает установку не устаревшего и давно заброшенного Chillispot-а, а его обновленного «форка» — Coova-Chilli. Как-никак, а на дворе уже 2021-й год!…

Описываемая ниже процедура рассчитана на debian-based дистрибутивы линукса, а именно — актуальные версии Debian и Ubuntu (касательно Ubuntu — только LTS-релизы, «тестовые однодневки» не проверялись!!!). Точный список дистрибутивов, на которых приведенная ниже инструкция была неоднократно проверена, и всегда давала гарантировано положительный результат:

  • Debian stretch (9-й),
  • Debian buster (10-й),
  • Debian bullseye (т.к. официального релиза еще не было, использовались образы дисков с testing-ветки),
  • Ubuntu 16.04 LTS,
  • Ubuntu 18.04 LTS,
  • Ubuntu 20.04 LTS.

Повторив приведенные ниже указания, вы получите готовый к установке deb-пакет, «собранный» непосредственно на вашем компьютере (что предполагает «оптимизацию» его именно под ваше «железо»). Дополнительный плюс описываемого тут метода — «безразличие» к архитектуре вашей ОС: она может быть как 32-битной, так и 64-битной (в то время как «старичок» Chillispot корректно работал лишь на 32-битных дистрибутивах Linux).

Проверка проводилась в таком порядке: на «голый» компьютер «с нуля» устанавливалась «чистая» ОС (скачанный с сайта разработчиков ISO-файл образа диска операционной системы, выбранной из списка выше), после чего выполнялся приведенный ниже набор действий. Дополнительно обращаю ваше внимание — выполнение некоторых из приведенных действий (команд) требуется лишь в случае использования вами определенных дистрибутивов. Об этом будет указано ниже, непосредственно для каждой из подобных команд. Если перед командой нет указания о том, что она «Только для дистрибутива….», то ее вы выполняете в любом случае, если же есть — то лишь для указанных дистрибутивов!

Установка необходимых пакетов (программ) осуществляется со специальных серверов в интернете, именуемых «репозиториями». Поэтому, в момент установки ваш сервер (компьютер) гарантировано должен иметь доступ в интернет!

Установка выполняется в консоли и от имени администратора системы (пользователя root). Поэтому, если вы вошли в консоль (терминал) другим пользователем («обычным»), то начинать вам нужно с команды (для дистрибутивов Ubuntu):

sudo su

Если же вы работаете в Debian, то либо сразу авторизуйтесь как root, либо воспользуйтесь командой:

su

После того, как вы успешно введете необходимый пароль (для sudo нужен пароль «обычного» пользователя, а для su — пароль root-а), можете приступать к непосредственной установке. И последняя ремарка по командам в консоли — ниже есть как минимум одна команда, которая тут (в блоге) не вместилась в одну строку. Она разбита на несколько строк, в конце которых добавлен «обратный слеш» (символ «\»). Благодаря этим «слешам» вы можете скопировать в консоль сразу все строки данной команды целиком, а в единую итоговую команду их «склеит» сама консоль.

Ну что ж, с «вводными» закончили, приступаем…

Начинать нужно с обновления списков доступных «пакетов» (програмного обеспечения). Для этого введите команду:

apt-get update

Второй шаг подготовки — обновление самих пакетов (программ), установленных на вашем сервере. Для этого воспользуйтесь командой:

apt-get upgrade -y

Теперь установим т.н. «зависимости» — пакеты П/О, которые ОБЯЗАНЫ присутствовать в системе, чтобы и установка и последующая работа Coova-Chilli были успешными:

apt-get install -y autoconf automake \
build-essential daemon debhelper dpkg-dev \
gengetopt git haserl iptables libcurl4-openssl-dev \
libjson-c-dev libtool m4 make devscripts libssl-dev

(Кстати, это та самая многострочная команда, копируйте ее в консоль вашего сервера целиком!)

Учтите, что в данном списке «зависимостей» перечислен лишь самый необходимый минимум, который автоматом … «подтянет свои зависимости» 🙂 ! В итоге — на самом деле ваша ОС скачает из интернета и установит ПОЧТИ ДВЕ СОТНИ (а иногда — даже и больше) различных пакетов! Не пугайтесь, так оно и должно было случиться…

Теперь нам нужно скачать «исходники» (исходный код) самой программы Coova-Chilli. Качать их мы будем со страницы проекта Coova-Chilli, размещенной на сервере GitHub, благодаря чему вы установите на свой сервер «самую свежую» версию программы! А на вашем сервере «исходники» мы разместим в папке /usr/src (которая, вроде как и предназначена для подобных целей). Для этого, сначала перейдите в указанную папку:

cd /usr/src

Затем специальной командой скопируйте «исходники» Coova-Chilli на свой компьютер:

git clone https://github.com/coova/coova-chilli.git

После чего, войдите в папку с исходниками:

cd coova-chilli

И вот теперь одна из тех команд, которая нужна «не всем и не всегда»! Приведенную ниже команду вы должны ввести лишь в том случае, если на вашем сервере используется ОС Ubuntu 20.04 LTS, либо Debian bullseye (11):

export CFLAGS="-Wno-error=stringop-truncation -Wno-error=address-of-packed-member"

(команда подавляет реакцию компилятора на некоторые несущественные ошибки)

Запускаем компиляцию пакета:

debuild -b

Она должна завершиться успешно! В более старых дистрибутивах по окончании компиляции вам может быть дополнительно выведено подобное сообщение об ошибке:

debsign: gpg error occurred! Aborting….
debuild: fatal error at line 1045:
running debsign failed

Не переживайте, в данном случае система сообщает вам об ОШИБКЕ ПРОЦЕДУРЫ ПОДПИСИ пакета (эта «подпись» удостоверяет «подлинность» созданного пакета, но вам-то он нужен «для себя», размещать в репозиториях вы ж его не планируете?)

Выходим из папки с «исходниками» Coova-Chilli (на уровень выше):

cd ..

И пытаемся там найти только что созданный нами пакет:

ls *.deb

В ответ система должна вам выдать список файлов с указанным расширением. Таких файлов может быть один, два, а если ранее вы уже пользовались этой папкой для компиляции какого-либо другого П/О, то и более… Вам важно, чтобы в этом списке присутствовал файл coova-chilli_1.4_amd64.deb! Если вы его видите — все ОК, компиляция прошла успешно, и вам теперь есть, что устанавливать в систему.

Данную команду вы должны ввести только в случае, если на сервере используется ОС Debian buster (10) или Debian bullseye (11):

export PATH="$PATH:/sbin"

(ну есть там у них какие-то проблемы с путями)

И вот теперь непосредственно устанавливаем пакет в систему:

dpkg -i coova-chilli_1.4_amd64.deb

На этом компиляция и установка Coova-Chilli завершена! Вам осталось лишь настроить его параметры в файле /etc/chilli/defaults и запустить. Но это уже, как говорят — «совсем другая история»…

зы. и да, не забудьте разрешить старт Coova-Chilli в файле /etc/default/chilli

ззы. ну и напоследок, еще одно — жаловались мне тут люди на то, что бывают у Coova-Chilli проблемы со скоростью «аплоада» (это когда от клиентов хотспота в интернет). «Найденное на просторах интернета» решение опубликовано у меня в форуме. Говорят — помогло…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *