Freeradius 3.0.14 - Enable SQLite

Stabla, Daniel dstabla at materna.de
Thu Jun 8 12:54:41 CEST 2017


Hello,

we try to enable SQLite for accounting. We configured mods-enabled/sql , 
so that it should use SQLite.

But if we try to start radiusd , we get this error:

/etc/radiusd-acct/mods-enabled/sql[26]: Failed to link to module 
'rlm_sqlite': /usr/local/lib64/rlm_sqlite.so: cannot open shared object 
file: No such file or directory /usr/local/lib/rlm_sqlite.so: cannot 
open shared object file: No such file or directory

Which is true, because the module is had been installed as 
/usr/local/lib64/rlm_sql_sqlite.so .

Our compiler option: ./configure --without-rlm_rediswho 
--with-rlm_sql_sqlite=yes

What did we wrong?

The configuration of mods-enabled/sql:

# -*- text -*-

##

## sql.conf -- SQL modules

##

##$Id: 4997a802dfd8660f622d06f577a787bf30895e3e $

######################################################################

#

#Configuration for the SQL module

#

#The database schemas and queries are located in subdirectories:

#

#sql/<DB>/main/schema.sqlSchema

#sql/<DB>/main/queries.confAuthorisation and Accounting queries

#

#Where "DB" is mysql, mssql, oracle, or postgresql.

#

#

#

#Several drivers accept specific options, to set them a config section

#matching the name of the driver should be added to the sql instance.

#

#Driver specific options are:

#

sqlite {

# Path to the sqlite database

filename = "/tmp/database.db"

# If the file above does not exist and bootstrap is set

# a new database file will be created, and the SQL statements

# contained within the file will be executed.

bootstrap = "/etc/radiusd-acct/sql/main/sqlite/schema.sql"

}

#

#mysql {

## If any of the below files are set tls encryption is enabled

#tls {

#ca_file = "/etc/ssl/certs/my_ca.crt"

#ca_path = "/etc/ssl/certs/"

#certificate_file = "/etc/ssl/certs/private/client.crt"

#private_key_file = "/etc/ssl/certs/private/client.key"

#cipher = "DHE-RSA-AES256-SHA:AES128-SHA"

#}

#}

sql {

# The sub-module to use to execute queries. This should match

# the database you're attempting to connect to.

#

#* rlm_sql_mysql

#* rlm_sql_mssql

#* rlm_sql_oracle

#* rlm_sql_postgresql

#* rlm_sql_sqlite

#* rlm_sql_null (log queries to disk)

#

driver = "rlm_sql_sqlite"

# The dialect of SQL you want to use, this should usually match

# the driver you selected above.

#

# If you're using rlm_sql_null, then it should be the type of

# database the logged queries are going to be executed against.

dialect = "sqlite"

# Database table configuration for everything except Oracle

radius_db = "radius"

# If you want both stop and start records logged to the

# same SQL table, leave this as is.If you want them in

# different tables, put the start table in acct_table1

# and stop table in acct_table2

acct_table1 = "radacct"

acct_table2 = "radacct"

# Allow for storing data after authentication

postauth_table = "radpostauth"

# Tables containing 'check' items

authcheck_table = "radcheck"

groupcheck_table = "radgroupcheck"

# Tables containing 'reply' items

authreply_table = "radreply"

groupreply_table = "radgroupreply"

# Table to keep group info

usergroup_table = "radusergroup"

# If set to 'yes' (default) we read the group tables

# If set to 'no' the user MUST have Fall-Through = Yes in the radreply table

read_groups = yes

# Remove stale session if checkrad does not see a double login

delete_stale_sessions = yes

# Write SQL queries to a logfile. This is potentially useful for tracing

# issues with authorization queries.

#logfile = ${logdir}/sqllog.sql

#As of version 3.0, the "pool" section has replaced the

#following configuration items:

#

#num_sql_socks

#connect_failure_retry_delay

#lifetime

#max_queries

#

#The connection pool is new for 3.0, and will be used in many

#modules, for all kinds of connection-related activity.

#

pool {

# Number of connections to start

start = 5

# Minimum number of connections to keep open

min = 4

# Maximum number of connections

#

# If these connections are all in use and a new one

# is requested, the request will NOT get a connection.

max = 10

# Spare connections to be left idle

#

# NOTE: Idle connections WILL be closed if "idle_timeout"

# is set.

spare = 3

# Number of uses before the connection is closed

#

# 0 means "infinite"

uses = 0

# The lifetime (in seconds) of the connection

lifetime = 0

# idle timeout (in seconds).A connection which is

# unused for this length of time will be closed.

idle_timeout = 60

# NOTE: All configuration settings are enforced.If a

# connection is closed because of "idle_timeout",

# "uses", or "lifetime", then the total number of

# connections MAY fall below "min".When that

# happens, it will open a new connection.It will

# also log a WARNING message.

#

# The solution is to either lower the "min" connections,

# or increase lifetime/idle_timeout.

}

# Set to 'yes' to read radius clients from the database ('nas' table)

# Clients will ONLY be read on server startup.

#read_clients = yes

# Table to keep radius client info

client_table = "nas"

# Read database-specific queries

$INCLUDE ${modconfdir}/${.:name}/main/${dialect}/queries.conf

}

Kind regards.


D. Stabla



More information about the Freeradius-Users mailing list