source: server/major/proftpd.xml@ 40db788

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 40db788 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 14.4 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 "4a9b8877b2e9b08d70e71ad56c19e2c9">
10 <!ENTITY proftpd-size "19 MB">
11 <!ENTITY proftpd-buildsize "68 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 </seg>
323 </seglistitem>
324 </segmentedlist>
325
326 <variablelist>
327 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
328 <?dbfo list-presentation="list"?>
329 <?dbhtml list-presentation="table"?>
330
331 <varlistentry id="proftpd-prog">
332 <term><command>proftpd</command></term>
333 <listitem>
334 <para>
335 is the FTP daemon
336 </para>
337 <indexterm zone="proftpd proftpd-prog">
338 <primary sortas="b-proftpd">proftpd</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="ftpcount">
344 <term><command>ftpcount</command></term>
345 <listitem>
346 <para>
347 shows the current number of connections
348 </para>
349 <indexterm zone="proftpd ftpcount">
350 <primary sortas="b-ftpcount">ftpcount</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="ftpdctl">
356 <term><command>ftpdctl</command></term>
357 <listitem>
358 <para>
359 is used to control the proftpd daemon while it is running
360 </para>
361 <indexterm zone="proftpd ftpdctl">
362 <primary sortas="b-ftpdctl">ftpdctl</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="ftpasswd">
368 <term><command>ftpasswd</command></term>
369 <listitem>
370 <para>
371 is a Perl script designed to create and manage
372 AuthUserFiles and AuthGroupFiles of the correct format for proftpd
373 </para>
374 <indexterm zone="proftpd ftpasswd">
375 <primary sortas="b-ftpasswd">ftpasswd</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 <varlistentry id="ftpmail">
381 <term><command>ftpmail</command></term>
382 <listitem>
383 <para>
384 is a Perl script for sending email based on the proftpd TransferLog
385 </para>
386 <indexterm zone="proftpd ftpmail">
387 <primary sortas="b-ftpmail">ftpmail</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="ftpquota">
393 <term><command>ftpquota</command></term>
394 <listitem>
395 <para>
396 is a Perl script designed to create and manage limits and tally
397 files for the mod_quotatab + mod_quotatab_file module combination
398 for proftpd
399 </para>
400 <indexterm zone="proftpd ftpquota">
401 <primary sortas="b-ftpquota">ftpquota</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry id="ftpscrub">
407 <term><command>ftpscrub</command></term>
408 <listitem>
409 <para>
410 provides a way to scrub the scoreboard file on demand
411 </para>
412 <indexterm zone="proftpd ftpscrub">
413 <primary sortas="b-ftpscrub">ftpscrub</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="ftpshut">
419 <term><command>ftpshut</command></term>
420 <listitem>
421 <para>
422 shuts down all <application>proftpd</application> servers
423 at a given time
424 </para>
425 <indexterm zone="proftpd ftpshut">
426 <primary sortas="b-ftpshut">ftpshut</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="ftptop">
432 <term><command>ftptop</command></term>
433 <listitem>
434 <para>
435 displays running status on connections
436 </para>
437 <indexterm zone="proftpd ftptop">
438 <primary sortas="b-ftptop">ftptop</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="ftpwho">
444 <term><command>ftpwho</command></term>
445 <listitem>
446 <para>
447 shows current process information for each session
448 </para>
449 <indexterm zone="proftpd ftpwho">
450 <primary sortas="b-ftpwho">ftpwho</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="prxs">
456 <term><command>prxs</command></term>
457 <listitem>
458 <para>
459 is a Perl script designed to compile and install third-party
460 modules, from source code, as DSO modules for the installed
461 proftpd
462 </para>
463 <indexterm zone="proftpd prxs">
464 <primary sortas="b-prxs">prxs</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 </variablelist>
470
471 </sect2>
472
473</sect1>
Note: See TracBrowser for help on using the repository browser.