source: server/major/proftpd.xml@ 3a49c0b

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 3a49c0b was 3a49c0b, checked in by Pierre Labastie <pieere@…>, 8 years ago

Tags

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17734 af4574ff-66df-0310-9fd7-8a98e5e911e0

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