Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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]]