source: server/major/proftpd.xml@ 6ef71d2f

11.0 ken/refactor-virt lazarus qt5new trunk
Last change on this file since 6ef71d2f was 6ef71d2f, checked in by Douglas R. Reno <renodr@…>, 4 months ago

A few package updates

Update to nfs-utils-2.5.4
Update to proftpd-1.3.7b
Update to nano-5.8

  • Property mode set to 100644
File size: 14.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY proftpd-download-http " ">
8 <!ENTITY proftpd-download-ftp "ftp://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.gz">
9 <!ENTITY proftpd-md5sum "50f9d8abc44b4ef600d884ba9803bfba">
10 <!ENTITY proftpd-size "19 MB">
11 <!ENTITY proftpd-buildsize "76 MB">
12 <!ENTITY proftpd-time "0.3 SBU">
13]>
14
15<sect1 id="proftpd" xreflabel="ProFTPD-&proftpd-version;">
16 <?dbhtml filename="proftpd.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>ProFTPD-&proftpd-version;</title>
23
24 <indexterm zone="proftpd">
25 <primary sortas="a-proftpd">Proftpd</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to ProFTPD</title>
30
31 <para>
32 The <application>ProFTPD</application> package contains a secure
33 and highly configurable FTP daemon. This is useful for serving large
34 file archives over a network.
35 </para>
36
37 &lfs101_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&proftpd-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&proftpd-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &proftpd-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &proftpd-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &proftpd-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &proftpd-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72<!--
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 Required patch:
78 <ulink url="&patch-root;/proftpd-&proftpd-version;-consolidated_fixes-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
82-->
83 <bridgehead renderas="sect3">ProFTPD Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="libcap-pam"/>,
88 <xref linkend="libssh2"/>,
89 <xref linkend="linux-pam"/>,
90 <xref linkend="mariadb"/> or <ulink url="http://www.mysql.com/">MySQL</ulink>,
91 <xref linkend="pcre"/>,
92 <xref linkend="postgresql"/>, and
93 <ulink url="https://metacpan.org/pod/Net::SSH2">Net::SSH2</ulink>
94 </para>
95
96 <para condition="html" role="usernotes">User Notes:
97 <ulink url="&blfs-wiki;/proftpd"/></para>
98
99 </sect2>
100
101 <sect2 role="installation">
102 <title>Installation of ProFTPD</title>
103
104 <para>
105 For security reasons, you should install
106 <application>ProFTPD</application> using an unprivileged user and group.
107 As the <systemitem class="username">root</systemitem> user:
108 </para>
109
110<screen role="root"><userinput>groupadd -g 46 proftpd &amp;&amp;
111useradd -c proftpd -d /srv/ftp -g proftpd \
112 -s /usr/bin/proftpdshell -u 46 proftpd &amp;&amp;
113
114install -v -d -m775 -o proftpd -g proftpd /srv/ftp &amp;&amp;
115ln -v -s /bin/false /usr/bin/proftpdshell &amp;&amp;
116echo /usr/bin/proftpdshell &gt;&gt; /etc/shells</userinput></screen>
117<!--
118 <para>
119 First, apply a patch containing various security fixes from
120 the upstream developers:
121 </para>
122
123<screen><userinput remap="pre">patch -Np1 -i ../proftpd-&proftpd-version;-consolidated_fixes-1.patch</userinput></screen>
124-->
125 <para>
126 Install <application>ProFTPD</application> as an unprivileged user by
127 running the following commands:
128 </para>
129
130<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run &amp;&amp;
131make</userinput></screen>
132
133 <para>
134 This packages does not come with a usable test suite.
135 </para>
136
137 <para>
138 Now, as the <systemitem class="username">root</systemitem> user:
139 </para>
140
141<screen role="root"><userinput>make install &amp;&amp;
142install -d -m755 /usr/share/doc/proftpd-&proftpd-version; &amp;&amp;
143cp -Rv doc/* /usr/share/doc/proftpd-&proftpd-version;</userinput></screen>
144
145 </sect2>
146
147 <sect2 role="commands">
148 <title>Command Explanations</title>
149
150 <para>
151 <command>install -v -d -m775 -o proftpd -g proftpd /srv/ftp</command>:
152 Create the home directory for <application>ProFTPD</application>.
153 </para>
154
155 <para>
156 <command>ln -v -s /bin/false /usr/bin/proftpdshell</command>:
157 Set the default shell as a link to an invalid shell.
158 </para>
159
160 <para>
161 <command>echo /usr/bin/proftpdshell &gt;&gt; /etc/shells</command>:
162 Fake a valid shell for compatibility purposes.
163 </para>
164
165 <note>
166 <para>
167 The above two commands can be omitted if the following directive is
168 placed in the configuration file:
169 </para>
170
171<screen><literal>RequireValidShell off</literal></screen>
172
173 <para>
174 By default, proftpd will require that users logging in have valid
175 shells. The RequireValidShell directive turns off this requirement.
176 This is only recommended if you are setting up your FTP server
177 exclusively for anonymous downloads.
178 </para>
179 </note>
180
181 <note>
182 <para>
183 Support for most of the dependency packages requires using options
184 passed to the <command>configure</command> script. View the output
185 from <command>./configure --help</command> for complete information
186 about enabling dependency packages.
187 </para>
188 </note>
189
190 </sect2>
191
192 <sect2 role="configuration">
193 <title>Configuring ProFTPD</title>
194
195 <sect3 id='proftpd-config'>
196 <title>Config Files</title>
197
198 <para>
199 <filename>/etc/proftpd.conf</filename>
200 </para>
201
202 <indexterm zone="proftpd proftpd-config">
203 <primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
204 </indexterm>
205
206 </sect3>
207
208 <sect3>
209 <title>Configuration Information</title>
210
211 <para>
212 This is a simple, download-only sample configuration. See the
213 <application>ProFTPD</application> documentation in
214 <filename class="directory">/usr/share/doc/proftpd</filename> and
215 consult the website at <ulink url="http://www.proftpd.org/"/> for
216 example configurations.
217 </para>
218
219<screen role="root"><?dbfo keep-together="auto"?><userinput>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"
220<literal># This is a basic ProFTPD configuration file
221# It establishes a single server and a single anonymous login.
222
223ServerName "ProFTPD Default Installation"
224ServerType standalone
225DefaultServer on
226
227# Port 21 is the standard FTP port.
228Port 21
229# Umask 022 is a good standard umask to prevent new dirs and files
230# from being group and world writable.
231Umask 022
232
233# To prevent DoS attacks, set the maximum number of child processes
234# to 30. If you need to allow more than 30 concurrent connections
235# at once, simply increase this value. Note that this ONLY works
236# in standalone mode, in inetd mode you should use an inetd server
237# that allows you to limit maximum number of processes per service
238<!--# (such as xinetd)-->
239MaxInstances 30
240
241# Set the user and group that the server normally runs at.
242User proftpd
243Group proftpd
244
245# To cause every FTP user to be "jailed" (chrooted) into their home
246# directory, uncomment this line.
247#DefaultRoot ~
248
249
250# Normally, files should be overwritable.
251&lt;Directory /*&gt;
252 AllowOverwrite on
253&lt;/Directory&gt;
254
255# A basic anonymous configuration, no upload directories.
256&lt;Anonymous ~proftpd&gt;
257 User proftpd
258 Group proftpd
259 # Clients should be able to login with "anonymous" as well as "proftpd"
260 UserAlias anonymous proftpd
261
262 # Limit the maximum number of anonymous logins
263 MaxClients 10
264
265 # 'welcome.msg' should be displayed at login, and '.message' displayed
266 # in each newly chdired directory.
267 DisplayLogin welcome.msg
268 DisplayChdir .message
269
270 # Limit WRITE everywhere in the anonymous chroot
271 &lt;Limit WRITE&gt;
272 DenyAll
273 &lt;/Limit&gt;
274&lt;/Anonymous&gt;</literal>
275EOF</userinput></screen>
276
277 </sect3>
278
279 <sect3 id="proftpd-init">
280 <title><phrase revision="sysv">Boot Script</phrase>
281 <phrase revision="systemd">Systemd Unit</phrase></title>
282
283 <para>
284 Install the
285 <phrase revision="sysv"><filename>/etc/rc.d/init.d/proftpd</filename>
286 init script</phrase>
287 <phrase revision="systemd"><filename>proftpd.service</filename>
288 unit</phrase> included in the
289 <xref linkend="bootscripts" revision="sysv"/>
290 <xref linkend="systemd-units" revision="systemd"/>
291 package:
292 </para>
293
294 <indexterm zone="proftpd proftpd-init">
295 <primary sortas="f-proftpd">proftpd</primary>
296 </indexterm>
297
298<screen role="root"><userinput>make install-proftpd</userinput></screen>
299
300 </sect3>
301
302 </sect2>
303
304 <sect2 role="content">
305 <title>Contents</title>
306
307 <segmentedlist>
308 <segtitle>Installed Programs</segtitle>
309 <segtitle>Installed Libraries</segtitle>
310 <segtitle>Installed Directory</segtitle>
311
312 <seglistitem>
313 <seg>
314 ftpasswd, ftpcount, ftpdctl, ftpmail, ftpquota, ftpscrub, ftpshut,
315 ftptop, ftpwho, in.proftpd (symlink to proftpd), proftpd, and prxs
316 </seg>
317 <seg>
318 None
319 </seg>
320 <seg>
321 /usr/{include,lib}/proftpd,
322 /usr/share/doc/proftpd-&proftpd-version;, and
323 /srv/ftp
324 </seg>
325 </seglistitem>
326 </segmentedlist>
327
328 <variablelist>
329 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
330 <?dbfo list-presentation="list"?>
331 <?dbhtml list-presentation="table"?>
332
333 <varlistentry id="proftpd-prog">
334 <term><command>proftpd</command></term>
335 <listitem>
336 <para>
337 is the FTP daemon
338 </para>
339 <indexterm zone="proftpd proftpd-prog">
340 <primary sortas="b-proftpd">proftpd</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="ftpcount">
346 <term><command>ftpcount</command></term>
347 <listitem>
348 <para>
349 shows the current number of connections
350 </para>
351 <indexterm zone="proftpd ftpcount">
352 <primary sortas="b-ftpcount">ftpcount</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="ftpdctl">
358 <term><command>ftpdctl</command></term>
359 <listitem>
360 <para>
361 is used to control the proftpd daemon while it is running
362 </para>
363 <indexterm zone="proftpd ftpdctl">
364 <primary sortas="b-ftpdctl">ftpdctl</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry id="ftpasswd">
370 <term><command>ftpasswd</command></term>
371 <listitem>
372 <para>
373 is a Perl script designed to create and manage
374 AuthUserFiles and AuthGroupFiles of the correct format for proftpd
375 </para>
376 <indexterm zone="proftpd ftpasswd">
377 <primary sortas="b-ftpasswd">ftpasswd</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="ftpmail">
383 <term><command>ftpmail</command></term>
384 <listitem>
385 <para>
386 is a Perl script for sending email based on the proftpd TransferLog
387 </para>
388 <indexterm zone="proftpd ftpmail">
389 <primary sortas="b-ftpmail">ftpmail</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394 <varlistentry id="ftpquota">
395 <term><command>ftpquota</command></term>
396 <listitem>
397 <para>
398 is a Perl script designed to create and manage limits and tally
399 files for the mod_quotatab + mod_quotatab_file module combination
400 for proftpd
401 </para>
402 <indexterm zone="proftpd ftpquota">
403 <primary sortas="b-ftpquota">ftpquota</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="ftpscrub">
409 <term><command>ftpscrub</command></term>
410 <listitem>
411 <para>
412 provides a way to scrub the scoreboard file on demand
413 </para>
414 <indexterm zone="proftpd ftpscrub">
415 <primary sortas="b-ftpscrub">ftpscrub</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="ftpshut">
421 <term><command>ftpshut</command></term>
422 <listitem>
423 <para>
424 shuts down all <application>proftpd</application> servers
425 at a given time
426 </para>
427 <indexterm zone="proftpd ftpshut">
428 <primary sortas="b-ftpshut">ftpshut</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="ftptop">
434 <term><command>ftptop</command></term>
435 <listitem>
436 <para>
437 displays running status on connections
438 </para>
439 <indexterm zone="proftpd ftptop">
440 <primary sortas="b-ftptop">ftptop</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="ftpwho">
446 <term><command>ftpwho</command></term>
447 <listitem>
448 <para>
449 shows current process information for each session
450 </para>
451 <indexterm zone="proftpd ftpwho">
452 <primary sortas="b-ftpwho">ftpwho</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="prxs">
458 <term><command>prxs</command></term>
459 <listitem>
460 <para>
461 is a Perl script designed to compile and install third-party
462 modules, from source code, as DSO modules for the installed
463 proftpd
464 </para>
465 <indexterm zone="proftpd prxs">
466 <primary sortas="b-prxs">prxs</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 </variablelist>
472
473 </sect2>
474
475</sect1>
Note: See TracBrowser for help on using the repository browser.