Помогите с установкой
Помогите с установкой
Документация мягко говоря весьма лаконична. Сломал уже не один напильник
В общем пытаюсь пойти поадминистрировать через веб. далее лог апача:
DBI connect('database=abills;host=localhost','abills',...) failed: Access denied for user: 'abills@localhost' (Using password: YES) at Abwconf.pm line 171
Unable connect to server 'localhost:abills abills 123456'
Compilation failed in require at /usr/abills/cgi-bin//admin/users.cgi line 22.
BEGIN failed--compilation aborted at /usr/abills/cgi-bin//admin/users.cgi line 22.
[Sun Apr 24 09:56:43 2005] [error] [client 192.168.100.11] Premature end of script headers: /usr/abills/cgi-bin//admin/users.cgi
естественно пользователь abills в мускуле есть и именно с таким паролем (123456).
Что еще надо ?
В общем пытаюсь пойти поадминистрировать через веб. далее лог апача:
DBI connect('database=abills;host=localhost','abills',...) failed: Access denied for user: 'abills@localhost' (Using password: YES) at Abwconf.pm line 171
Unable connect to server 'localhost:abills abills 123456'
Compilation failed in require at /usr/abills/cgi-bin//admin/users.cgi line 22.
BEGIN failed--compilation aborted at /usr/abills/cgi-bin//admin/users.cgi line 22.
[Sun Apr 24 09:56:43 2005] [error] [client 192.168.100.11] Premature end of script headers: /usr/abills/cgi-bin//admin/users.cgi
естественно пользователь abills в мускуле есть и именно с таким паролем (123456).
Что еще надо ?
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Помогите с установкой
Создание интернет-шлюза с биллингом ABillS и файл-сервера на основе Samba на FreeBSD 5.4 с нуля.
После установки конфигурируем ядро:
# cd usr/src/sys/i386/conf # заходим в каталог где лежит конфиг ядра
# cp GENERIC MYСONF # делаем копию нашего нового ядра называя ее MYСONF
# ee MYСONF # редактируем наш конфиг ядра
В начале:
machine i386 # ваш тип системы
cpu i586_cpu # ваш тип процессора,остальные можно закомментировать
ident MYСONF # идентификатор конфига
maxusers 32
Опускаемся в самый конец конфига и добавляем в него строки:
options IPFIREWALL (включаем поддержку самого firewall'a)
options IPFIREWALL_VERBOSE (это нужно, что бы наш firewall смог записывать логи)
options IPFIREWALL_VERBOSE_LIMIT=10 (данная опция ограничивает попадающие в firewall логи, это крайне полезная опция, она не даст сгенерироваться большому числу пакетов которое может привести к переполнению жесткого диска, и вам самим можно будет более точно оценивать, что происходит, не копаясь в больших логах)
options IPDIVERT (обязательна для работы NAT)
options DUMMYNET (требуется для ведения статистики)
options TCP_DROP_SYNFIN (эта опция нам не нужна, но ее включение будет гарантировать полное отбрасывание таких не хороших TCP пакетов с одновременно установленными флагами начала и завершения соединения, из собственной практики я зная, что такие пакеты очень часто любят использовать хакеры)
###- options ICMP_BANDLIM (сильно снижает число генерируемых машиной сообщений об ошибках TCP/IP, крайне полезная опция в отбивания DOS атак)
options NETGRAPH
options NETGRAPH_PPPOE
Сохраням наш конфиг MYСONF.
Далее:
# config MYСONF
# cd ../compile/ MYСONF
# make depend
# make
# make install
Следующие строки включить в rc.conf файл конфигурации:
hostname="имя_нашего_шлюза"
defaultrouter="IP_шлюза_провайдера"
ifconfig_rl0="IP_внешнего_интерфейса" # интерфейс смотрящий в интернет
ifconfig_rl1=" IP_внутреннего_интерфейса " # интерфейс смотрящий в локальную сеть
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN" # потом можно заменить на свою секцию в /etc/rc.firewall
natd_enable="YES"
natd_interface="rl0" # NAT-ить будем интерфейс смотрящий в интернет
tcp_drop_synfin="YES"
sendmail_enable="NONE"
# Для удаленного управления нужно добавить следующую строку:
sshd_enable="YES"
# (возможно понадобится скопировать /etc/ssh/ssh_host_dsa_key.pub в
#/root/.ssh/authorized_keys и разрешить логинится удаленно для root)
#появятся в ходе установки:
mysql_enable="YES"
apache2_enable="YES"
pppoed_enable="YES"
pppoed_flags="-l pppoe-in"
pppoed_interface="rl1" # слушаем интерфейс смотрящий в локальную сеть в файле /etc/ssh/sshd_config)
Перезагружаемся.
Проверяем работу сети:
# ping IP_внешнего_интерфейса
# ping IP_внутреннего_интерфейса
# ping IP_шлюза _интернет_провайдера
# ping IP_компа_на_внутреннем_интерфейсе
Все должно работать.
Если ничего, кроме 1 диска FreeBSD нет, то устанавливаем из портов. При этом необходимо подключение к Интернет.
Если с прошлой установки Вы позаботились и скопировали папку /ust/ports/distfiles на cd-rom, то используем эти ихходники:
Монтируем CDROM:
# mount -t cd9660 /dev/acd0 /cdrom
Копируем c СD-ROM папку distfiles, в которой лежат исходники с предыдущей установки на диск в /ust/ports:
# cp -R /cdrom/distfiles /ust/ports
Установка MC:
- установить glib-1.2.6:
# gunzip glib-1.2.6.tar.gz
# tar -xvf glib-1.2.6.tar
# cd glib-1.2.6
# ./configure
# make
# make install
-установть mc:
# gunzip mc-4.6.1.tar.gz
# tar -xvf mc-4.6.1.tar
# cd mc-4.6.1
# ./configure
# make
# make install
-выполнить:
# rehash
-запустить mc:
# mc
SAMBA
# gzip -d samba-3.0.20.tar.gz
# tar -xvf samba-3.0.20.tar
# cd samba-3.0.20
# ./configure
# make
# make install
Смотрим /etc/services. Есть ли там порт 139/tcp? Если нет, то всталяем (или правим):
netbios-ssn 139/tcp
Аналогично для порта 137/udp:
netbios-ns 137/udp
Далее, радактируем /etc/inetd.conf/. Ищем, исправляем и раскоментируем строки:
netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/sbin/nmbd nmbd
swat stream tcp nowait/400 root /usr/local/samba/sbin/swat swat
В rc.conf добавляем запуск inetd:
inetd_enadle="YES"
С другой машины (или прямо со своей, установив предварительно текстовый браузер links из портов) в браузере запускаем SWAT: http://IP_нашей_машины:901/
Настройки /usr/local/samba/lib/smb.conf:
[global]
dos charset = 866
display charset = KOI8-R
workgroup = AVIA
interfaces = lnc1 #внутренний интерфейс lnc1
security = SHARE
encrypt passwords = No
os level = 55
preferred master = Yes
domain master = No
wins support = Yes
ldap ssl = no
[Ppogi] # Имя нашей шары
path = /usr/share/progi # путь к нашей шаре
read only = No # если только просмотр и копирование, то read only = Yes
guest ok = Yes
Создаем папку /usr/share/progi
Изменяем ее атрибуты, если хотим, чтобы в нее писали все:
в mc -> F9 -> File -> cHmod ? отметить write by owner, write by other
Все, интернет-шлюз и файл-сервер работает.
MySQL
MySQL устанавливаем из портов.
# cd /usr/ports/database/mysql40-server
# make install clean
В /etc/rc.conf дописывем:
# mysql_enable=?YES?
Перезагружаемся.
Создаём пользователя и базу.
Входим в mysql:
# mysql
mysql> use mysql;
mysql> INSERT INTO user (Host, User, Password) VALUES (?%?,?abills?, password(?пароль_базы_sql?));
mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv) VALUES (?localhost?, ?abills?, ?abills?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?);
mysql> CREATE DATABASE abills;
mysql> exit
# mysqladmin flush-privileges
Загружаем таблицы в базу:
# mysql -D abills < /usr/local/abills/abills.sql
Web Server Apache
Перед установкой Apache устанавливает expat-1.95.8:
# tar xvfz expat-1.95.8.tar.gz
# cd expat-1.95.8
# ./configure
# make
# make install
Apache устанавливаем из портов.
# cd /usr/ports/www/apache2
# make install clean
Создаем файл /usr/local/etc/apache2/Includes/abills.conf:
Alias /billing "/usr/local/abills/cgi-bin/"
<Directory "/usr/local/abills/cgi-bin">
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]
Options Indexes ExecCGI SymLinksIfOwnerMatch
</IfModule>
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex users.cgi
AddHandler cgi-script .cgi
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/abills/cgi-bin/admin">
Options Indexes ExecCGI SymLinksIfOwnerMatch
AllowOverride none
DirectoryIndex users.cgi
order deny,allow
deny from all
AuthType Basic
AuthName "ABillS"
AuthUserFile /usr/local/abills/cgi-bin/admin/admins
Satisfy Any
require valid-user
</Directory>
В /etc/rc.conf дописывем:
# apache2_enable=?YES?
Перезагружаемся.
ABillS
Устанавливаем из портов abills-0.24.f2-freebsd-port.tar:
# tar zxvf abills-0.24.f2-freebsd-port.tar
# cd abills-0.24.f2-freebsd-port
# make install clean
FreeRadius и Perl модули DBI, DBD::mysql, Digest-MD5, Digest-MD4, Crypt-DES, Digest-SHA1, libnet и Time-HiRes утанавливается вместе с ABillS.
Правим конфигурационный файл системы /usr/local/abills/libexec/config.pl
#DB configuration
$conf{dbpasswd}='пароль_базы_sql'; # строка 9
#Mail configuration
$conf{ADMIN_MAIL}='info@имя_нашего_шлюза; # строка 12
$conf{USERS_MAIL_DOMAIN}="имя_нашего_шлюза"; # строка 13
$conf{default_lanquage}=?russian? # строка 15
#Backup SQL data
$MYSQLDUMP=?/usp/local/bin/mysqldump? # строка 69
Правим субконфигурационый файл веб интерфейса
/usr/local/abills/cgi-bin/admin/Abwconf.pm
#Hash of url params
$language = 'russian'; # строка 99
#DB settings
$conf{dbpasswd}='пароль_базы_sql'; # строка 109
#Mail configuration
$conf{USERS_MAIL_DOMAIN}='имя_нашего_шлюза; # строка 112
$conf{admin_mail}='email_админа; # строка 113
Вносим в cron периодические процессы ? дописываем в конец /etc/crontab
\*/5 * * * * root /usr/local/abills/libexec/billd -all
1 0 * * * root /usr/local/abills/libexec/periodic daily
1 0 1 * * root /usr/local/abills/libexec/periodic monthly
Права на чтение и запись вебсервером (www) для файлов веб интерфейса (abills/cgi-bin) установились при установке ABillS (команда # chown -Rf www /usr/local/abills/cgi-bin)
Создаём файл /usr/local/abills/cgi-bin/admin/admins с паролями администратора
# htpasswd -c /usr/local/abills/cgi-bin/admin/admins admin
Вводим пароль на вход в ABillS через веб интерфейс и подтверждаем его.
Radius
Пакет FreeRadius установился вместе с ABillS.
Правим файлы:
/usr/local//etc/raddb/users:
DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/abills/libexec/rauth.pl"
/usr/local/ etc/raddb/acct_users:
DEFAULT Acct-Status-Type == Start
Exec-Program = "/usr/abills/libexec/racct.pl"
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/radiusd.conf:
В этом файле нужно закоментировать использование модулей ?chap?, ?eap? и ?mschap? в разделе ?authorize?
# chap # строка 1591
# mschap # строка 1599
# eap # строка 1628
В /etc/rc.conf дописывем:
# radiusd_enable=?YES?
PPPOE
Правим файл настройки ppp
/etc/ppp/ppp.conf
default:
set log Warning
# В конец дописываем
pppoe-in: # Метка (индентификатор правил)
set mtu 1492
set mru 1492
allow mode direct
enable lqr
# set lqrperiod 5
set timeout 6000
disable acfcomp protocomp
deny acfcomp
# если авторизация из UNIX базы паролей enable pap
enable chap
set speed sync
accept dns
#set dns xxx.xxx.xxx.xxx
# Номер порта для контроля и пароль
set server +3000 password
set radius /etc/radius.conf
set rad_service_type 11
# Таймаут для Alive пакетов в секундах
set rad_alive 30
# Устанавливаем диапазон адресов выделяемых клиентам PPPOE
set ifaddr 192.168.1.1 192.168.1.255 255.255.255.0
add default HISADDR
# Скрипт для поднятия шейпера
set ip-up /etc/ppp/shape.ppp
set ip-down /etc/ppp/shape.ppp
Запускаем PPPoE демон:
/usr/libexec/pppoed -l pppoe-in -p * rl1
Для автоматического поднятия PPPoE демона после перезагрузки в OS FreeBSD правим файл
/etc/rc.conf
pppoed_enable="YES"
pppoed_flags="-l pppoe-in"
pppoed_interface=" rl1? # Интерфейс на котором демон будет слушать
Проверка работы:
Отрываем веб интерфейс http://your.host/billing/admin/ Прежде всего надо скунфигурировать NAS сервер.
Переходим в меню Other→NAS configuration
Параметры
IP IP адрес NAS сервера: 127.0.0.1
Name Название, например: Billing_router
Radius NAS-Identifier Индентификатор сервера (можно не вписывать)
Describe Описание сервера
Type Тип сервера: EXPPP
Authorization Тип авторизации. SQL - хранение паролей в SQL базе
:Manage: Секция менеджмента NAS сервера
IP:PORT IP адрес и порт для контроля соединения. Например для отключения пользователя с веб интерфейса.
User Пользователь для контроля
Password Пароль
RADIUS Parameters Дополнительные параметры которые передаются NAS серверу после успешной авторизации.
Нажимаем ADD.
Внизу у созданного NAS сервера изменяем IP-POOL:
FIRST IP: первый адрес диапазона выделяемого пользавателям
COUNT: количество адресов
Нажимаем ADD.
Создание тарифного плана:
Меню Tarif Plans
Регистрация пользователя:
Меню Users→Add
Добавляем пользователя, указываем ему пароль, закидываем деньги на счет
Проверяем:
# radtest testuser testpassword 127.0.0.1:1812 0 radsecret 0 127.0.0.1
Если всё правильно настроено в файле логов /usr/local/abills/var/log/abills.log должна появится строка
2005-02-23 12:55:55 LOG_INFO: AUTH [testuser] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799
exppp_asm-0.2.4
Переходим в каталог с программами и устанавливаем exppp_asm-0.2.4:
# cd abills/soft
# tar zxvf exppp_asm-0.2.4.tar.gz
# cd exppp_asm-0.2.4
# make
# cp ppp /usr/sbin/
# cp etc/shape.ppp /etc/ppp
# cp raddb/exppp /usr/local/etc/raddb/
Дописываем в файл
/usr/local/etc/raddb/dictionary:
$INCLUDE /usr/local/etc/raddb/exppp
Создаем конфигурационный файл для подключения к радиусу
/etc/radius.conf
auth localhost:1812 пароль_базы_sql 4 4
acct localhost:1813 пароль_базы_sql 4 4
Перезагружаемся
После установки конфигурируем ядро:
# cd usr/src/sys/i386/conf # заходим в каталог где лежит конфиг ядра
# cp GENERIC MYСONF # делаем копию нашего нового ядра называя ее MYСONF
# ee MYСONF # редактируем наш конфиг ядра
В начале:
machine i386 # ваш тип системы
cpu i586_cpu # ваш тип процессора,остальные можно закомментировать
ident MYСONF # идентификатор конфига
maxusers 32
Опускаемся в самый конец конфига и добавляем в него строки:
options IPFIREWALL (включаем поддержку самого firewall'a)
options IPFIREWALL_VERBOSE (это нужно, что бы наш firewall смог записывать логи)
options IPFIREWALL_VERBOSE_LIMIT=10 (данная опция ограничивает попадающие в firewall логи, это крайне полезная опция, она не даст сгенерироваться большому числу пакетов которое может привести к переполнению жесткого диска, и вам самим можно будет более точно оценивать, что происходит, не копаясь в больших логах)
options IPDIVERT (обязательна для работы NAT)
options DUMMYNET (требуется для ведения статистики)
options TCP_DROP_SYNFIN (эта опция нам не нужна, но ее включение будет гарантировать полное отбрасывание таких не хороших TCP пакетов с одновременно установленными флагами начала и завершения соединения, из собственной практики я зная, что такие пакеты очень часто любят использовать хакеры)
###- options ICMP_BANDLIM (сильно снижает число генерируемых машиной сообщений об ошибках TCP/IP, крайне полезная опция в отбивания DOS атак)
options NETGRAPH
options NETGRAPH_PPPOE
Сохраням наш конфиг MYСONF.
Далее:
# config MYСONF
# cd ../compile/ MYСONF
# make depend
# make
# make install
Следующие строки включить в rc.conf файл конфигурации:
hostname="имя_нашего_шлюза"
defaultrouter="IP_шлюза_провайдера"
ifconfig_rl0="IP_внешнего_интерфейса" # интерфейс смотрящий в интернет
ifconfig_rl1=" IP_внутреннего_интерфейса " # интерфейс смотрящий в локальную сеть
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN" # потом можно заменить на свою секцию в /etc/rc.firewall
natd_enable="YES"
natd_interface="rl0" # NAT-ить будем интерфейс смотрящий в интернет
tcp_drop_synfin="YES"
sendmail_enable="NONE"
# Для удаленного управления нужно добавить следующую строку:
sshd_enable="YES"
# (возможно понадобится скопировать /etc/ssh/ssh_host_dsa_key.pub в
#/root/.ssh/authorized_keys и разрешить логинится удаленно для root)
#появятся в ходе установки:
mysql_enable="YES"
apache2_enable="YES"
pppoed_enable="YES"
pppoed_flags="-l pppoe-in"
pppoed_interface="rl1" # слушаем интерфейс смотрящий в локальную сеть в файле /etc/ssh/sshd_config)
Перезагружаемся.
Проверяем работу сети:
# ping IP_внешнего_интерфейса
# ping IP_внутреннего_интерфейса
# ping IP_шлюза _интернет_провайдера
# ping IP_компа_на_внутреннем_интерфейсе
Все должно работать.
Если ничего, кроме 1 диска FreeBSD нет, то устанавливаем из портов. При этом необходимо подключение к Интернет.
Если с прошлой установки Вы позаботились и скопировали папку /ust/ports/distfiles на cd-rom, то используем эти ихходники:
Монтируем CDROM:
# mount -t cd9660 /dev/acd0 /cdrom
Копируем c СD-ROM папку distfiles, в которой лежат исходники с предыдущей установки на диск в /ust/ports:
# cp -R /cdrom/distfiles /ust/ports
Установка MC:
- установить glib-1.2.6:
# gunzip glib-1.2.6.tar.gz
# tar -xvf glib-1.2.6.tar
# cd glib-1.2.6
# ./configure
# make
# make install
-установть mc:
# gunzip mc-4.6.1.tar.gz
# tar -xvf mc-4.6.1.tar
# cd mc-4.6.1
# ./configure
# make
# make install
-выполнить:
# rehash
-запустить mc:
# mc
SAMBA
# gzip -d samba-3.0.20.tar.gz
# tar -xvf samba-3.0.20.tar
# cd samba-3.0.20
# ./configure
# make
# make install
Смотрим /etc/services. Есть ли там порт 139/tcp? Если нет, то всталяем (или правим):
netbios-ssn 139/tcp
Аналогично для порта 137/udp:
netbios-ns 137/udp
Далее, радактируем /etc/inetd.conf/. Ищем, исправляем и раскоментируем строки:
netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/sbin/nmbd nmbd
swat stream tcp nowait/400 root /usr/local/samba/sbin/swat swat
В rc.conf добавляем запуск inetd:
inetd_enadle="YES"
С другой машины (или прямо со своей, установив предварительно текстовый браузер links из портов) в браузере запускаем SWAT: http://IP_нашей_машины:901/
Настройки /usr/local/samba/lib/smb.conf:
[global]
dos charset = 866
display charset = KOI8-R
workgroup = AVIA
interfaces = lnc1 #внутренний интерфейс lnc1
security = SHARE
encrypt passwords = No
os level = 55
preferred master = Yes
domain master = No
wins support = Yes
ldap ssl = no
[Ppogi] # Имя нашей шары
path = /usr/share/progi # путь к нашей шаре
read only = No # если только просмотр и копирование, то read only = Yes
guest ok = Yes
Создаем папку /usr/share/progi
Изменяем ее атрибуты, если хотим, чтобы в нее писали все:
в mc -> F9 -> File -> cHmod ? отметить write by owner, write by other
Все, интернет-шлюз и файл-сервер работает.
MySQL
MySQL устанавливаем из портов.
# cd /usr/ports/database/mysql40-server
# make install clean
В /etc/rc.conf дописывем:
# mysql_enable=?YES?
Перезагружаемся.
Создаём пользователя и базу.
Входим в mysql:
# mysql
mysql> use mysql;
mysql> INSERT INTO user (Host, User, Password) VALUES (?%?,?abills?, password(?пароль_базы_sql?));
mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv) VALUES (?localhost?, ?abills?, ?abills?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?, ?Y?);
mysql> CREATE DATABASE abills;
mysql> exit
# mysqladmin flush-privileges
Загружаем таблицы в базу:
# mysql -D abills < /usr/local/abills/abills.sql
Web Server Apache
Перед установкой Apache устанавливает expat-1.95.8:
# tar xvfz expat-1.95.8.tar.gz
# cd expat-1.95.8
# ./configure
# make
# make install
Apache устанавливаем из портов.
# cd /usr/ports/www/apache2
# make install clean
Создаем файл /usr/local/etc/apache2/Includes/abills.conf:
Alias /billing "/usr/local/abills/cgi-bin/"
<Directory "/usr/local/abills/cgi-bin">
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]
Options Indexes ExecCGI SymLinksIfOwnerMatch
</IfModule>
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex users.cgi
AddHandler cgi-script .cgi
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/abills/cgi-bin/admin">
Options Indexes ExecCGI SymLinksIfOwnerMatch
AllowOverride none
DirectoryIndex users.cgi
order deny,allow
deny from all
AuthType Basic
AuthName "ABillS"
AuthUserFile /usr/local/abills/cgi-bin/admin/admins
Satisfy Any
require valid-user
</Directory>
В /etc/rc.conf дописывем:
# apache2_enable=?YES?
Перезагружаемся.
ABillS
Устанавливаем из портов abills-0.24.f2-freebsd-port.tar:
# tar zxvf abills-0.24.f2-freebsd-port.tar
# cd abills-0.24.f2-freebsd-port
# make install clean
FreeRadius и Perl модули DBI, DBD::mysql, Digest-MD5, Digest-MD4, Crypt-DES, Digest-SHA1, libnet и Time-HiRes утанавливается вместе с ABillS.
Правим конфигурационный файл системы /usr/local/abills/libexec/config.pl
#DB configuration
$conf{dbpasswd}='пароль_базы_sql'; # строка 9
#Mail configuration
$conf{ADMIN_MAIL}='info@имя_нашего_шлюза; # строка 12
$conf{USERS_MAIL_DOMAIN}="имя_нашего_шлюза"; # строка 13
$conf{default_lanquage}=?russian? # строка 15
#Backup SQL data
$MYSQLDUMP=?/usp/local/bin/mysqldump? # строка 69
Правим субконфигурационый файл веб интерфейса
/usr/local/abills/cgi-bin/admin/Abwconf.pm
#Hash of url params
$language = 'russian'; # строка 99
#DB settings
$conf{dbpasswd}='пароль_базы_sql'; # строка 109
#Mail configuration
$conf{USERS_MAIL_DOMAIN}='имя_нашего_шлюза; # строка 112
$conf{admin_mail}='email_админа; # строка 113
Вносим в cron периодические процессы ? дописываем в конец /etc/crontab
\*/5 * * * * root /usr/local/abills/libexec/billd -all
1 0 * * * root /usr/local/abills/libexec/periodic daily
1 0 1 * * root /usr/local/abills/libexec/periodic monthly
Права на чтение и запись вебсервером (www) для файлов веб интерфейса (abills/cgi-bin) установились при установке ABillS (команда # chown -Rf www /usr/local/abills/cgi-bin)
Создаём файл /usr/local/abills/cgi-bin/admin/admins с паролями администратора
# htpasswd -c /usr/local/abills/cgi-bin/admin/admins admin
Вводим пароль на вход в ABillS через веб интерфейс и подтверждаем его.
Radius
Пакет FreeRadius установился вместе с ABillS.
Правим файлы:
/usr/local//etc/raddb/users:
DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/abills/libexec/rauth.pl"
/usr/local/ etc/raddb/acct_users:
DEFAULT Acct-Status-Type == Start
Exec-Program = "/usr/abills/libexec/racct.pl"
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/radiusd.conf:
В этом файле нужно закоментировать использование модулей ?chap?, ?eap? и ?mschap? в разделе ?authorize?
# chap # строка 1591
# mschap # строка 1599
# eap # строка 1628
В /etc/rc.conf дописывем:
# radiusd_enable=?YES?
PPPOE
Правим файл настройки ppp
/etc/ppp/ppp.conf
default:
set log Warning
# В конец дописываем
pppoe-in: # Метка (индентификатор правил)
set mtu 1492
set mru 1492
allow mode direct
enable lqr
# set lqrperiod 5
set timeout 6000
disable acfcomp protocomp
deny acfcomp
# если авторизация из UNIX базы паролей enable pap
enable chap
set speed sync
accept dns
#set dns xxx.xxx.xxx.xxx
# Номер порта для контроля и пароль
set server +3000 password
set radius /etc/radius.conf
set rad_service_type 11
# Таймаут для Alive пакетов в секундах
set rad_alive 30
# Устанавливаем диапазон адресов выделяемых клиентам PPPOE
set ifaddr 192.168.1.1 192.168.1.255 255.255.255.0
add default HISADDR
# Скрипт для поднятия шейпера
set ip-up /etc/ppp/shape.ppp
set ip-down /etc/ppp/shape.ppp
Запускаем PPPoE демон:
/usr/libexec/pppoed -l pppoe-in -p * rl1
Для автоматического поднятия PPPoE демона после перезагрузки в OS FreeBSD правим файл
/etc/rc.conf
pppoed_enable="YES"
pppoed_flags="-l pppoe-in"
pppoed_interface=" rl1? # Интерфейс на котором демон будет слушать
Проверка работы:
Отрываем веб интерфейс http://your.host/billing/admin/ Прежде всего надо скунфигурировать NAS сервер.
Переходим в меню Other→NAS configuration
Параметры
IP IP адрес NAS сервера: 127.0.0.1
Name Название, например: Billing_router
Radius NAS-Identifier Индентификатор сервера (можно не вписывать)
Describe Описание сервера
Type Тип сервера: EXPPP
Authorization Тип авторизации. SQL - хранение паролей в SQL базе
:Manage: Секция менеджмента NAS сервера
IP:PORT IP адрес и порт для контроля соединения. Например для отключения пользователя с веб интерфейса.
User Пользователь для контроля
Password Пароль
RADIUS Parameters Дополнительные параметры которые передаются NAS серверу после успешной авторизации.
Нажимаем ADD.
Внизу у созданного NAS сервера изменяем IP-POOL:
FIRST IP: первый адрес диапазона выделяемого пользавателям
COUNT: количество адресов
Нажимаем ADD.
Создание тарифного плана:
Меню Tarif Plans
Регистрация пользователя:
Меню Users→Add
Добавляем пользователя, указываем ему пароль, закидываем деньги на счет
Проверяем:
# radtest testuser testpassword 127.0.0.1:1812 0 radsecret 0 127.0.0.1
Если всё правильно настроено в файле логов /usr/local/abills/var/log/abills.log должна появится строка
2005-02-23 12:55:55 LOG_INFO: AUTH [testuser] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799
exppp_asm-0.2.4
Переходим в каталог с программами и устанавливаем exppp_asm-0.2.4:
# cd abills/soft
# tar zxvf exppp_asm-0.2.4.tar.gz
# cd exppp_asm-0.2.4
# make
# cp ppp /usr/sbin/
# cp etc/shape.ppp /etc/ppp
# cp raddb/exppp /usr/local/etc/raddb/
Дописываем в файл
/usr/local/etc/raddb/dictionary:
$INCLUDE /usr/local/etc/raddb/exppp
Создаем конфигурационный файл для подключения к радиусу
/etc/radius.conf
auth localhost:1812 пароль_базы_sql 4 4
acct localhost:1813 пароль_базы_sql 4 4
Перезагружаемся
Уже не знаю что можно попробовать сделать!!!
У меня FreeBSD 4.10
Mysql 4.1.20
и apache 1.3.34
Хочу поставить abills 3.1
Сделал все по инструкиции, но не могу зайти на web сервер.
Ошибка
500 Internal Server Error
Смотрю логи веб сервера там
DBI connect('database=abills;host=localhost','abills',...) failed: at ../../Abills/mysql//main.pm line 71
Кто знает как бороться с этой штукой???
Заранее спасибо!
У меня FreeBSD 4.10
Mysql 4.1.20
и apache 1.3.34
Хочу поставить abills 3.1
Сделал все по инструкиции, но не могу зайти на web сервер.
Ошибка
500 Internal Server Error
Смотрю логи веб сервера там
DBI connect('database=abills;host=localhost','abills',...) failed: at ../../Abills/mysql//main.pm line 71
Кто знает как бороться с этой штукой???
Заранее спасибо!