Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:manual:install:ru [2014/10/24 11:44] asmodeus |
abills:docs:manual:install:ru [2017/07/26 10:38] (текущий) asmodeus [ABillS - Настройка] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | =====Замечания по установк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 - Установка===== | ||
Строка 27: | Строка 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"; | ||
\\ | \\ | ||
Строка 50: | Строка 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; | + | |
Загружаем таблицы в базу. \\ | Загружаем таблицы в базу. \\ | ||
Строка 72: | Строка 48: | ||
=====Web Server===== | =====Web Server===== | ||
- | + | ===Apache=== | |
- | + | ||
- | + | ||
- | =====Apache===== | + | |
[[http://www.apache.org|Apache]]\\ | [[http://www.apache.org|Apache]]\\ | ||
Веб-сервер должен быть собран с поддержкой ''mod_rewrite''\\ | Веб-сервер должен быть собран с поддержкой ''mod_rewrite''\\ | ||
Строка 83: | Строка 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===== | ||
Строка 180: | Строка 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] или установка с консоли. | ||
Строка 195: | Строка 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'' конфигурацией |
\\ | \\ | ||
\\ | \\ | ||
Строка 211: | Строка 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** добавить \\ | ||
Код: | Код: | ||
Строка 377: | Строка 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 | ||
+ | |||
+ | | ||
+ | |||
Веб интерфейс для пользователей:\\ | Веб интерфейс для пользователей:\\ | ||
Строка 433: | Строка 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/Ошибка/** должна появиться строка \\ | ||
Строка 447: | Строка 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]] | ||
- | |||