Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
abills:docs:other:install_ubuntu [2011/10/05 13:07] asmodeus создано |
abills:docs:other:install_ubuntu [2018/05/15 13:39] (текущий) oswald |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | =====Установка ABillS + Ubuntu===== | + | =====Установка ABillS + Ubuntu + FreeRadius2 + RLMPerl===== |
+ | |||
+ | Сначала обновим систему | ||
+ | apt-get update | ||
+ | apt-get dist-upgrade | ||
+ | |||
+ | Перезагрузились и устанавливаем следующие пакеты | ||
+ | |||
+ | apt-get install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork \ | ||
+ | apache2-utils libexpat1 ssl-cert cvs libdbi-perl libdbd-mysql-perl libdigest-md4-perl \ | ||
+ | libdigest-sha1-perl libcrypt-des-perl | ||
+ | |||
+ | |||
+ | Создаем недостающие каталоги и меняем права: | ||
+ | |||
+ | mkdir /var/log/httpd/ | ||
+ | mkdir -p /usr/abills/var/log | ||
+ | touch /usr/abills/var/log/abills.log | ||
+ | chown -Rf www-data:www-data /usr/abills/cgi-bin | ||
+ | chown -Rf www-data:www-data /usr/abills/Abills/templates | ||
+ | chown -Rf www-data:www-data /usr/abills/backup | ||
+ | |||
+ | |||
+ | ==Настройка вебсервера== | ||
+ | |||
+ | cp /usr/abills/misc/apache/abills_httpd.conf /etc/apache2/sites-enabled/ | ||
+ | |||
+ | Создаем сертификат | ||
+ | /usr/abills/misc/certs_create.sh apache | ||
+ | |||
+ | Запускаем установленные модули для апача: | ||
+ | a2enmod ssl | ||
+ | a2enmod rewrite | ||
+ | a2enmod suexec | ||
+ | a2enmod include | ||
+ | |||
+ | Перезапускаем apache: | ||
+ | |||
+ | /etc/init.d/apache2 restart | ||
+ | |||
+ | |||
+ | ==Настройка Абилс== | ||
+ | cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl | ||
+ | |||
+ | Удаляем старые параметры и добавляем новые | ||
+ | |||
+ | $conf{dbpasswd}='sdfesfa'; | ||
+ | $conf{secretkey}="sdfadsfcv3ad2"; | ||
+ | $conf{dbcharset}='utf8'; | ||
+ | $conf{default_charset}='utf8'; | ||
+ | $conf{MAIL_CHARSET}='utf8'; | ||
+ | $conf{RADIUS2}=1; | ||
+ | |||
+ | |||
+ | ==Настройка Mysql== | ||
+ | |||
+ | mysql --default-character-set=utf8 -u root -p | ||
+ | |||
+ | use mysql; | ||
+ | INSERT INTO user (Host, User, Password) | ||
+ | VALUES ('localhost','abills', password('sdfesfa')); | ||
+ | |||
+ | INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, | ||
+ | Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv, | ||
+ | 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; | ||
+ | flush privileges; | ||
+ | |||
+ | Меняем ключ шифрования на тот что задали в конфигурационном файле | ||
+ | |||
+ | cat /usr/abills/db/abills.sql | sed s/test12345678901234567890/sdfadsfcv3ad2/ > /usr/abills/abills_secure.sql | ||
+ | |||
+ | Добавляем БД в Mysql | ||
+ | mysql --default-character-set=utf8 -u root -p -D abills < /usr/abills/abills_secure.sql | ||
+ | |||
+ | |||
+ | |||
+ | ==Установка Радиуса== | ||
+ | |||
+ | apt-get install libmysqlclient-dev libmysqlclient16 libmysqlclient16-dev libgdbm3 libgdbm-dev | ||
+ | |||
+ | ln -s /usr/lib/libperl.so.5.10.1 /usr/lib/libperl.so | ||
+ | ln -s /usr/lib/libperl.so.5.10.1 /usr/lib/libperl.so.5.10 | ||
+ | |||
+ | wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.11.tar.gz | ||
+ | tar zxvf freeradius-server-2.1.11.tar.gz | ||
+ | |||
+ | cd freeradius-server-2.1.11 | ||
+ | ./configure --prefix=/usr/local/freeradius --with-rlm-perl-lib-dir=/usr/lib/ | ||
+ | make && make install | ||
+ | |||
+ | ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd | ||
+ | |||
+ | Файл для автозапуска | ||
+ | vim /etc/init.d/freeradius | ||
+ | chmod +x /etc/init.d/freeradius | ||
+ | |||
+ | <code> | ||
+ | #!/bin/sh | ||
+ | # Start/stop the FreeRADIUS daemon. | ||
+ | |||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: freeradius | ||
+ | # Required-Start: $remote_fs $network $syslog | ||
+ | # Should-Start: $time mysql slapd postgresql samba krb5-kdc | ||
+ | # Required-Stop: $remote_fs $syslog | ||
+ | # Default-Start: 2 3 4 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Short-Description: Radius Daemon | ||
+ | # Description: Extensible, configurable radius daemon | ||
+ | ### END INIT INFO | ||
+ | |||
+ | set -e | ||
+ | |||
+ | . /lib/lsb/init-functions | ||
+ | |||
+ | PROG="freeradius" | ||
+ | PROGRAM="/usr/sbin/radiusd" | ||
+ | PIDFILE="/var/run/freeradius/freeradius.pid" | ||
+ | DESCR="FreeRADIUS daemon" | ||
+ | |||
+ | test -f $PROGRAM || exit 0 | ||
+ | |||
+ | # /var/run may be a tmpfs | ||
+ | if [ ! -d /var/run/freeradius ]; then | ||
+ | mkdir -p /var/run/freeradius | ||
+ | chown freerad:freerad /var/run/freeradius | ||
+ | fi | ||
+ | |||
+ | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
+ | |||
+ | ret=0 | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | log_daemon_msg "Starting $DESCR" "$PROG" | ||
+ | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM || ret=$? | ||
+ | log_end_msg $ret | ||
+ | exit $ret | ||
+ | ;; | ||
+ | stop) | ||
+ | log_daemon_msg "Stopping $DESCR" "$PROG" | ||
+ | if [ -f "$PIDFILE" ] ; then | ||
+ | start-stop-daemon --stop --retry=TERM/30/KILL/5 --quiet --pidfile $PIDFILE || ret=$? | ||
+ | log_end_msg $ret | ||
+ | else | ||
+ | log_action_cont_msg "$PIDFILE not found" | ||
+ | log_end_msg 0 | ||
+ | fi | ||
+ | ;; | ||
+ | restart|force-reload) | ||
+ | $0 stop | ||
+ | $0 start | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Usage: $0 start|stop|restart|force-reload" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | exit 0</code> | ||
+ | |||
+ | |||
+ | update-rc.d freeradius defaults | ||
+ | |||
+ | ==Настройка Freeradius== | ||
+ | |||
+ | cd /usr/abills/ | ||
+ | rm /usr/local/etc/raddb/sites-enabled/* | ||
+ | cp misc/freeradius/v3/mods-enabled/perl /usr/local/etc/raddb/mods-enabled/perl | ||
+ | cp misc/freeradius/v3/mods-enabled/sql /usr/local/etc/raddb/mods-enabled/sql | ||
+ | cp misc/freeradius/v3/sites-enabled/abills_default /usr/local/etc/raddb/sites-enabled/abills_default | ||
+ | cp misc/freeradius/v3/users /usr/local/etc/raddb/users | ||
+ | |||
+ | Меняем в конфиге радиуса | ||
+ | vim radiusd.conf | ||
+ | |||
+ | prefix = /usr/local/freeradius | ||
+ | |||
+ | user = freerad | ||
+ | group = freerad | ||
+ | |||
+ | |||
+ | vim /usr/local/freeradius/etc/raddb/clients.conf | ||
+ | <code> | ||
+ | client 127.0.0.1 { | ||
+ | secret = radsecret | ||
+ | shortname = shorrname | ||
+ | } | ||
+ | </code> | ||
+ | chown -R freerad:freerad /usr/local/freeradius/etc/raddb | ||
+ | |||
+ | стартуем в режиме отладки | ||
+ | |||
+ | # /usr/local/freeradius/sbin/radiusd -X | ||
+ | |||
+ | если после старта выполучаете ошибка | ||
+ | symbol lookup error: /usr/lib/perl/5.10/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr | ||
+ | |||
+ | тогда нужно дополнительно подгрузить perl библиотеку | ||
+ | LD_PRELOAD=/usr/lib/libperl.so /usr/local/freeradius/sbin/radiusd -X | ||
+ | |||
+ | ==Постнастройка Abills== | ||
+ | Вносим в ''cron'' периодические процессы | ||
+ | **/etc/crontab** | ||
+ | |||
+ | <code> | ||
+ | */5 * * * * root /usr/abills/libexec/billd -all | ||
+ | 1 0 * * * root /usr/abills/libexec/periodic daily | ||
+ | 1 1 * * * root /usr/abills/libexec/periodic monthly | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Веб интерфейс администратора:\\ | ||
+ | **https://your.host:9443/admin/**\\ | ||
+ | \\ | ||
+ | Логин администратора по умолчанию **abills** пароль **abills**\\ | ||
+ | |||
+ | Веб интерфейс для пользователей:\\ | ||
+ | **https://your.host:9443/**\\ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | В интерфейсе администратора прежде всего надо сконфигурировать сервера доступа NAS (Network Access Server). \\ | ||
+ | Переходим в меню\\ | ||
+ | **System configuration->NAS**\\ | ||
+ | |||
+ | **Параметры** | ||
+ | ^ IP | IP адрес NAS сервера | | ||
+ | ^ Name | Название | | ||
+ | ^ Radius NAS-Identifier | Идентификатор сервера (можно не вписывать) | | ||
+ | ^ Describe | Описание сервера | | ||
+ | ^ Type | Тип сервера. В зависимости от типа по разному обрабатываются запросЫ на авторизацию | | ||
+ | ^ Authorization | Тип авторизации. \\ **SYSTEM** - При хранении паролей в UNIX базе (/etc/passwd)\\ **SQL** - при хранении паролей SQL базе (MySQL, PosgreSQL)\\ | | ||
+ | ^ Alive | Период отправки Alive пакетов | | ||
+ | ^ Disable | Отключить | | ||
+ | ^ :Manage: | Секция менеджмента NAS сервера | | ||
+ | ^ IP:PORT | IP адрес и порт для контроля соединения. Например, для отключения пользователя из веб-интерфейса | | ||
+ | ^ User | Пользователь для контроля | | ||
+ | ^ Password | Пароль | | ||
+ | ^ RADIUS Parameters | Дополнительные параметры которые передаются NAS серверу после успешной авторизации.| | ||
+ | |||
+ | |||
+ | После заведения сервера доступа добавте ему пул адресов **IP POOLs**. | ||
+ | ^ FIRST IP | Первый адрес в пуле| | ||
+ | ^ COUNT | Количество адресов | | ||
+ | Одному серверу доступа может принадлежать несколько пулов адресов. | ||
+ | |||
+ | |||
+ | |||
+ | Создание тарифного плана\\ | ||
+ | Меню\\ | ||
+ | **System configuration->Internet->Tarif Plans**\\ | ||
+ | |||
+ | |||
+ | Регистрация пользователя\\ | ||
+ | **Customers->Users->Add**\\ | ||
+ | |||
+ | |||
+ | Заведение сервиса Internet на пользователя.\\ | ||
+ | **Customers->Users->Information->Services->Internet**\\ | ||
+ | |||
+ | |||
+ | |||
+ | **Проверка**\\ | ||
+ | Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя. \\ | ||
+ | Логин: test Пароль: 123456 | ||
+ | # radtest test 123456 127.0.0.1:1812 0 radsecret 0 127.0.0.1 | ||
+ | |||
+ | Если всё правильно настроено, в журнале ошибок **/Отчёт/Internet/Ошибка/** должна появиться строка \\ | ||
+ | |||
+ | |||
+ | 2005-02-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:linux:accel_pptp:ru|Настройка NAS accel-pptp]] | ||
+ | |||
+ | * [[abills:docs:mikrotik:ru|Настройка NAS Mikrotik]] |