=====Installation manual=====
[[andman@ppnnet.net]]
=====Radius=====
Download and install the latest version of FreeRadius [http://www.freeradius.org]
server$ tar zxvf freeradius-1.1.0.tar.gz
server$ freeradius-1.1.0
server$ ./configure --prefix=/usr/local/radiusd/
server$ make
server# make install (as root)
If you don’t see any errors - you have successfully installed radius server:
Next step is to configure radius server:\\
server# vi /usr/local/radiusd/etc/raddb/users
DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/abills/libexec/rauth.pl"
server# vi /usr/local/radiusd/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"
server# vi /usr/local/radiusd/etc/raddb/clients.conf
Put the IP/name and password of your NAS server:
\\
client nashost.nasdomain {
secret = radsecret
shortname = shorrname
}
\\
server# vi /usr/local/radiusd/etc/raddb/radiusd.conf
The following lines must be commented:
'chap' and 'mschap' in section 'authorize'
authorize {
preprocess
# chap
# counter
# attr_filter
# eap
suffix
files
# etc_smbpasswd
# sql
# mschap
}
=====MySQL=====
Download the tarball from [http://www.mysql.com]\\
server$ tar xvfz mysql-4.1.16.tar.gz
server$ cd mysql-4.1.16
server$ ./configure
server$ make
server# make install (as root)
Create user and database:
server# mysql
use mysql;
INSERT INTO user (Host, User, Password)
VALUES ('localhost','abills', password('sqlpassword'));
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)
VALUES ('localhost', 'abills', 'abills', 'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y');
CREATE DATABASE abills;
flush privileges;
\\
Create tables in the database:\\
server# mysql -D abills < abills.sql
=====Perl modules=====
You need install some perl modules before proceed:\\
| **DBI** | |
| **DBD::mysql** | |
| **Digest-MD5** | for Chap authorization |
| **Digest-MD4** | for MS-Chap authorization |
| **Crypt-DES** | for MS-Chap authorization |
| **Digest-SHA1**| for MS-ChapV2 authorization |
| **libnet** | Only for UNIX type authorization |
| **Time-HiRes** | Show authorization,page generation time. |
Download it from [http://www.cpan.org]
=====Web Server=====
=====Apache=====
Edit **httpd.conf**
#Abills version 0.3
# User interface
Alias /abills "/usr/abills/cgi-bin/"
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]
Options Indexes ExecCGI SymLinksIfOwnerMatch
AddHandler cgi-script .cgi
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex index.cgi
Order allow,deny
Allow from all
Order allow,deny
Deny from all
#Admin interface
AddHandler cgi-script .cgi
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex index.cgi
order deny,allow
allow from all
=====ABillS=====
Download it from [http://sourceforge.net/projects/abills/]\\
server# tar zxvf abills-0.3x.tgz
server# cp -Rf abills /usr/
server# vi /usr/abills/libexec/config.pl
\\
#DB configuration
$conf{dbhost}='localhost';
$conf{dbname}='abills';
$conf{dblogin}='abills';
$conf{dbpasswd}='sqlpassword';
$conf{ADMIN_MAIL}='info@your.domain';
$conf{USERS_MAIL_DOMAIN}="your.domain";
$conf{secretkey}="test12345678901234567890";
\\
server# vi /etc/crontab
\*/5 * * * * root /usr/abills/libexec/billd -all
1 0 * * * root /usr/abills/libexec/periodic daily
1 0 * * * root /usr/abills/libexec/periodic monthly
\\
Change the permissions:\\
server# chown -Rf www /usr/abills/cgi-bin
Open the web interface http://your.host/abills/admin/
Default user ''abills'' password ''abills ''\\
First of all must fill the parameters for NAS server:
\\
**System configuration->NAS**\\
**Parameters**
^ IP | IP address NAS |
^ Name | Name |
^ Radius NAS-Identifier | NAS-Identifier (optional) |
^ Describe | Server decription |
^ Type | Server type |
^ Authorization | Type of authorization. \\ **SYSTEM** (/etc/passwd) **SQL** -use \\ SQL database (MySQL, PosgreSQL) \\ |
^ Alive | Alive period |
^ Disable | Disable |
^ :Manage: | NAS server management |
^ IP:PORT | IP address and port to control connections |
^ User | Username |
^ Password | Password |
^ RADIUS Parameters | Further parameters for NAS after login.|
Here you need to add ip address range **IP POOLs**.
^ FIRST IP | First IP|
^ COUNT | Count IP |
Create tariff plans:
\\
Menu:\\
**System configuration->Dialup & VPN->Tarif Plans**\\
Register a customer:
\\
**Customers->Users->Add**\\
**Testing**\\
# radtest testuser testpassword 127.0.0.1:1812 0 radsecret 0 127.0.0.1
See ‘/usr/abills/var/log/abills.log’ for more details (errors,messages)
\\
2005-02-23 12:55:55 LOG_INFO: AUTH [testuser] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799