Build
From FreeRADIUS Wiki
Contents |
Building FreeRADIUS
Supported Platforms
FreeRADIUS is known to run on a large number of 32 and 64bit platforms, however building on some of them may require following special procedures here
Building from Source
If your operating system has support for a package manager such as .deb or .rpm file format, we recommend that you follow the instructions in the next section instead.
bash$ tar zxvf freeradius-[version].tar.gz bash$ ./configure bash$ make bash$ su - root bash# make install
Don't forget to read supplied documentation first, including the configuration files. As with many free software projects, FreeRADIUS could use more documentation. Until such documentation is available, the only place that configuration items are documented is in the configuration files themselves.
If you have problems when trying to run FreeRADIUS, and you see error messages like:
rlm_sql: Could not link driver rlm_sql_mysql: file not found
Then the shared libraries on your system are misconfigured.
Building on MAC OSX
# ./configure --enable-developer # make # sudo make install
and freeradius runs and responds to radtest.
Building on Solaris
Please see: Solaris
Building Packages
If your operating system has a packaging system (dpkg, rpm, tgz), its usually better to install the appropriate packages instead of directly installing from source.
Note: Pre-built binary packages are available for a number of operating systems.
It's usually easier and more reliable to use pre-built packages from standard repositories of the operating system vendor. Build your own packages only if you cannot find the former.
Building Debian packages
If you're using Debian GNU/Linux, you should first check whether your desired version of FreeRADIUS is available in the Debian package repositories, because that will save you the trouble of building packages yourself.
Please see: http://packages.debian.org/freeradius
It is possible to build FreeRADIUS packages from the source, using dpkg-buildpackage. Using packages avoids installing directly from source, which would confuse dpkg about the files installed on the system and make it impossible to uninstall the files later.
$ tar zxf freeradius-server-2.X.Y.tar.gz $ cd freeradius-server-2.X.Y $ fakeroot dpkg-buildpackage -b -uc $ sudo dpkg -i ../*freeradius*_2.X.Y-*_*.deb
Notes:
- If you don't have dpkg-buildpackage do the following :
# apt-get install dpkg-dev
- If you don't have a pre-requisite package, dpkg-buildpackage will warn you. Install any listed packages that are missing, or run:
# apt-get build-dep freeradius
- If you build the package as root -- which is not recommended! -- omit the fakeroot and sudo from the above calls.
- The default Debian / Ubuntu build rules include OpenSSL support. As of version 2.1.8, OpenSSL support is included by default in the debian build rules shipped with FreeRADIUS, but it still requires you to install the OpenSSL libraries manually. Version 2.1.9 does not have this problem. Using pre-built packages also avoids this problem. You can install the needed OpenSSL libraries by doing:
# apt-get install libssl-dev
Building Ubuntu packages
If you're using Ubuntu, you should first check whether your desired version of FreeRADIUS is available in the Ubuntu package repositories, because that will save you the trouble of building packages yourself.
Please see: http://packages.ubuntu.com/freeradius
For build instructions, please see the Debian section immediately above.
Building RedHat packages
Please refer to the information on the Red Hat specific page Red Hat FAQ.
Building SUSE packages
On SUSE Linux it should be a simple matter of taking the latest FreeRADIUS release tarball and dropping it in /usr/src/packages/SOURCES along with the other files from the suse/ directory inside the tarball with the exception of freeradius.spec which goes in /usr/src/packages/SPECS
Then simply run:
rpmbuild -ba /usr/src/packages/SPECS/freeradius.spec
rpmbuild will tell you if you are missing any build dependencies. If so, simply install them with yast2 -i packagename-devel then rerun rpmbuild
Building SUSE packages with Oracle Support
If you wish to use Oracle you will need to recompile FreeRADIUS on a machine that has Oracle development libraries installed. FreeRADIUS is known to work both with a full Oracle installation as well as with the Oracle Instant Client SDK. Once built the resulting RPM package can be deployed with just the Oracle Instant Client (No need for the SDK on production machines)
Most rpm packages available do not included oraclesql.conf due to the fact that they also don't contain the Oracle driver module (due to copyright reasons)
On SUSE Linux if you have the Oracle header files in a sane location it should be a simple matter of taking the latest FreeRADIUS release tarball and dropping it in /usr/src/packages/SOURCES along with the other files from the suse/ directory inside the tarball with the exception of freeradius.spec which goes in /usr/src/packages/SPECS
Then edit /usr/src/packages/SPECS/freeradius.spec and change
%define _oracle_support 0
to
%define _oracle_support 1
Then simply run:
rpmbuild -ba /usr/src/packages/SPECS/freeradius.spec