fgms 0.11.8
The
FlightGear MultiPlayer Server
project
page_install.cpp
Go to the documentation of this file.
1 
2 /*! \page install_guide Installation Guide
3  *
4  * This is a short overview about installing the \ref fgms.
5  * The reader is assumed to be reasonably familiar with working in a Unix/Linux shell environment.
6  *
7  * \note First, make sure to read about pre-requisites and bandwidth etc in \ref hosting
8  *
9  * The examples below use the following directory structure:
10  * \code
11  * /home/my/stuff < working directory
12 * /home/my/stuff/fgms-0-x < the git checkout of the source code
13 * /home/my/stuff/build_fgms < the temp build directory
14  * \endcode
15  *
16  * \section get_bui Getting & Building fgms
17  *
18  * \note
19  * There are currently no 'pre built binary packages' for \ref fgms. Its expected that
20  * you have a server that you are in control of, can install packages and compile
21  * with root permissions if necessary. Also the install is more focused
22  * on *nix style systems which is the primary development platform.
23  *
24  * - You will need the build tools \b cmake and \b make, and also \b g++ to compile the fgms application.
25  * These can usually be found in the package manager for most the common Linux distributions.
26  * - You will also need the <b>git client</b> to fetch the source code from the repository.
27  * - Once the build tools are installed on your machine, create a directory to hold the source code.
28  * \code
29  * mkdir ~stuff
30  * cd ~stuff
31  * \endcode
32  * - Now clone the source code with git
33  * \code
34  * git clone https://gitlab.com/fgms/fgms-0-x.git
35  * \endcode
36  * - Create and enter a temp directory (this is where all the compilers working files will be written to) and
37  * configure using cmake
38  * \code
39  * mkdir build_fgms
40  * cd build_fgms
41  * cmake ../fgms-0-x
42  * \endcode
43  * - At this point you should have a working \b fgms binary in the build_fgms/ directory.
44  *
45  * \subsection set_config Setting up the config file
46  * - Create and edit a \ref fgms_conf file according to the instructions found in example.
47  * \code
48  * cp ../fgms-0-x/src/server/fgms_example.conf ./my-test.conf
49  * > edit ./my-test,conf
50  * \endcode
51  * @note If the server will be offline or for private use (i.e. LAN-only,
52  * please comment out the relay servers section. This will save bandwidth
53  * from the server being consumed.)
54  *
55  *
56  * \subsection run_fgms_first Run fgms for the first time
57  *
58  * \code
59  * ./fgms -c ./my-test.conf
60  * \endcode
61  * In addition to its configuration file, \b fgms supports a number of configuration parameters that can be
62  * passed at startup (and that will by default override any configuration file settings),
63  * to get a summary of supported parameters, you may want to run:
64  * \code
65  * ./fgms --help
66  * \endcode
67  *
68  * \note By default the file names and options are:
69  * \b fgms.conf - for config
70  * \b fgms-exit, \b fgms-stat - as the file interface files
71  * \b fg_server.log - as the log file
72  *
73  *
74  * \section install Installing and Running
75  *
76  * For a system wide install you will need root (sudo) permissions
77  * \code
78  * cmake ../fgms-0-x
79  * make
80  * su make install
81  * \endcode
82  * By default fgms installs to:
83  * - <b>/usr/bin/fgms</b> - the executable
84  * - <b>/usr/etc/fgms.conf</b> - the config file (::SYSCONFDIR, ::DEF_CONF_FILE)
85  * - <b>/var/log?</b> - the log file
86  *
87  * \section install_options Install Options
88  * * There are other options that can be used during the build process.
89  * * For all the options, see the \ref README_cmake file
90  *
91  * \subsection server_2 Server #2
92  * Normally, the requirement is for one production server, however there is a situation
93  * to run both a production and test, ie a second server. To build a second server
94  * configuration, use:
95  * \code
96  * cmake ../fgms-0-x -DBUILD_SERVER2:BOOL=TRUE
97  * \endcode
98  * * The defaults are: - fgms2.conf, fgms-exit2, fgms-stat2, and fg_server2.log
99  * * Traditionally
100  * - ports 5000 / 5001 - used for production udp and telnet
101  * - ports 5002 / 5003 - used for test udp and telnet
102  *
103  * \subsection install_tracker Tracker Install
104  * By default, the \ref tracker_server is not build.
105  * - A postgres database and its header files need to be installed (currently
106  * postgres is the only database supported)
107  * - The ::DEF_IP_ADDRESS, ::DEF_PORT, ::DEF_USER_LOGIN,
108  * ::DEF_USER_PWD and ::DEF_DATABASE macros need to be set*
109  * - To enable this option use:
110  * \code
111  * cmake ../fgms-0-x -DBUILD_TRACKER=ON
112  * \endcode
113  *
114  * \see \ref README_tracker file and \ref create_db_sql
115  *
116  * \section runtime_startup RunTime and Startup
117  *
118  *
119  * \subsection supervisor Supervisord
120  *
121  * \note Do not run as deamon as supervisor will deamonize
122  *
123  * \link contrib/etc/supervisor.fgms.conf
124  *
125  * - http://supervisord.org/configuration.html#program-x-section-settings
126  */
127 
128