Skip to content

Commit ab6ddb3

Browse files
noladealandekok
authored andcommitted
Add OS specific install/build instructions
1 parent 9e83f91 commit ab6ddb3

21 files changed

+433
-324
lines changed

doc/antora/modules/howto/nav.adoc

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
* xref:index.adoc[Howto Guides]
22
3-
** xref:howto:installation/index.adoc[Installing and upgrading]
4-
*** xref:howto:installation/packages.adoc[Install from packages]
3+
** xref:howto:installation/index.adoc[Installing and Upgrading]
54
*** xref:howto:installation/dependencies.adoc[Dependencies]
6-
*** xref:howto:installation/source.adoc[Build from source]
7-
*** xref:howto:installation/upgrade.adoc[Upgrading from v3 to v4]
8-
*** xref:howto:installation/attribute_names.adoc[Attribute name changes from v3 to v4]
9-
*** Building Packages
5+
*** xref:howto:installation/packages.adoc[Install from Packages]
6+
*** xref:howto:installation/source.adoc[Build from Source]
107
**** xref:howto:installation/debian.adoc[Debian and Ubuntu]
11-
**** xref:howto:installation/redhat.adoc[RedHat and CentOS]
8+
**** xref:howto:installation/redhat.adoc[RedHat and Rocky]
9+
**** xref:howto:installation/osx.adoc[OSX]
10+
*** xref:howto:installation/upgrade.adoc[Upgrading from v3 to v4]
11+
**** xref:howto:installation/attribute_names.adoc[Attribute Name Changes from v3 to v4]
1212

13-
** Modules
14-
*** xref:modules/configuring_modules.adoc[Configuring Modules]
13+
** xref:modules/configuring_modules.adoc[Configuring Modules]
1514
*** xref:modules/chap/index.adoc[CHAP]
1615
*** xref:modules/eap/index.adoc[EAP]
1716
*** xref:modules/expiration/index.adoc[Expiration]

doc/antora/modules/howto/pages/index.adoc

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,49 @@
11
= Howto Guides
22

3-
The documents in this section describe how to perform various common tasks with
4-
FreeRADIUS. They also provide worked examples on using the various modules in
5-
common deployment scenarios.
3+
This section describe how to perform various common tasks with
4+
FreeRADIUS. Each sub-section provides worked examples such as using the modules in common deployment scenarios or building packages.
5+
6+
The section is broken down into the following top-level areas:
7+
8+
xref:howto:installation/index.adoc[Installing and Upgrading] contains instructions for building and installing freeRADIUS from packages and source.
9+
10+
xref:modules/configuring_modules.adoc[Configuring Modules] provides worked examples on using the various modules in common deployment scenarios.
11+
12+
xref:protocols/index.adoc[Protocols]
13+
*** xref:protocols/dhcp/index.adoc[DHCP]
14+
**** xref:protocols/dhcp/prepare.adoc[Preparation]
15+
**** xref:protocols/dhcp/enable.adoc[Enabling the DHCP service]
16+
**** xref:protocols/dhcp/test.adoc[Testing the DHCP service]
17+
**** xref:protocols/dhcp/policy.adoc[Defining the DHCP policy]
18+
***** xref:protocols/dhcp/policy_ippool_creation.adoc[IP pool creation]
19+
***** xref:protocols/dhcp/policy_common_options.adoc[Common options]
20+
***** xref:protocols/dhcp/policy_network_options.adoc[Network options and IP pool selection]
21+
***** xref:protocols/dhcp/policy_subnet_options.adoc[Subnet options]
22+
***** xref:protocols/dhcp/policy_device_options.adoc[Device, class and group options]
23+
***** xref:protocols/dhcp/policy_ippool_access.adoc[IP pool access restriction]
24+
25+
** Security Certificates
26+
*** xref:os/letsencrypt.adoc[Using LetsEncrypt certificates]
27+
28+
** Vendors
29+
*** xref:vendors/ascend.adoc[Ascend]
30+
*** xref:vendors/bay.adoc[Bay]
31+
*** xref:vendors/cisco.adoc[Cisco]
32+
*** xref:vendors/proxim.adoc[ProxIM]
33+
34+
** Optimization
35+
*** xref:monitoring/index.adoc[Monitoring]
36+
**** xref:monitoring/statistics.adoc[Server Statistics]
37+
*** xref:tuning/performance-testing.adoc[Performance Testing]
38+
*** xref:tuning/tuning_guide.adoc[Tuning Guide]
639

740
If you have a topic you'd like to see included in the list of howtos, contact
841
the developers on the
9-
link:https://lists.freeradius.org/mailman/listinfo/freeradius-users[User's
42+
https://lists.freeradius.org/mailman/listinfo/freeradius-users[User's
1043
mailing list].
1144

1245
Some of the documents here started life as pages on
13-
link:https://wiki.freeradius.org[wiki.freeradius.org]. If you've just been
46+
https://wiki.freeradius.org[wiki.freeradius.org]. If you've just been
1447
through a particularly arduous service configuration and deployment, and would
1548
like to help your fellow users, then please create a new how to on the wiki.
1649
If it's popular enough, we'll include it in the official documentation for the

doc/antora/modules/howto/pages/installation/debian.adoc

Lines changed: 22 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
= Installing FreeRadius on Ubuntu
1+
= Build and Install FreeRadius on Ubuntu
22

3-
* Installing from repositories
4-
* Installing from source
3+
* Install from repositories
4+
* Build and Install from Source
55
6-
== Installing from repositories
6+
== Installing from repositories
77

8-
This is usually the easiest solution, but at the moment of writing (2016-06) both Ubuntu 16.04 and Ubuntu 14.04.4 contain packages which are EOL and which are not the latest in their own main version. So building from source is recommended as it will contain the latest version, which probably got most of the bugs sorted.
8+
This is usually the easiest solution, as long as the system packages are the latest in their own main version, or can be updated before building. Building from source is recommended as it will contain the latest version, that contains the most recent bug fixes.
99

10-
To Install :
10+
To begin your install, enter the command below to get the latest info about packages from Ubuntu:
1111

12-
Get the latest info about packages from Ubuntu :
1312
----
14-
sudo apt-get update
13+
sudo apt-get update
1514
----
1615

17-
Then make sure the system is fully upgraded before installing freeradius :
16+
Then make sure the system is fully upgraded before installing freeradius:
1817
----
1918
sudo apt-get upgrade
2019
----
@@ -24,19 +23,19 @@ or
2423
sudo apt-get dist-upgrade
2524
----
2625

27-
After that has been done we can use _apt_ to install freeradius :
26+
After that has been done we can use _apt_ to install freeradius:
2827
----
29-
sudo apt-get install freeradius
28+
sudo apt-get install freeradius
3029
----
3130

3231
This will install the common,utils, ssl-cert, libdbi-perl, and libfreeradius2 packages. As you probably going to connect to a database or use perl, you should probably also install (some of) the suggested packages. Such as: freeradius-ldap, freeradius-postgresql and freeradius-mysql.
3332
----
34-
sudo apt-get install freeradius-ldap
33+
sudo apt-get install freeradius-ldap
3534
----
3635

3736
The 'apt install freeradius' command will list all the suggested packages.
3837

39-
If all went well freeradius should now be installed and started. You can start or stop the server with :
38+
If all went well freeradius should now be installed and started. You can start or stop the server with:
4039
----
4140
sudo service freeradius stop
4241
----
@@ -51,24 +50,13 @@ Suggested is to stop the service and until all is working use freeradius in debu
5150
sudo freeradius -X
5251
----
5352

54-
Right now your config files are in :
55-
----
56-
cd /etc/freeradius
57-
----
58-
Documentation and files for creation of certificates are in :
59-
----
60-
cd /usr/share/doc/freeradius
61-
----
62-
63-
== Installing from source
53+
== Installing from Source
6454

65-
Installing from source can be daunting for people who never did it but as long as you read the output of the building process, it should tell you what went wrong or what is missing.
55+
Installing from source can be daunting for first time users, but as long as you read the output of the building process, it tell you what went wrong or what is missing.
6656

6757
Your first step is to download the source files which can be found on one of the following sites:
6858

69-
1. http://freeradius.org/download.html[Freeradius.org] - Choose the latest release by selecting the relevant button.
70-
71-
2. https://github.com/FreeRADIUS/freeradius-server[Github] - Select the branch you wish to install and press clone or download.
59+
include::partial$get_the_source.adoc[]
7260

7361
Make sure unzip or any other utility that can extract the zip is installed. If not :
7462
----
@@ -114,7 +102,7 @@ In the file _debian/rules_ we might need to make some changes depending on other
114102
pico debian/rules
115103
----
116104

117-
And just before
105+
And just before
118106
----
119107
--without-rlm_eap_ikev2 \
120108
----
@@ -134,7 +122,7 @@ sudo apt-get install libcurl4-openssl-dev libcap-dev libgdbm-dev libiodbc2-dev l
134122

135123
After that we try again to build.
136124
----
137-
fakeroot dpkg-buildpackage -b -uc
125+
fakeroot dpkg-buildpackage -b -uc
138126
----
139127

140128
If it errors out after it has already started building the deb files, you are sometimes better off starting anew. If that happens :
@@ -158,28 +146,19 @@ sudo dpkg -i *freeradius*_W.X.Y*_*.deb
158146
The install might show errors. Read the error !! Ask questions on freeradius list if you cannot figure it out. v2 will fail install often on open_ssl issues. Quick thing to change to prevent just that error is to edit a config file so freeradius will not complain about ssl that might be vulnerable. ( /etc/freeradius/eap.conf (v2) or /etc/freeradius/modules-enabled/eap )
159147

160148

161-
162-
163-
164-
165-
166-
167-
168-
169-
170149
== Building on Debian or Ubuntu
171150

172151
Building Debian packages (including Ubuntu) of FreeRADIUS from source is kept as simple as possible.
173152

174153
== Building the stable release (v3.0)
175154

176-
Building packages should be very simple. First obtain a copy of the source and unpack it. Second, build the packages.
155+
Building packages is very simple. First obtain a copy of the source and unpack it. Second, build the packages.
177156

178157
== Getting the source
179158

180-
include:Getting-the-Source
159+
include::partial$get_the-source
181160

182-
== Installing build dependencies
161+
== Build dependencies
183162

184163
Use the following to make sure that all build dependencies are all installed:
185164

@@ -213,31 +192,15 @@ make
213192
sudo make install
214193
----
215194

216-
217195
== Building development versions (v4.0)
218196

219197
Note that version 4 is for developers only. **Do not use these versions unless you know what you are doing.**
220198

221199
== Upgrading GCC
222200

223-
Older versions of Debian and Ubuntu use GCC < 4.8, which lacks support for the C11 features needed to build FreeRADIUS >= v4.0.x.
224-
225-
In order to switch to GCC 4.9
226-
----
227-
sudo apt-get install software-properties-common python-software-properties
228-
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
229-
sudo apt-get update
230-
sudo apt-get install g++-4.9
231-
232-
# Then select GCC 4.9
233-
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
234-
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
235-
sudo update-alternatives --config gcc
236-
237-
# Choose option 3 from the dialogue
238-
----
201+
include::partial$upgrade_gcc.adoc[]
239202

240-
== Installing hard dependencies
203+
== Hard Dependencies
241204

242205
----
243206
sudo apt-get install libssl-dev libtalloc-dev libkqueue-dev
Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= FreeRADIUS Dependencies
1+
= Dependencies
22

33
Some external dependencies must be installed before building or
44
running FreeRADIUS. The core depends on two libraries:
@@ -18,44 +18,56 @@ particular module to be skipped.
1818

1919
=== libtalloc
2020

21-
Talloc is a memory allocation library available at
22-
https://talloc.samba.org/talloc/doc/html/index.html
21+
Talloc is a memory allocation library available from
22+
https://talloc.samba.org/talloc/doc/html/index.html[Samba]
2323

24-
*OSX*
2524

26-
`# brew install talloc`
27-
28-
*Debian, Ubuntu and `dpkg`-based systems*
25+
==== Debian, Ubuntu and `dpkg`-based systems
2926

3027
`# apt-get install libtalloc-dev`
3128

32-
*RedHat or CentOS*
29+
==== RHEL, Rocky, or Alma
3330

3431
```
3532
# subscription-manager repos --enable rhel-7-server-optional-rpms
3633
# dnf install libtalloc-dev
3734
```
3835

36+
==== OSX
37+
38+
`# brew install talloc`
39+
3940
=== kqueue
4041

4142
Kqueue is an event / timer API originally written for BSD systems.
4243
It is _much_ simpler to use than third-party event libraries. A
4344
library, `libkqueue`, is available for Linux systems.
4445

45-
*OSX*
46-
47-
_kqueue is already available, there is nothing to install._
48-
49-
*Debian, Ubuntu and `dpkg`-based systems*
46+
==== Debian, Ubuntu and `dpkg`-based systems
5047

5148
`# apt-get install libkqueue-dev`
5249

53-
*RedHat or CentOS*
50+
==== RHEL, Rocky, or Alma
5451

5552
```
5653
# subscription-manager repos --enable rhel-7-server-optional-rpms
5754
# dnf install libkqueue-dev
5855
```
56+
==== OSX
57+
58+
Kqueue is already available, there is nothing to install.
59+
60+
== Compilers
61+
62+
=== GNU Compiler Collection (GCC)
63+
64+
FreeRADIUS v4 requires at least GCC 4.9 to support the C11 features introduced in version 3.
65+
66+
Update your version to GCC 4.9 with these commands:
67+
68+
include::partial$upgrade_gcc.adoc[]
69+
70+
5971

6072
// Copyright (C) 2025 Network RADIUS SAS. Licenced under CC-by-NC 4.0.
6173
// This documentation was developed by Network RADIUS SAS.

0 commit comments

Comments
 (0)