source: server/major/proftpd.xml@ a366dc3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a366dc3 was 56605b9, checked in by Bruce Dubbs <bdubbs@…>, 10 years ago

Remove XML::Parser from perl modules
Archive acl, attr, intltool, expat, gperf
Synchronize libcap with LFS.

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

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