source: server/major/proftpd.xml@ 10405e6

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 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 10405e6 was 10405e6, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

Update to bind-9.9.3-P1
Update to sendmail-8.14.7
Update to postfix-2.10.1
Update to proftpd-1.3.4d

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

  • Property mode set to 100644
File size: 12.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 "13c6fd7ce320886adc371c81a3e23f07">
10 <!ENTITY proftpd-size "7.4 MB">
11 <!ENTITY proftpd-buildsize "33 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 &lfs73_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="linux-pam"/> and to run tests
65 <xref linkend="check"/> and
66 <ulink url='http://search.cpan.org/~clemburg/Test-Unit-0.14/'>Test::Unit-0.14</ulink>
67 </para>
68
69 <para condition="html" role="usernotes">User Notes:
70 <ulink url="&blfs-wiki;/proftpd"/></para>
71
72 </sect2>
73
74 <sect2 role="installation">
75 <title>Installation of ProFTPD</title>
76
77 <para>For security reasons, you should install
78 <application>ProFTPD</application> using an unprivileged user and group.
79 As the <systemitem class="username">root</systemitem> user:</para>
80
81<screen role="root"><userinput>groupadd -g 46 proftpd &amp;&amp;
82useradd -c proftpd -d /srv/ftp -g proftpd \
83 -s /usr/bin/proftpdshell -u 46 proftpd &amp;&amp;
84install -v -d -m775 -o proftpd -g proftpd /srv/ftp &amp;&amp;
85ln -v -s /bin/false /usr/bin/proftpdshell &amp;&amp;
86echo /usr/bin/proftpdshell &gt;&gt; /etc/shells</userinput></screen>
87
88 <para>Install <application>ProFTPD</application> as an unprivileged user by
89 running the following commands:</para>
90
91<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run &amp;&amp;
92make</userinput></screen>
93
94 <para>The tests for this package require a very old (2001) version of the
95 Perl Module Test::Unit. Using the lastest version of this Test::Unit
96 results in many failures (34/1089) although the program appears to run
97 well. The tests take a long time (38 minutes, not CPU dependent) and are
98 not recommended. To test the results anyway, issue: <command>make
99 check</command>.</para>
100
101 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
102
103<screen role="root"><userinput>make install</userinput></screen>
104
105 </sect2>
106
107 <sect2 role="commands">
108 <title>Command Explanations</title>
109
110 <para><command>install -v -d -m775 -o proftpd -g proftpd
111 /srv/ftp</command>: Create the home directory for
112 <application>ProFTPD</application>.</para>
113
114 <para><command>ln -v -s /bin/false /usr/bin/proftpdshell</command>:
115 Set the default shell as a link to an invalid shell.</para>
116
117 <para><command>echo /usr/bin/proftpdshell &gt;&gt;
118 /etc/shells</command>: Fake a valid shell for compatibility purposes.</para>
119
120 <note>
121 <para>The above two commands can be omitted if the following directive is
122 placed in the configuration file:</para>
123
124<screen><literal>RequireValidShell off</literal></screen>
125
126 <para>By default, proftpd will require that users logging in have valid
127 shells. The RequireValidShell directive turns off this requirement. This
128 is only recommended if you are setting up your FTP server exclusively
129 for anonymous downloads.</para>
130 </note>
131
132 <para><parameter>--sysconfdir=/etc</parameter>: This prevents the
133 configuration files from going to
134 <filename class="directory">/usr/etc</filename>.</para>
135
136 <para><parameter>--localstatedir=/var/run</parameter>:
137 This uses <filename class="directory">/var/run</filename> instead of
138 <filename class="directory">/usr/var</filename> for lock files.</para>
139
140 </sect2>
141
142 <sect2 role="configuration">
143 <title>Configuring ProFTPD</title>
144
145 <sect3 id='proftpd-config'>
146 <title>Config Files</title>
147
148 <para><filename>/etc/proftpd.conf</filename></para>
149
150 <indexterm zone="proftpd proftpd-config">
151 <primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
152 </indexterm>
153
154 </sect3>
155
156 <sect3>
157 <title>Configuration Information</title>
158
159 <para>This is a simple, download-only sample configuration. See the
160 <application>ProFTPD</application> documentation in
161 <filename class="directory">/usr/share/doc/proftpd</filename> and
162 consult the website at <ulink url="http://www.proftpd.org/"/> for
163 example configurations.</para>
164
165<screen role="root"><?dbfo keep-together="auto"?><userinput>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"
166<literal># This is a basic ProFTPD configuration file
167# It establishes a single server and a single anonymous login.
168
169ServerName "ProFTPD Default Installation"
170ServerType standalone
171DefaultServer on
172
173# Port 21 is the standard FTP port.
174Port 21
175# Umask 022 is a good standard umask to prevent new dirs and files
176# from being group and world writable.
177Umask 022
178
179# To prevent DoS attacks, set the maximum number of child processes
180# to 30. If you need to allow more than 30 concurrent connections
181# at once, simply increase this value. Note that this ONLY works
182# in standalone mode, in inetd mode you should use an inetd server
183# that allows you to limit maximum number of processes per service
184<!--# (such as xinetd)-->
185MaxInstances 30
186
187# Set the user and group that the server normally runs at.
188User proftpd
189Group proftpd
190
191# Normally, files should be overwritable.
192&lt;Directory /*&gt;
193 AllowOverwrite on
194&lt;/Directory&gt;
195
196# A basic anonymous configuration, no upload directories.
197&lt;Anonymous ~proftpd&gt;
198 User proftpd
199 Group proftpd
200 # Clients should be able to login with "anonymous" as well as "proftpd"
201 UserAlias anonymous proftpd
202
203 # Limit the maximum number of anonymous logins
204 MaxClients 10
205
206 # 'welcome.msg' should be displayed at login, and '.message' displayed
207 # in each newly chdired directory.
208 DisplayLogin welcome.msg
209 DisplayChdir .message
210
211 # Limit WRITE everywhere in the anonymous chroot
212 &lt;Limit WRITE&gt;
213 DenyAll
214 &lt;/Limit&gt;
215&lt;/Anonymous&gt;</literal>
216EOF</userinput></screen>
217
218 </sect3>
219
220 <sect3 id="proftpd-init">
221 <title>Boot Script</title>
222
223 <para>Install the <filename>/etc/rc.d/init.d/proftpd</filename> init
224 script included in the <xref linkend="bootscripts"/>
225 package.</para>
226
227 <indexterm zone="proftpd proftpd-init">
228 <primary sortas="f-proftpd">proftpd</primary>
229 </indexterm>
230
231<screen role="root"><userinput>make install-proftpd</userinput></screen>
232
233 </sect3>
234
235 </sect2>
236
237 <sect2 role="content">
238 <title>Contents</title>
239
240 <segmentedlist>
241 <segtitle>Installed Programs</segtitle>
242 <segtitle>Installed Libraries</segtitle>
243 <segtitle>Installed Directory</segtitle>
244
245 <seglistitem>
246 <seg>ftpcount, ftpdctl, ftpasswd, ftpmail, ftpquota, ftpscrub,
247 ftptop, ftpshut, ftpcount, ftpwho, and proftpd</seg>
248 <seg>None</seg>
249 <seg>/var/run/proftpd</seg>
250 </seglistitem>
251 </segmentedlist>
252
253 <variablelist>
254 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
255 <?dbfo list-presentation="list"?>
256 <?dbhtml list-presentation="table"?>
257
258 <varlistentry id="proftpd-prog">
259 <term><command>proftpd</command></term>
260 <listitem>
261 <para>is the FTP daemon.</para>
262 <indexterm zone="proftpd proftpd-prog">
263 <primary sortas="b-proftpd">proftpd</primary>
264 </indexterm>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry id="ftpcount">
269 <term><command>ftpcount</command></term>
270 <listitem>
271 <para>shows the current number of connections.</para>
272 <indexterm zone="proftpd ftpcount">
273 <primary sortas="b-ftpcount">ftpcount</primary>
274 </indexterm>
275 </listitem>
276 </varlistentry>
277
278 <varlistentry id="ftpdctl">
279 <term><command>ftpdctl</command></term>
280 <listitem>
281 <para>is used to control the proftpd daemon while it is running.</para>
282 <indexterm zone="proftpd ftpdctl">
283 <primary sortas="b-ftpdctl">ftpdctl</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="ftpasswd">
289 <term><command>ftpasswd</command></term>
290 <listitem>
291 <para>is a Perl script designed to create and manage
292 AuthUserFiles and AuthGroupFiles of the correct format for proftpd.</para>
293 <indexterm zone="proftpd ftpasswd">
294 <primary sortas="b-ftpasswd">ftpasswd</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="ftpmail">
300 <term><command>ftpmail</command></term>
301 <listitem>
302 <para>is a Perl script for sending email based on the proftpd TransferLog.
303 </para>
304 <indexterm zone="proftpd ftpmail">
305 <primary sortas="b-ftpmail">ftpmail</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="ftpquota">
311 <term><command>ftpquota</command></term>
312 <listitem>
313 <para>is a Perl script designed to create and manage limits and tally
314 files for the mod_quotatab + mod_quotatab_file module combination
315 for proftpd.</para>
316 <indexterm zone="proftpd ftpquota">
317 <primary sortas="b-ftpquota">ftpquota</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry id="ftpscrub">
323 <term><command>ftpscrub</command></term>
324 <listitem>
325 <para>provides a way to scrub the scoreboard file on demand.</para>
326 <indexterm zone="proftpd ftpscrub">
327 <primary sortas="b-ftpscrub">ftpscrub</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="ftpshut">
333 <term><command>ftpshut</command></term>
334 <listitem>
335 <para>shuts down all <application>proftpd</application> servers
336 at a given time.</para>
337 <indexterm zone="proftpd ftpshut">
338 <primary sortas="b-ftpshut">ftpshut</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="ftptop">
344 <term><command>ftptop</command></term>
345 <listitem>
346 <para>displays running status on connections.</para>
347 <indexterm zone="proftpd ftptop">
348 <primary sortas="b-ftptop">ftptop</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="ftpwho">
354 <term><command>ftpwho</command></term>
355 <listitem>
356 <para>shows current process information for each session.</para>
357 <indexterm zone="proftpd ftpwho">
358 <primary sortas="b-ftpwho">ftpwho</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 </variablelist>
364
365 </sect2>
366
367</sect1>
Note: See TracBrowser for help on using the repository browser.