This file is indexed.

/usr/share/doc/gnugk/manual/manual-2.html is in gnugk 2:3.4-2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.69">
 <TITLE>The GNU Gatekeeper: Compiling and Installing</TITLE>
 <LINK HREF="manual-3.html" REL=next>
 <LINK HREF="manual-1.html" REL=previous>
 <LINK HREF="manual.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="manual-3.html">Next</A>
<A HREF="manual-1.html">Previous</A>
<A HREF="manual.html#toc2">Contents</A>
<HR>
<H2><A NAME="s2">2.</A> <A HREF="manual.html#toc2">Compiling and Installing</A></H2>


<H2><A NAME="ss2.1">2.1</A> <A HREF="manual.html#toc2.1">Pre-requisites for Compiling</A>
</H2>

<P>To build the gatekeeper you need PTLib and H323Plus.
Please see
<A HREF="http://www.gnugk.org/compiling-gnugk.html">http://www.gnugk.org/compiling-gnugk.html</A>
for up-to-date information on required library versions.</P>

<P>To successfully compile the GNU Gatekeeper you must first compile the pre-requisites in this order:</P>
<P>
<OL>
<LI>PTLib</LI>
<LI>H323Plus</LI>
</OL>
</P>
<P>On Unix, run <CODE>configure</CODE> and <CODE>make debugnoshared</CODE> or <CODE>make optnoshared</CODE>
in the gatekeeper directory to build debug or release version, respectively.</P>
<P><B>NOTE:</B>  You must use either <CODE>make debugnoshared</CODE> or <CODE>make optnoshared</CODE>
throughout the compile process.  For example, if a library is compiled with <CODE>make
optnoshared</CODE> then everything must be compiled the same way.</P>


<H2><A NAME="ss2.2">2.2</A> <A HREF="manual.html#toc2.2">Installing on Unix</A>
</H2>

<P>The first step is to get an executable: You can either download an executable for your flavour of Unix from
<A HREF="http://www.gnugk.org/h323download.html">gnugk.org</A>, use the executable your distribution
provides or compile the GNU Gatekeeper yourself. For simple installations or to try the features of the gatekeeper,
using pre-built executables shouldn't pose any issues, but for professional installations it is always recommended
that you self-compile GnuGk.</P>

<H3>Installing a binary of GnuGk</H3>

<P>Copy the executable to the directory you like and create a config file.
There are several config examples and auto startup scripts in the <CODE>etc/</CODE> subdirectory
of the source tree. See section 
<A HREF="manual-4.html#config">Configuration File</A>
for detailed explanations of the parameters.</P>
<P>For example you may copy GnuGk to <CODE>/usr/sbin/</CODE>, create a config in
<CODE>/etc/gatekeeper.ini</CODE> and start it by
<BLOCKQUOTE><CODE>
<PRE>
/usr/sbin/gnugk -c /etc/gatekeeper.ini -o /var/log/gnugk.log -ttt
</PRE>
</CODE></BLOCKQUOTE>

See section 
<A HREF="manual-4.html#commandline">Command Line Options</A> for details on the command line options.</P>

<H3>Compiling the Gatekeeper</H3>

<P><B>NOTE:</B>  you must use GCC 3.3.x or later.</P>
<P>You are strongly encouraged to execute <CODE>make debugdepend</CODE> or <CODE>make optdepend</CODE>
in the gatekeeper directory before starting actual compilation - these commands
build appropriate dependency lists, so any CVS updates to the source code will force
all affected files to get recompiled and will prevent the resulting binary from being compiled
with a mix of old and updated headers.</P>
<P>Type 
<BLOCKQUOTE><CODE>
<PRE>
configure --help
</PRE>
</CODE></BLOCKQUOTE>
 to see a detailed list of all compile-time
options. You can use them to enable or disable features of the gatekeeper.
For example, if you do not need RADIUS just type: 
<BLOCKQUOTE><CODE>
<PRE>
configure --disable-radius
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>In order to use the gatekeeper under heavy load, enabling the LARGE_FDSET feature
(only available on Unix) is recommended (configure --with-large-fdset=4096). Some systems
also need to use ulimit in order to allow more than 1024 sockets to be allocated for 
a single process.
Maximum LARGE_FDSET value for voice calls should be calculated 
based upon predicted maximum sockets usage using the following formula:
<BLOCKQUOTE><CODE>
<PRE>
MAX_NUMBER_OF_CONCURRENT_CALLS * 10 * 120%

Where:
10 = 2 sockets for Q.931 + 2 sockets for H.245 + 6 sockets for RTP
</PRE>
</CODE></BLOCKQUOTE>

So for 100 concurrent voice calls you don't need more than 1024 sockets in the
LARGE_FDSET.</P>
<P>As a final step, you must either use <CODE>make debugnoshared</CODE> or <CODE>make optnoshared</CODE>, depending
on how you compiled the libraries.</P>

<H2><A NAME="ss2.3">2.3</A> <A HREF="manual.html#toc2.3">Installing on Windows</A>
</H2>

<P>The first step is to obtain the executable program; you can either download it from
<A HREF="http://www.gnugk.org/h323download.html">gnugk.org</A>
or compile the GNU Gatekeeper yourself.</P>
<P>There are two versions of the gatekeeper available: A regular program and a service.</P>

<H3>Installing as a Program</H3>

<P>These are the steps for a manual installation:</P>
<P>Copy <CODE>gnugk.exe</CODE> to the folder you like and create a config file.
There are several config examples in the <CODE>etc/</CODE> subdirectory of the download archive.
See section 
<A HREF="manual-4.html#config">Configuration File</A>
for detailed explanations.</P>
<P>Then start the gatekeeper manually from the command line ('cmd.exe') or create a batch file to start it.</P>
<P>For example you may copy GnuGk to <CODE>C:\GnuGk\</CODE>, create a config in
<CODE>C:\GnuGk\gatekeeper.ini</CODE> and start it as
<BLOCKQUOTE><CODE>
<PRE>
C:\GnuGk\gnugk.exe -c C:\GnuGk\gatekeeper.ini -o C:\GnuGk\gnugk.log -ttt
</PRE>
</CODE></BLOCKQUOTE>

See section 
<A HREF="manual-4.html#commandline">Command Line Options</A> for details on the command line options.</P>
<P>Remember to add GnuGk as an exception for the Windows Firewall so it can communicate freely with the network.</P>

<H3>Installing as a Service</H3>

<P>These are the steps for a manual installation; there may be a binary version of the Gatekeeper-as-service which includes a GUI
installer program available in the download location.</P>
<P>First, ensure that you have the service version of GnuGk before you proceed.</P>
<P>Copy <CODE>gnugk.exe</CODE> to the folder you like and create a config file named <CODE>gatekeeper.ini</CODE> in the same folder.
See section 
<A HREF="manual-4.html#config">Configuration File</A>
for detailed explanations. When you run GnuGk as a service, no command line options are available.</P>
<P>To register the service, run the following command from the command line ('cmd.exe'):</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
gnugk.exe install
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Your service is now installed and will be started on the next reboot, or you
may start it manually using the Windows Control Panel -> Services function.  On Windows Vista and
Windows 7, you may have to disable UAC during the service installation.</P>
<P>When running GnuGk as a service, it will always look for a config file named <CODE>gatekeeper.ini</CODE>
in the current directory. Any changes to the trace level and location of the trace file must be made in the 
config file rather than the command line.</P>
<P>Remember to add GnuGk as an exception for the Windows Firewall so it can communicate freely with the network.</P>

<H3>Compiling the Gatekeeper</H3>

<P>Once you have compiled the pre-requisites as specified at the beginning of
this section and have the appropriate include/library paths configured, open and
compile one of the provided solution files (<CODE>.sln</CODE>) for your version of
Microsoft Visual Studio.  If you need MySQL or PostgreSQL support,
install/compile appropriate client libraries before you compile GnuGk.</P>

<H2><A NAME="ss2.4">2.4</A> <A HREF="manual.html#toc2.4">The addpasswd utility</A>
</H2>

<P>Status port authentication and many other authentication modules, like SimplePasswordAuth, require
encrypted passwords to be stored in the gatekeeper configuration file.
The gatekeeper also supports encryption of all passwords
in the config. The <CODE>addpasswd</CODE> utility is required to generate and store 
these encrypted passwords. This utility is included with the gatekeeper 
and can be compiled using:
<BLOCKQUOTE><CODE>
<PRE>
$ cd addpasswd
$ make optnoshared
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>The usage is as follows:
<BLOCKQUOTE><CODE>
<PRE>
$ addpasswd CONFIG SECTION KEYNAME PASSWORD
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Example 1: 'gkadmin' user with 'secret' password has to be added 
to the [GkStatus::Auth] config section to enable authentication on the status port:
<BLOCKQUOTE><CODE>
<PRE>
$ addpasswd gatekeeper.ini GkStatus::Auth gkadmin secret
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Example 2: 'joe' user with 'secret' password has to be added to the [Password]
config section to enable endpoint authentication:
<BLOCKQUOTE><CODE>
<PRE>
$ addpasswd gatekeeper.ini Password joe secret
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Example 3: An encrypted shared secret is added to a RadAuth config section:
<BLOCKQUOTE><CODE>
<PRE>
$ addpasswd gatekeeper.ini RadAuth SharedSecret VerySecretPassword
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>IMPORTANT: The <CODE>KeyFilled</CODE> variable defines a default initializer for password
encryption keys. It can be omitted in the config (and therefore defaults to 0),
but if it is specified, each time it changes, encrypted passwords have to be
regenerated (encrypted again using the <CODE>addpasswd</CODE> utility).</P>
<HR>
<A HREF="manual-3.html">Next</A>
<A HREF="manual-1.html">Previous</A>
<A HREF="manual.html#toc2">Contents</A>
</BODY>
</HTML>