Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:install:ru [2013/04/15 14:17]
asmodeus [Требование к ресурсам системы для установки серверной части]
abills:docs:manual:install:ru [2017/07/26 10:38] (текущий)
asmodeus [ABillS - Настройка]
Строка 1: Строка 1:
-=====Установка и предварительная настройка===== 
-  * Для установки серверной части системы требуется любая ОС семейства Unix (FreeBSD,​Linux,​Solaris).\\ 
-  * Для работы администратора и пользователей с биллингом подойдёт любая система,​ имеющая современный WEB-браузер. Для работы с серверной частью системы не потребуется никаких дополнительных настроек на ПК администратора или клиентов. 
- 
-=====Требование к ресурсам системы для установки серверной части===== 
- 
-Оптимальная конфигурация системы для работы с серверной частью в первую очередь зависит от ширины обслуживаемого биллингом канала и количества одновременно ​ работающих пользователей,​ а также от спектра предоставляемых услуг провайдером. \\ 
-Рекомендованная конфигурация при 1000 активных пользователях и 100 мб/сек канале при размещении сервера биллинга и сервера доступа на одном физическом сервере:​ 
-  * Процессор на базе Intel P4 или другой совместимый с тактовой частотой 2 Ггц и выше. 
-  * Оперативной памяти не менее 2 Гб 
-  * Жёсткий диск для хранения автоматических бекапов системы не менее 100 гб. 
- 
-  * Mysql версии 5.6.x и выше 
-  * Freeradius 1 или 2 и выше 
-  * apache 1.3.xx ​ и выше 
-  * perl  v5.12.0 ​ и выше 
- 
-=====Замечания по установкe операционной системы.===== 
-===FreeBSD=== 
-  * При разбиении диска на разделы крайне рекомендуется отвести для раздела **/var** не менее 10 Гигабайт. Если планируется высокая нагрузка,​ это значение можно увеличить. 
-  * Рекомендованный дистрибютивный набор (Distribution Set) - **6 Kernel-Developer ** 
-  * Более подробно об установке читайте тут [[http://​www.asmodeus.com.ua/​library/​os/​freebsd/​handbook/​|FreeBSD Handbook]] 
-  * [[http://​www.seteved.ru/​index.php?​option=com_content&​task=view&​id=180&​Itemid=29|Установка FreeBSD 7 в картинках,​ для начинающих]] 
- 
-===Linux=== 
- 
- 
  
 =====ABillS - Установка===== =====ABillS - Установка=====
Строка 44: Строка 17:
   $conf{dbpasswd}='​sqlpassword'; ​   $conf{dbpasswd}='​sqlpassword'; ​
   $conf{ADMIN_MAIL}='​info@your.domain'; ​   $conf{ADMIN_MAIL}='​info@your.domain'; ​
-  $conf{USERS_MAIL_DOMAIN}="​your.domain";​ 
-  # используется для шифрования паролей администраторов и пользователей. 
-  $conf{secretkey}="​test12345678901234567890"; ​ 
 \\ \\
  
Строка 67: Строка 37:
   # mysql --default-character-set=utf8 -u root -p   # mysql --default-character-set=utf8 -u root -p
  
-  ​use mysql; +  ​GRANT ALL ON abills.* TO `abills`@localhost ​IDENTIFIED BY "sqlpassword";   
-  INSERT INTO user (Host, User, Password)  +  CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE ​ utf8_general_ci;​ 
-    VALUES ('localhost','​abills',​ password('​sqlpassword')); +  ​quit;
-   +
-  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 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;​ +
-  ​flush privileges; +
  
 Загружаем таблицы в базу. \\ Загружаем таблицы в базу. \\
Строка 89: Строка 48:
 =====Web Server===== =====Web Server=====
  
- +===Apache===
- +
- +
-=====Apache=====+
  ​[[http://​www.apache.org|Apache]]\\  ​[[http://​www.apache.org|Apache]]\\
  ​Веб-сервер должен быть собран ​ с поддержкой ''​mod_rewrite''​\\  ​Веб-сервер должен быть собран ​ с поддержкой ''​mod_rewrite''​\\
Строка 100: Строка 56:
   # make install   # make install
  
-Если ​нужно шифрование трафика для веб-интерфейсатогда ​создаём сертификаты. Apache должен быть собран с mod_ssl.+Если используем SSL (https), создаём сертификаты. Apache должен быть собран с mod_ssl.
  
   # /​usr/​abills/​misc/​certs_create.sh apache   # /​usr/​abills/​misc/​certs_create.sh apache
  
-Вносим в конфигурационый файл ​следующие опции **httpd.conf**.+Включаем ** abills/​misc/​apache/​abills_httpd.conf ** в конфигурационный файл ​apache\\
  
-  #Abills version 0.5 +2.2\\ 
-  ​Listen 9443 +  ​cp /​usr/​abills/​misc/apache/abills_httpd.conf ​/..ваш путь../Includes
-  <​VirtualHost _default_:​9443>​ +2.4\\ 
-    DocumentRoot "/​usr/​abills/​cgi-bin"​ +  ​cp ​/​usr/​abills/​misc/apache/​abills_httpd.conf /..ваш путь../sites-enabled/
-    #ServerName www.example.com:​9443 +
-    #​ServerAdmin admin@example.com +
-    ErrorLog ​/var/log/httpd/​abills-error.log +
-    #​TransferLog /​var/​log/​httpd/​abills-access.log +
-    CustomLog ​/var/log/​httpd/​abills-access_log common +
-    +
-    <​IfModule ssl_module>​ +
-      #   SSL Engine Switch: +
-      #   ​Enable/​Disable SSL for this virtual host+
-      ​SSLEngine on +
-      SSLCipherSuite ALL:​!ADH:​!EXPORT56:​RC4+RSA:​+HIGH:​+MEDIUM:​+LOW:​+SSLv2:​+EXP:​+eNULL +
-      SSLCertificateFile ​/​usr/​abills/​Certs/server.crt +
-      SSLCertificateKeyFile ​/usr/​abills/​Certs/​server.key +
-      <​FilesMatch "\.(cgi)$">​ +
-        SSLOptions +StdEnvVars +
-      </​FilesMatch>​ +
-      BrowserMatch ".*MSIE.*" \ +
-         ​nokeepalive ssl-unclean-shutdown \ +
-         ​downgrade-1.0 force-response-1.0+
   ​   ​
-      CustomLog /​var/​log/​abills-ssl_request.log \ +создаём каталог для логов 
-          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"​%r\"​ %b" +  ​touch /var/log/httpd/
-    </​IfModule>​ +
-   +
-   +
-  # User interface +
-    <​Directory "/​usr/​abills/​cgi-bin">​ +
-      <​IfModule ssl_module>​ +
-        SSLOptions +StdEnvVars +
-      </​IfModule>​ +
-   +
-      <​IfModule mod_rewrite.c>​ +
-        RewriteEngine on +
-        RewriteCond %{HTTP:​Authorization} ^(.*) +
-        RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:​%1] +
-        Options Indexes ExecCGI SymLinksIfOwnerMatch +
-      </​IfModule>​ +
-    +
-      AddHandler cgi-script .cgi +
-      Options Indexes ExecCGI FollowSymLinks +
-      AllowOverride none +
-      DirectoryIndex index.cgi ​         +
-   +
-      Order allow,​deny +
-      Allow from all +
-   +
-     <​Files ~ "​\.(db|log)$">​ +
-       Order allow,​deny +
-       Deny from all +
-     </​Files>​ +
-     +
-    #For hotspot solution +
-    #​ErrorDocument 404 "/​abills/"​ +
-    #​directoryIndex "/​abills"​ index.cgi +
-   </​Directory>​ +
-   +
-   #​Admin interface +
-   <​Directory "/​usr/​abills/​cgi-bin/​admin">​ +
-     <​IfModule ssl_module>​ +
-       ​SSLOptions +StdEnvVars +
-     </​IfModule>​ +
-   +
-     ​AddHandler cgi-script .cgi +
-     ​Options Indexes ExecCGI FollowSymLinks +
-     ​AllowOverride none +
-     ​DirectoryIndex index.cgi +
-     order deny,​allow +
-     allow from all +
-   </​Directory>​ +
-   +
-  </​VirtualHost>​ +
- +
- +
-Или включаем ** abills/​misc/​apache/​abills_httpd.conf ** в конфигурационный файл apache +
- +
-  ​Include ​/usr/abills/misc/apache/abills_httpd.conf+
  
 =====Perl modules===== =====Perl modules=====
Строка 197: Строка 80:
 | **Digest-SHA1**| для MS-ChapV2 авторизации | | **Digest-SHA1**| для MS-ChapV2 авторизации |
 | **libnet** ​    | Нужен только при авторизации из UNIX passwd | | **libnet** ​    | Нужен только при авторизации из UNIX passwd |
-| **Time-HiRes** | Нужен только для тестирования скорости выполнения авторизациИ, аккаунтинга,​ и страниц веб-интерфейса |+| **Time-HiRes** | Нужен только для тестирования скорости выполнения авторизации, аккаунтинга,​ и страниц веб-интерфейса ​
 +| **XML-Simple** | Для работы с определёнными платёжными системами модуля Paysys | 
 +| **PDF-API2** ​  | Для генерации документов в формате PDF c помощью модуля Docs | 
 +| **RRD-Simple** | Для генерации графиков загрузки с помощью скрипта graphics.cgi ​|
  
 Эти модули можно загрузить с сайта [http://​www.cpan.org] или установка с консоли. Эти модули можно загрузить с сайта [http://​www.cpan.org] или установка с консоли.
Строка 212: Строка 98:
   install ​   Bundle::​libnet ​   install ​   Bundle::​libnet ​
   install ​   Time::​HiRes ​   install ​   Time::​HiRes ​
 +  install ​   XML::Simple
 +  install ​   PDF::API2
 +  install ​   RRD::Simple
   quit    quit 
  
  
 =====Radius===== =====Radius=====
-В данной документации описана настройка exec версии работі билинга с радиусом,​ если у Вас больше 500 абонентов просьба пользоваться rlm_perl конфигурацией ​+В данной документации описана настройка ​''​exec'' ​версии работы биллинга с радиусом,​ если у Вас больше 500 абонентов просьба пользоваться ​''​rlm_perl'' ​конфигурацией ​
 \\ \\
 \\ \\
Строка 228: Строка 117:
   # make install   # make install
  
-====Версия 1.хх==== 
-После успешной установки правим файлы:​\\ 
-**/​usr/​local/​radiusd/​etc/​raddb/​users**\\ 
  
-  DEFAULT Auth-Type = Accept 
-    Exec-Program-Wait = "/​usr/​abills/​libexec/​rauth.pl"​ 
  
-**/​usr/​local/​radiusd/​etc/​raddb/​acct_users**+копируем файлы с настройками:​\\
  
-  ​DEFAULT Acct-Status-Type == Start +  ​# cp /​usr/​abills/​misc/​freeradius/​v2/​radiusd.conf /​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf 
-     Exec-Program = "/​usr/​abills/​libexec/racct.pl"​+  # rm /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/* 
 +  # cp /​usr/​abills/​misc/​freeradius/​v2/​users_perl /​usr/​local/​freeradius/​etc/​raddb/​users 
 +  # cp /​usr/​abills/​misc/​freeradius/​v2/​default_rlm_perl /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/​abills_default 
 +  # cp /​usr/​abills/​misc/freeradius/​v2/​perl /​usr/​local/​freeradius/​etc/​raddb/​modules/​ 
 +  # ln -s /​usr/​local/​freeradius/​sbin/​radiusd /​usr/​sbin/​radiusd
   ​   ​
-  DEFAULT Acct-Status-Type == Alive 
-     ​Exec-Program = "/​usr/​abills/​libexec/​racct.pl"​ 
   ​   ​
-  DEFAULT Acct-Status-Type == Stop 
-     ​Exec-Program = "/​usr/​abills/​libexec/​racct.pl"​ 
- 
-**/​usr/​local/​radiusd/​etc/​raddb/​clients.conf**\\ 
-В этот файл нужно вписать IP адрес или имя NAS сервера с 
-которого будут поступать данные для радиуса и пароль доступа. 
-\\ 
-  client 127.0.0.1 { 
-     ​secret = radsecret 
-     ​shortname = shorrname 
-  } 
-\\ 
- 
-**/​usr/​local/​radiusd/​etc/​raddb/​radiusd.conf**\\ 
-В этом файле нужно закомментировать использование модулей 
-'​chap'​ и '​mschap'​ в разделе '​authorize'​ 
- 
-  authorize { 
-    preprocess 
-  #  chap 
-  #  counter 
-  #  attr_filter 
-  #  eap 
-  #  suffix 
-    files 
-  # etc_smbpasswd 
-  # sql 
-  # mschap 
-  } 
- 
-====Версия 2.xx==== 
- 
-Для работы с freeradius 2 нужно указать параметр в конфигурационном файле abills:\\ 
-**/​usr/​abills/​libexec/​config.pl**  ​ 
-  $conf{RADIUS2}=1; ​ 
- 
- 
- 
-в **raddb/​radiusd.conf** в секции ''​modules''​ описываем секции:​ 
- 
-  abills_preauth ​ 
-  exec abills_preauth {  
-    program = "/​usr/​abills/​libexec/​rauth.pl pre_auth" ​ 
-    wait = yes  
-    input_pairs = request ​ 
-    shell_escape = yes  
-    #output = no  
-    output_pairs = config ​ 
-  }  
-  ​ 
-  abills_postauth ​ 
-  exec abills_postauth {  
-    program = "/​usr/​abills/​libexec/​rauth.pl post_auth" ​ 
-    wait = yes  
-    input_pairs = request ​ 
-    shell_escape = yes  
-    #output = no  
-    output_pairs = config ​ 
-  }  
-  ​ 
-  abills_auth ​ 
-  exec abills_auth {  
-    program = "/​usr/​abills/​libexec/​rauth.pl" ​ 
-    wait = yes  
-    input_pairs = request ​ 
-    shell_escape = yes  
-    output = no  
-    output_pairs = reply  
-   ​} ​ 
-  ​ 
-  abills_acc ​ 
-    exec abills_acc {  
-    program = "/​usr/​abills/​libexec/​racct.pl" ​ 
-    wait = yes  
-    input_pairs = request ​ 
-    shell_escape = yes  
-    output = no  
-    output_pairs = reply  
-  } 
- 
- в секции ''​exec''​\\ 
- ​Код:​ 
- 
- 
-  exec {                                                        
-     wait = yes                                            
-     ​input_pairs = request ​                                 
-     ​shell_escape = yes                                    
-     ​output = none                                          
-     ​output_pairs = reply                                  
-  } 
- 
-Файл raddb/​sites-enable/​default - правим секции authorize, preacct, post-auth. Остальное в этих секциях ремарим. \\ 
- 
-Код: 
- 
-  authorize {  
-    preprocess ​ 
-    abills_preauth ​ 
-    mschap ​ 
-    files  
-    abills_auth ​ 
-   ​} ​ 
-    
-  preacct {  
-    preprocess ​ 
-    abills_acc ​ 
-   ​} ​ 
-  ​ 
-  post-auth {  
-    Post-Auth-Type REJECT {  
-       ​abills_postauth ​ 
-     ​} ​ 
-  }  
- 
-в **raddb/​users** \\ 
-Код: 
- 
-  DEFAULT Auth-Type = Accept 
- 
 для автоматического запуска радиуса в FreeBSD внести изменения в **/​etc/​rc.conf** добавить \\ для автоматического запуска радиуса в FreeBSD внести изменения в **/​etc/​rc.conf** добавить \\
 Код: Код:
Строка 394: Строка 160:
   # chown -Rf www /​usr/​abills/​backup   # chown -Rf www /​usr/​abills/​backup
  
-  ​+=====Начало работы=====
 Веб интерфейс администратора:​\\ Веб интерфейс администратора:​\\
 **https://​your.host:​9443/​admin/​**\\ **https://​your.host:​9443/​admin/​**\\
 \\ \\
 Логин администратора по умолчанию **abills** пароль **abills**\\ Логин администратора по умолчанию **abills** пароль **abills**\\
 +
 +Если вонзникли проблемы с работой веб интерфейса смотрите лог веб сервера
 +
 +  /​var/​log/​httpd/​abills-error.log
 +
 +  ​
 +
  
 Веб интерфейс для пользователей:​\\ Веб интерфейс для пользователей:​\\
Строка 450: Строка 223:
 Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя. \\  Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя. \\ 
 Логин: test Пароль:​ 123456 Логин: test Пароль:​ 123456
-  # radtest test 123456 127.0.0.1:​1812 0 radsecret ​0 127.0.0.1+  # radtest test 123456 127.0.0.1:​1812 0 secretpass ​0 127.0.0.1
  
 Если всё правильно настроено,​ в журнале ошибок **/​Отчёт/​Internet/​Ошибка/​** ​ должна появиться строка \\ Если всё правильно настроено,​ в журнале ошибок **/​Отчёт/​Internet/​Ошибка/​** ​ должна появиться строка \\
Строка 464: Строка 237:
   * [[abills:​docs:​manual:​freebsd_dummynet|FreeBSD Dummynet/​table ​ шейпер]]   * [[abills:​docs:​manual:​freebsd_dummynet|FreeBSD Dummynet/​table ​ шейпер]]
   * [[abills:​docs:​linux:​pppd_radattr:​ru|Настройка ОС Linux]]   * [[abills:​docs:​linux:​pppd_radattr:​ru|Настройка ОС Linux]]
-