Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:manual:install_ubuntu:ru [2015/12/05 17:50] 127.0.0.1 внешнее изменение |
abills:docs:manual:install_ubuntu:ru [2018/03/09 14:08] (текущий) bohdan [Установка RADIUS] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | =====Установка ABillS + Ubuntu + FreeRadius2 + RLMPerl===== | + | =====Установка ABillS : Ubuntu===== |
+ | ** Версия системы под которую писалась инструкция [[http://releases.ubuntu.com/16.04.2/ubuntu-16.04.2-server-amd64.iso|Ubuntu Server 16.04]]** | ||
- | Загрузить пакет можно по адресу [[http://sourceforge.net/projects/abills/]]\\ | + | При установке выбраны только опции: |
+ | * standart system utilities | ||
+ | * OpenSSH Server | ||
- | # cd /usr/ | + | Работаем в консоли, переходим в режим ''root'': |
- | # wget http://skylink.dl.sourceforge.net/project/abills/abills/0.56/abills-0.56.tgz | + | # sudo su |
- | + | ||
- | # tar zxvf abills-0.5x.tgz | + | Сначала обновим систему и пакеты |
- | # cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl | + | # apt-get update -yq && apt-get upgrade -yq && apt-get dist-upgrade -yq |
- | Ubuntu 12.4 \\ | + | Перезагрузились и устанавливаем пакеты ''MySQL'', ''apache2'' и библиотеки ''perl'' |
- | ABillS 0.57 \\ | + | |
- | Сначала обновим систему | + | apt-get install -yq mysql-server mysql-client libmysqlclient-dev apache2 apache2-utils libexpat1 ssl-cert |
- | apt-get update | + | |
- | apt-get dist-upgrade | + | |
- | + | ||
- | после установки SSH можно пользоваться внешним терминалом (например Putty) , так удобнее | + | |
- | apt-get install ssh | + | |
- | Перезагрузились и устанавливаем следующие пакеты | + | ==== Скачивание ABillS ==== |
- | + | На момент написания статьи последняя версия 0.75.110 ([[http://sourceforge.net/projects/abills/|Проверить]])\\ | |
- | apt-get install mysql-server mysql-client libmysqlclient-dev apache2 apache2-doc apache2-mpm-prefork \ | + | <code> |
- | apache2-utils libexpat1 ssl-cert cvs libdbi-perl libdbd-mysql-perl libdigest-md4-perl \ | + | # cd /usr |
- | libdigest-sha-perl libcrypt-des-perl | + | # wget https://sourceforge.net/projects/abills/files/abills/0.75/abills-0.75.110.tgz |
+ | # tar zxvf abills-0.75.110.tgz | ||
+ | # cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl | ||
+ | </code> | ||
- | |||
Создаем недостающие каталоги и меняем права: | Создаем недостающие каталоги и меняем права: | ||
+ | <code> | ||
mkdir /var/log/httpd/ | mkdir /var/log/httpd/ | ||
mkdir -p /usr/abills/var/log | mkdir -p /usr/abills/var/log | ||
Строка 35: | Строка 33: | ||
chown -Rf www-data:www-data /usr/abills/Abills/templates | chown -Rf www-data:www-data /usr/abills/Abills/templates | ||
chown -Rf www-data:www-data /usr/abills/backup | chown -Rf www-data:www-data /usr/abills/backup | ||
- | + | touch /usr/abills/var/log/sql_errors | |
- | + | chown nobody /usr/abills/var/log/sql_errors | |
- | ====Настройка вебсервера==== | + | chmod 666 /usr/abills/var/log/sql_errors |
+ | </code> | ||
+ | | ||
+ | ====Настройка Apache ==== | ||
cp /usr/abills/misc/apache/abills_httpd.conf /etc/apache2/sites-enabled/ | cp /usr/abills/misc/apache/abills_httpd.conf /etc/apache2/sites-enabled/ | ||
Строка 49: | Строка 50: | ||
a2enmod suexec | a2enmod suexec | ||
a2enmod include | a2enmod include | ||
+ | a2enmod cgi | ||
Перезапускаем apache: | Перезапускаем apache: | ||
Строка 55: | Строка 57: | ||
- | ====Настройка Абилс==== | + | ====Настройка MySQL==== |
- | cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl | + | |
- | из файла config.pl(основной конфигурационный файл системы) удаляем старые параметры и добавляем новые | + | # mysql --default-character-set=utf8 -u root -p |
- | # nano /usr/abills/libexec/config.pl | + | use mysql; |
+ | GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword"; | ||
+ | CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; | ||
+ | flush privileges; | ||
+ | quit; | ||
- | $conf{dbpasswd}='sdfesfa'; | + | Добавляем БД в Mysql |
+ | mysql --default-character-set=utf8 -u root -p -D abills < /usr/abills/db/abills.sql | ||
+ | **Если возникает Invalid default value for 'registration'**\\ | ||
+ | Выполняем | ||
+ | # sed -i -e "1 s/^/SET SQL_MODE='NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO';/;" /usr/abills/db/abills.sql | ||
+ | # mysql --default-character-set=utf8 -u root -p -D abills < /usr/abills/db/abills.sql | ||
- | ====Настройка Mysql==== | ||
- | mysql --default-character-set=utf8 -u root -p | + | ====Perl modules==== |
+ | Для работы системы нужны модули.\\ | ||
- | use mysql; | + | # cd /usr/abills/misc/ && perl perldeps.pl apt-get -batch |
- | INSERT INTO user (Host, User, Password) | + | |
- | VALUES ('localhost','abills', password('sdfesfa')); | + | Улучшаем себе жизнь в будущем: |
+ | # apt-get install -yq cpanminus | ||
| | ||
- | INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, | + | Если какие-то модули не установились, можно запустить |
- | Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv, | + | # cpanm <ИмяМодуля> |
- | Lock_tables_priv, Create_tmp_table_priv, Create_view_priv, | + | |
- | Show_view_priv, Execute_priv) | + | |
- | VALUES ('localhost', 'abills', 'abills', 'Y', 'Y', 'Y', 'Y', 'Y', | + | |
- | 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'); | + | |
| | ||
- | CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; | + | Например у меня не установился ''Digest::SHA1'', запускаю: |
- | flush privileges; | + | # cpanm Digest::SHA1 |
- | + | ||
- | Добавляем БД в Mysql | + | |
- | mysql --default-character-set=utf8 -u root -p -D abills < /usr/abills/abills.sql | + | |
====Установка RADIUS==== | ====Установка RADIUS==== | ||
устанавливаем нужные библиотеки для сборки freeradius | устанавливаем нужные библиотеки для сборки freeradius | ||
- | apt-get install libmysqlclient-dev libmysqlclient-dev libgdbm3 libgdbm-dev | + | apt-get install -yq libmysqlclient-dev libgdbm3 libgdbm-dev make gcc libtalloc-dev libperl-dev libhiredis-dev |
- | ищем установленные библиотеки perl | + | # find /usr/lib/ | grep libperl.so |
- | + | /usr/lib/x86_64-linux-gnu/libperl.so.5.22 | |
- | # find /usr/lib/ | grep libperl.so | + | /usr/lib/x86_64-linux-gnu/libperl.so.5.22.1 |
- | libperl.so.5.14.2 | + | |
- | теперь делаем линки для подальшей компиляции | + | Делаем симлинк для того, чтоб библиотека подгрузилась во время компиляции |
- | ln -s /usr/lib/libperl.so.5.14.2 /usr/lib/libperl.so | + | ln -s /usr/lib/x86_64-linux-gnu/libperl.so.5.22 /usr/lib/x86_64-linux-gnu/libperl.so |
- | ln -s /usr/lib/libperl.so.5.14.2 /usr/lib/libperl.so.5.14 | + | |
- | скачиваем freeradius версии 2 | + | Скачиваем Freeradius версии 2.2.9 |
- | + | cd /tmp | |
- | wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.7.tar.gz | + | wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.9.tar.gz |
- | tar zxvf freeradius-server-2.2.7.tar.gz | + | tar zxvf freeradius-server-2.2.9.tar.gz |
- | | + | cd freeradius-server-2.2.9 |
- | cd freeradius-server-2.2.7 | + | ./configure --prefix=/usr/local/freeradius --with-rlm-perl-lib-dir=/usr/lib/x86_64-linux-gnu/ \ |
- | ./configure --prefix=/usr/local/freeradius --with-rlm-perl-lib-dir=/usr/lib/ --with-openssl=no | + | --with-dhcp=yes --with-openssl=no > /dev/null |
make && make install | make && make install | ||
| | ||
ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd | ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd | ||
- | Файл для автозапуска ,- создаем и вставляем в него следующий текст | + | Файл для автозапуска,- создаем и вставляем в него следующий текст |
- | nano /etc/init.d/freeradius | + | # nano /etc/init.d/radiusd |
- | | + | |
| | ||
<code> | <code> | ||
Строка 121: | Строка 121: | ||
### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
- | # Provides: freeradius | + | # Provides: radiusd |
# Required-Start: $remote_fs $network $syslog | # Required-Start: $remote_fs $network $syslog | ||
# Should-Start: $time mysql slapd postgresql samba krb5-kdc | # Should-Start: $time mysql slapd postgresql samba krb5-kdc | ||
Строка 135: | Строка 135: | ||
. /lib/lsb/init-functions | . /lib/lsb/init-functions | ||
- | PROG="freeradius" | + | PROG="radiusd" |
PROGRAM="/usr/sbin/radiusd" | PROGRAM="/usr/sbin/radiusd" | ||
PIDFILE="/var/run/radiusd/radiusd.pid" | PIDFILE="/var/run/radiusd/radiusd.pid" | ||
Строка 179: | Строка 179: | ||
esac | esac | ||
- | exit 0</code> | + | exit 0 |
+ | </code> | ||
- | chmod +x /etc/init.d/freeradius | + | Включаем в автозагрузку |
- | | + | chmod +x /etc/init.d/radiusd |
- | update-rc.d freeradius defaults | + | update-rc.d radiusd defaults |
- | + | update-rc.d radiusd enable | |
- | ==Настройка Freeradius== | + | |
+ | Устанавливаем конфигурационные файлы ABillS: | ||
cp /usr/abills/misc/freeradius/v2/radiusd.conf /usr/local/freeradius/etc/raddb/radiusd.conf | cp /usr/abills/misc/freeradius/v2/radiusd.conf /usr/local/freeradius/etc/raddb/radiusd.conf | ||
rm /usr/local/freeradius/etc/raddb/sites-enabled/* | rm /usr/local/freeradius/etc/raddb/sites-enabled/* | ||
Строка 194: | Строка 195: | ||
Меняем в конфиге радиуса | Меняем в конфиге радиуса | ||
- | nano /usr/local/freeradius/etc/raddb/radiusd.conf | + | <code> |
+ | # nano /usr/local/freeradius/etc/raddb/radiusd.conf | ||
prefix = /usr/local/freeradius | prefix = /usr/local/freeradius | ||
Строка 200: | Строка 202: | ||
user = freerad | user = freerad | ||
group = freerad | group = freerad | ||
+ | </code> | ||
+ | Благодаря модулю ''sql'', можно хранить сервера доступа в базе данных (всё равно необходим перезапуск радиуса после добавления/изменения серверов, но не надо править **clients.conf**). \\ | ||
+ | Очищаем список серверов доступа из **/usr/local/freeradius/etc/raddb/clients.conf** (чтоб не было дупликатов из-за записей в базе) | ||
+ | # echo '' > /usr/local/freeradius/etc/raddb/clients.conf | ||
+ | # cp /usr/abills/misc/freeradius/v2/sql.conf /usr/local/freeradius/etc/raddb/ | ||
- | из файла clients.conf ,- удаляем все , туда вписываем только айпи насов которые будут работать с радиусом , их их secret-ы : | + | Заполняем нужные нам параметры соединения с БД |
- | nano /usr/local/freeradius/etc/raddb/clients.conf | + | # nano /usr/local/freeradius/etc/raddb/sql.conf |
<code> | <code> | ||
- | client 127.0.0.1 { | + | sql { |
- | secret = secretpass | + | database = "mysql" |
- | shortname = shorrname | + | driver = "rlm_sql_${database}" |
- | } | + | server = "localhost" |
+ | #port = 3306 | ||
+ | login = "abills" | ||
+ | password = "sqlpassword" | ||
+ | radius_db = "abills" | ||
+ | |||
+ | # В самом конце файла | ||
+ | '%secretkey%' меняем на 'test12345678901234567890' | ||
</code> | </code> | ||
- | Создание user и group если freeradius ранее не был установлен то без этого не стартует | + | Создаём user и group (если freeradius ранее не был установлен то без этого не стартует) |
- | #groupadd freerad | + | # groupadd freerad |
- | #useradd -g freerad -s /bash/bash freerad | + | # useradd -g freerad -s /bash/bash freerad |
# chown -R freerad:freerad /usr/local/freeradius/etc/raddb | # chown -R freerad:freerad /usr/local/freeradius/etc/raddb | ||
Строка 223: | Строка 236: | ||
стартуем в режиме отладки | стартуем в режиме отладки | ||
- | # /usr/local/freeradius/sbin/radiusd -X | + | # radiusd -X |
+ | |||
+ | Если запустилось без ошибок, запускаем | ||
+ | # service radiusd start | ||
- | если после старта выполучаете ошибка | + | ====Постнастройка Abills==== |
- | symbol lookup error: /usr/lib/perl/5.10/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr | + | |
- | тогда нужно дополнительно подгрузить perl библиотеку | + | Вносим в **/etc/crontab** периодические процессы |
- | LD_PRELOAD=/usr/lib/libperl.so /usr/local/freeradius/sbin/radiusd -X | + | |
- | + | ||
- | + | ||
- | ====Постнастройка Abills==== | + | |
- | Вносим в ''cron'' периодические процессы | ||
- | **/etc/crontab** | ||
<code> | <code> | ||
*/5 * * * * root /usr/abills/libexec/billd -all | */5 * * * * root /usr/abills/libexec/billd -all | ||
Строка 243: | Строка 252: | ||
\\ | \\ | ||
и даем доступ на ведение лога ошибок | и даем доступ на ведение лога ошибок | ||
- | # touch /tmp/sql_errors && chmod 777 /tmp/sql_errors | + | # touch /usr/abills/var/log/sql_errors && chmod 666 /usr/abills/var/log/sql_errors |
| | ||
Добавляем линки на ''gzip'' и ''mysqldump'' для создания бэкапов базы: | Добавляем линки на ''gzip'' и ''mysqldump'' для создания бэкапов базы: | ||
Строка 249: | Строка 258: | ||
# ln -s /usr/bin/mysqldump /usr/local/bin/mysqldump | # ln -s /usr/bin/mysqldump /usr/local/bin/mysqldump | ||
\\ | \\ | ||
- | | + | |
- | Веб интерфейс администратора:\\ | + | \\ |
+ | Веб интерфейс администратора: (IP адрес можно узнать с помощью ''ip a'')\\ | ||
**https://your.host:9443/admin/**\\ | **https://your.host:9443/admin/**\\ | ||
\\ | \\ | ||
Строка 258: | Строка 268: | ||
**https://your.host:9443/**\\ | **https://your.host:9443/**\\ | ||
\\ | \\ | ||
- | |||
- | |||
В интерфейсе администратора прежде всего надо сконфигурировать сервера доступа NAS (Network Access Server). \\ | В интерфейсе администратора прежде всего надо сконфигурировать сервера доступа NAS (Network Access Server). \\ | ||
Переходим в меню\\ | Переходим в меню\\ | ||
- | **System configuration->NAS**\\ | + | **Настройка->Сервера доступа**\\ |
**Параметры** | **Параметры** | ||
Строка 275: | Строка 283: | ||
^ Disable | Отключить | | ^ Disable | Отключить | | ||
^ :Manage: | Секция менеджмента NAS сервера | | ^ :Manage: | Секция менеджмента NAS сервера | | ||
- | ^ IP:PORT | IP адрес и порт для контроля соединения. Например, для отключения пользователя из веб-интерфейса | | + | ^ IP:PORT | IP адрес и порт для контроля соединения. Например, для отключения пользователя из веб-интерфейса | |
^ User | Пользователь для контроля | | ^ User | Пользователь для контроля | | ||
^ Password | Пароль | | ^ Password | Пароль | | ||
Строка 281: | Строка 289: | ||
- | После заведения сервера доступа добавте ему пул адресов **IP POOLs**. | + | После заведения сервера доступа добавьте ему пул адресов **IP POOLs**. |
^ FIRST IP | Первый адрес в пуле| | ^ FIRST IP | Первый адрес в пуле| | ||
^ COUNT | Количество адресов | | ^ COUNT | Количество адресов | | ||
Одному серверу доступа может принадлежать несколько пулов адресов. | Одному серверу доступа может принадлежать несколько пулов адресов. | ||
- | |||
Создание тарифного плана\\ | Создание тарифного плана\\ | ||
Меню\\ | Меню\\ | ||
- | **System configuration->Internet->Tarif Plans**\\ | + | **Настройка->Интернет->Тарифные планы**\\ |
Регистрация пользователя\\ | Регистрация пользователя\\ | ||
- | **Customers->Users->Add**\\ | + | **Клиенты->Логины->Добавить пользователя**\\ |
Заведение сервиса Internet на пользователя.\\ | Заведение сервиса Internet на пользователя.\\ | ||
- | **Customers->Users->Information->Services->Internet**\\ | + | **Клиенты->Логины->Сервисы->Интернет**\\ |
Строка 304: | Строка 311: | ||
Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя. \\ | Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя. \\ | ||
+ | # apt-get install freeradius-utils | ||
+ | |||
Логин: test Пароль: 123456 | Логин: test Пароль: 123456 | ||
# radtest test 123456 127.0.0.1:1812 0 secretpass 0 127.0.0.1 | # radtest test 123456 127.0.0.1:1812 0 secretpass 0 127.0.0.1 | ||
| | ||
- | (в версиях Ubuntu , где нету radtest , - устанавливаем freeradius-utils) | ||
- | # apt-get install freeradius-utils | ||
- | |||
Если всё правильно настроено, в журнале ошибок **/Отчёт/Internet/Ошибка/** должна появиться строка \\ | Если всё правильно настроено, в журнале ошибок **/Отчёт/Internet/Ошибка/** должна появиться строка \\ | ||
- | |||
2014-12-23 12:55:55 LOG_INFO: AUTH [test] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799 | 2014-12-23 12:55:55 LOG_INFO: AUTH [test] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799 | ||
- | Если Вы увидите другие ошибки смотрите в [[abills:docs:modules:dv:ru#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8|список ошибок]]. Если журнал ошибок пуст значит неправильно настроено взаимодействие с RADIUS сервером. | + | Если Вы увидите другие ошибки смотрите в [[abills:docs:modules:dv:ru#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8|список ошибок]]. Если журнал ошибок пуст, значит неправильно настроено взаимодействие с RADIUS сервером (еще раз пройдитесь по секции FreeRadius). |
====Дополнительно==== | ====Дополнительно==== | ||
* [[abills:docs:nas:linux:accel_ppp:ru|Настройка NAS accel-ppp]] | * [[abills:docs:nas:linux:accel_ppp:ru|Настройка NAS accel-ppp]] | ||
* [[abills:docs:nas:mikrotik:ru|Настройка NAS Mikrotik]] | * [[abills:docs:nas:mikrotik:ru|Настройка NAS Mikrotik]] | ||
* [[abills:docs:nas:pppoe_ubuntu:ru|Настройка PPPoE Ubuntu]] | * [[abills:docs:nas:pppoe_ubuntu:ru|Настройка PPPoE Ubuntu]] |