=====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