]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move the main INSTALL file
authorAlan T. DeKok <aland@freeradius.org>
Tue, 6 Aug 2019 20:26:49 +0000 (16:26 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 6 Aug 2019 20:29:46 +0000 (16:29 -0400)
update text and cross-links

README.md
doc/README.md
doc/howto/INSTALL.md [moved from INSTALL.md with 70% similarity]
redhat/freeradius.spec
scripts/docker/README.md

index f6c6e9914bac86033d626dc17aad9af652dd1ec7..9211b38698c12dcf5af63eed95c31170d6f146a8 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 [![Travis CI build status][BuildStatus]][BuildStatusLink] [![Coverity Status][CoverityStatus]][CoverityStatusLink]
 
 ## Introduction
+
 The FreeRADIUS Server Project is a high performance and highly
 configurable multi-protocol policy server, supporting RADIUS, DHCPv4
 and VMPS. It is available under the terms of the GNU GPLv2.
@@ -17,33 +18,21 @@ Directory, Apache Cassandra, Redis, OpenLDAP, and many more.  It is
 used daily to authenticate the Internet access for hundreds of millions
 of people, in sites ranging from 10 to 10 million+ users.
 
-## Upgrading
-Version 4.0.x of the server is largely compatible with version 3.0.x,
-but be sure to address any warnings when starting v3.0.x before
-attempting to use en existing configuration with v4.0.x.
-
-For a list of changes in version 4.0, please see
-[doc/ChangeLog](https://github.com/FreeRADIUS/freeradius-server/blob/master/doc/ChangeLog)
-
-See 
-[raddb/README.md](https://github.com/FreeRADIUS/freeradius-server/blob/master/raddb/README.md)
-for information on what to do to update your configuration.
+## Documentation
 
-Administrators upgrading from a previous version should install this
-version in a different location from their existing systems.  Any
-existing configuration should be carefully migrated to the new
-version, in order to take advantage of the new features which can
-greatly simply configuration.
-
-Please see https://freeradius.org and https://wiki.freeradius.org for
-more information.
+Please see the [documentation](doc/) directory, which has full
+documentation for version 4.
 
+Please also see https://freeradius.org and https://wiki.freeradius.org
+for additional documentation.
 
 ## Installation
-To install the server, please see the 
-[INSTALL.md](https://github.com/FreeRADIUS/freeradius-server/blob/master/INSTALL.md) file in this directory.
+
+To install the server, please see the [installation
+instrictions](doc/howto/INSTALL.md) document.
 
 ## Configuring the server
+
 We understand that the server may be difficult to configure,
 install, or administer.  It is, after all, a complex system with many
 different configuration possibilities.
@@ -93,15 +82,14 @@ the FreeRADIUS mailing lists.
 
 https://freeradius.org/support/
 
-
 ## Feedback, Defects, and Community Support
 
 If you have any comments, or are having difficulty getting FreeRADIUS
-to do what you want, please post to the 'freeradius-users' list
-(see the URL above). The FreeRADIUS mailing list is operated, and
+to do what you want, please post to the 'freeradius-users' list (see
+the URL above). The FreeRADIUS mailing list is operated, and
 contributed to, by the FreeRADIUS community. Users of the list will be
-more than happy to answer your questions, with the caveat that you've
-read documentation relevant to your issue first.
+more than happy to answer your questions, with the caveat that you
+have read the documentation relevant to your issue first.
 
 If you suspect a defect in the server, would like to request a feature,
 or submit a code patch, please use the GitHub issue tracker for the
@@ -128,29 +116,10 @@ documentation.  We recognize that the documentation isn't perfect, but
 it *does* exist, and reading it can solve most common questions.
 
 FreeRADIUS is the cumulative effort of many years of work by many
-people, and you've gotten it for free.  No one is getting paid to answer
-your questions.  This is free software, and the only way it gets better
-is if you make a contribution back to the project ($$, code, or
-documentation).
-
-We will note that the people who get most upset about any answers to
-their questions usually do not have any intention of contributing to
-the project.  We will repeat the comments above: no one is getting
-paid to answer your questions or to fix your bugs.  If you don't like
-the responses you are getting, then fix the bug yourself, or pay
-someone to address your concerns.  Either way, make sure that any fix
-is contributed back to the project so that no one else runs into the
-same issue.
-
-## Books on RADIUS
-
-See ``doc/README.md`` for more information about FreeRADIUS.
-
-There is an O'Reilly book available.  It serves as a good
-introduction for anyone new to RADIUS.  However, it is from 2002
-and is not much more than a basic introduction to the subject.
-
-https://www.amazon.com/exec/obidos/ASIN/0596003226/freeradiusorg-20/
+people, and you have gotten it for free.  No one is getting paid to
+answer your questions.  This is free software, and the only way it
+gets better is if you make a contribution back to the project ($$,
+code, or documentation).
 
 ## Commercial support
 
index 7f1275fe90164e408dba18a9b635d415fe6298f4..52de244652a363891aeee55316d41a1d82cc4928 100644 (file)
@@ -13,9 +13,9 @@ questions about functionality, configuration, etc.
 
 For more complex requirements, FreeRADIUS can be extremely difficult
 to configure.  The reason for this difficulty is that the server can
-do almost anything, which means that there are near-infinite ways to
-configure it.  The question for an administrator, then, is which piece
-of the configuration to change, and how to change it.
+do almost anything, which means that there are a near-infinite number
+of ways to configure it.  The question for an administrator, then, is
+what piece of the configuration to change, and how to change it.
 
 This documentation will answer those questions.  The FreeRADIUS team
 has put substantial effort into writing the documentation for this
@@ -43,19 +43,17 @@ helpful than having a smaller number of enormous pages.  This division
 ensures that (for example) the "how-to" guides are split into a series
 of small steps, each of which can be performed quickly.
 
-The documentation here is substantially more complete and in-depth
-than in any previous version of the server.  We hope that this level
-of detail will address any lingering concerns about the quality of the
-FreeRADIUS documentation.
+We hope that this extended documentation will address any lingering
+concerns about the quality of the FreeRADIUS documentation.
 
 ## Getting Started
 
-We recommend installing FreeRADIUS from the pre-built packages
-available at [Network RADIUS](http://packages.networkradius.com).
+We recommend installing FreeRADIUS via the pre-built packages
+available from [Network RADIUS](http://packages.networkradius.com).
 Many Operating System distributions ship versions of FreeRADIUS which
-are years out of date.  The page given above contains recent packages
+are years out of date.  That page contains recent FreeRADIUS packages
 for all common OS distributions.  For historical purposes, packages of
-older releases are also available.
+older releases are also available from that site.
 
 Administrators who are new to FreeRADIUS should read the
 [introduction](introduction/) documentation.  That section describes
@@ -64,11 +62,13 @@ understand these concepts, as the rest of the documentation assumes
 familiarity with them.
 
 Administrators who have version 3 and wish to upgrade to version 4
-should read the [upgrading](upgrade/) documentatin.  That section
+should read the [upgrading](upgrade/) documentation.  That section
 explains the differences between the two versions, and how an existing
-configuration can be reproduced in the latest release.
+configuration can be reproduced in the latest release.  We do _not_
+recommend using version 3 configuration files with version 4.  The
+server does not have compatible files across a major version upgrade.
 
-A detailed [Unlang Reference](unlang/) guide is also available.  This
+A detailed [unlang](unlang/) reference guide is also available.  This
 section describes the syntax and functionality of the keywords, data
 types, etc. used in the "unlang" processing language.
 
@@ -86,17 +86,16 @@ documents the APIs for developers.  Most people can ignore it.
 
 ## Debugging
 
-If you have ANY problems, concerns, or surprises when running
-the server, then run it in debugging mode, as root, from the
-command line:
+If you have ANY problems, concerns, or surprises when running the
+server, the the server should be run in debugging mode as root, from
+the command line:
 
     # radiusd -X
 
 It will produce a large number of messages.  The answers to many
 questions, and the solution to many problems, can usually be found in
-these messages.  When running in a terminal window, error messages
-will be shown in red text, and warning messages will be shown in
-yellow text.
+these messages.  When run in a terminal window, error messages will be
+shown in red text, and warning messages will be shown in yellow text.
 
 For other use-cases, please look for `ERROR` or `WARNING` in the debug
 output.  In many cases, those messages describe exactly what is going
similarity index 70%
rename from INSTALL.md
rename to doc/howto/INSTALL.md
index 2496a18acba8950d411d99580947db82b8ad25d2..fd0219ca4bf356300f0426454ae4e19448407d8e 100644 (file)
@@ -1,25 +1,41 @@
 # Installation
-## Introduction
 
-Ignore the installation instructions in this file if you have a
-pre-installed binary package.  
+We recommend installing FreeRADIUS via the pre-built packages
+available from [Network RADIUS](http://packages.networkradius.com).
+Many Operating System distributions ship versions of FreeRADIUS which
+are years out of date.  That page contains recent FreeRADIUS packages
+for all common OS distributions.  For historical purposes, packages of
+older releases are also available from that site.
 
-When upgrading from older versions of FreeRADIUS, you should read
-ALL of this file, especially the section on [Upgrading](#upgrading)
-which gives information on how to update your configuration.
+The rest of this document describes how to install FreeRADIUS from
+source. i.e. a "tar.gz" file.
 
-**WARNING**  Failure to properly update your configurations may cause
-your previously working FreeRADIUS server to no longer authenticate
-your users.
+## Building from Source
 
-Whether you are installing from source or a pre-built binary
-package, you should read the section [Running The Server](#running-the-server).
+The [build dependencies](doc/source/dependencies.adoc) must be
+installed before FreeRADIUS can build.  These dependencies are
+libtalloc and libkqueue, which FreeRADIUS uses for memory management,
+and platform-independent event handling.
 
+Download the latest version of the FreeRADIUS source from the
+FreeRADIUS ftp site:
 
-## Simple build from Source
+```
+ftp://ftp.freeradius.org/pub/freeadius/
+```
+
+The file wil be name something like: `freeradius-server-4.0.0.tar.gz`.
+Later version will be `4.0.1`, or `4.1.0`, etc.
 
-If you do not need to modify the default configuration, then take
-the following steps to build and install the server from source:
+Un-tar the file, and change to the FreeRADIUS directory, where
+`VERSION` is the version of the server that you have downloaded.
+
+```bash
+tar -zxf freeradius-server-VERSION.tar.gz
+cd freeradius-server-VERSION
+```
+
+Take the following steps to build and install the server from source:
 
 ```bash
 ./configure
@@ -31,21 +47,7 @@ make install
 
 FreeRADIUS has GNU autoconf support. This means you have to run
 ``./configure``, and then run ``make``.  To see which configuration options
-are supported, run ``./configure --help``, and read it's output.  The
-following list is a selection from the available flags:
-
-```text
-  --with-logdir=DIR       Directory for logfiles [LOCALSTATEDIR/log] 
-  --with-radacctdir=PATH  Directory for detail files [LOGDIR/radacct] 
-  --with-raddbdir=DIR     Directory for config files [SYSCONFDIR/raddb] 
-  --with-threads          Use threads, if available.  (default=yes) 
-  --with-snmp             Compile in SNMP support. (default=yes)
-  --with-dhcp             Compile in DHCP support. (default=yes)
-  --with-experimental-modules  Use experimental and unstable modules.
-                               (default=no) 
-  --enable-developer      Turns on super-duper-extra-compile-warnings
-                          when using gcc, as well as experimental modules.
-```
+are supported, run ``./configure --help``, and read it's output.
 
 The ``make install`` stage will install the binaries, the 'man' pages,
 and MAY install the configuration files.  If you have not installed a
@@ -70,26 +72,29 @@ software.  These files will NOT be installed over your current
 configuration, so you MUST verify and install any problem files by
 hand, for example using ``diff(1)`` to check for changes.
 
-It is EXTREMELY helpful to read the output of ``./configure``,
-``make``, and ``make install``.  If a particular module you expected to be
-installed was not installed, then the output of the
-``./configure; make; make install`` sequence will tell you why that module
-was not installed.  Please do NOT post questions to the FreeRADIUS
-users list without first carefully reading the output of this process as it
-often contains the information needed to resolve a problem.
+When installing fro, source, it is EXTREMELY helpful to read the
+output of ``./configure``, ``make``, and ``make install``.  If a
+particular module you expected to be installed was not installed, then
+the output of the ``./configure; make; make install`` sequence will
+tell you why that module was not installed.  Please do NOT post
+questions to the FreeRADIUS users list without first carefully reading
+the output of this process as it often contains the information needed
+to resolve a problem.
 
-## Upgrading
+## Upgrading To A New Minor Release
 
 The installation process will not over-write your existing
 configuration files.  It will, however, warn you about the files it
 did not install. These will require manual integration with the existing files.
 
 It is generally not possible to re-use configurations between
-different major versions of the server. (For example - 2.x to 3.x)
+different major versions of the server. (For example - version 2 to
+version 3, or version 3 to version 4.
 
-For details on what has changed between the version, see ``raddb/README.md``.
+For details on what has changed between the version, see the
+[upgade](../upgrade/) guide.
 
-We STRONGLY recommend that new major versions be installed in a different 
+We STRONGLY recommend that new major versions be installed in a different
 location than any existing installations.  Any local policies can
 then be migrated gradually to the configuration format of the new major
 version.  The number of differences in the new configuration mean that is
@@ -99,13 +104,13 @@ and just get the old configuration to work.
 ## Running the server
 
 If the server builds and installs, but doesn't run correctly, then
-you should first use debugging mode (``radiusd -X``) to figure out the problem. 
+you should first use debugging mode (``radiusd -X``) to figure out the problem.
 
 This is your BEST HOPE for understanding the problem.  Read ALL of
 the messages which are printed to the screen, the answer to your
 problem will often be in a warning or error message.
 
-We really can't emphasize that last sentence enough.  Configuring a
+We really cannot emphasize that last sentence enough.  Configuring a
 RADIUS server for complex local authentication isn't a trivial task.
 Your BEST and ONLY method for debugging it is to read the debug messages, where
 the server will tell you exactly what it's doing, and why.  You should
@@ -166,7 +171,7 @@ environment. You should make the appropirate investment in order to properly sup
 critical resource such as your authentication servers.
 
 Configuring and running the server MAY be complicated.  Many modules
-have ``man`` pages.  See ``man rlm_pap``, or ``man rlm_*`` for 
+have ``man`` pages.  See ``man rlm_pap``, or ``man rlm_*`` for
 information.
 Please read the documentation in the doc/ directory.  The comments in
 the configuration files also contain a lot of documentation.
@@ -175,4 +180,3 @@ If you have any additional issues, the FAQ is also a good place to
 start.
 
   https://wiki.freeradius.org/guide/FAQ
-
index e8c35641f2928637835df3abc248e08ce5d2fd92..c65e388faf99a92d430cf2e4bc4bd870bc241079 100644 (file)
@@ -524,7 +524,7 @@ rm -rf $RPM_BUILD_ROOT/%{_includedir}
 rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/raddb/experimental.conf
 
 # install doc files omitted by standard install
-for f in COPYRIGHT CREDITS INSTALL.md README.md; do
+for f in COPYRIGHT CREDITS README.md; do
     cp $f $RPM_BUILD_ROOT/%{docdir}
 done
 cp LICENSE $RPM_BUILD_ROOT/%{docdir}/LICENSE.gpl
index ddd36910a690e1a95eb16ba7d865c55d966ecc9b..435e8e034175f515ab75a6fa8c2f46bbf3b1b959 100644 (file)
@@ -90,7 +90,7 @@ $ docker run -it freeradius/centos7-deps
 [root@08a222f5fdfe freeradius-server]# ls
 acinclude.m4  config.guess  configure.ac  debian      install-sh  main.mk      man      raddb      scripts  suse
 aclocal.m4    config.sub    COPYRIGHT     doc         LICENSE     Makefile     mibs     README.md  share    VERSION
-autogen.sh    configure     CREDITS       INSTALL.md  m4          Make.inc.in  missing  redhat     src
+autogen.sh    configure     CREDITS       m4          Make.inc.in  missing  redhat     src
 ```
 
 To run FreeRADIUS, use: