source: server/major/proftpd.xml@ 0af9bb66

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 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 0af9bb66 was 0af9bb66, checked in by Bruce Dubbs <bdubbs@…>, 18 years ago

Updated to proftpd-1.3.0.

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

  • Property mode set to 100644
File size: 10.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!-- Inserted as a reminder to do this. The mention of a test suite
8 is usually right before the root user installation commands. Please
9 delete these 12 (including one blank) lines after you are done.-->
10
11 <!-- Use one of the two mentions below about a test suite,
12 delete the line that is not applicable. Of course, if the
13 test suite uses syntax other than "make check", revise the
14 line to reflect the actual syntax to run the test suite -->
15
16 <!-- <para>This package does not come with a test suite.</para> -->
17 <!-- <para>To test the results, issue: <command>make check</command>.</para> -->
18<!-- Dead link
19 <!ENTITY proftpd-download-http "http://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
20-->
21 <!ENTITY proftpd-download-http " ">
22 <!ENTITY proftpd-download-ftp "ftp://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
23 <!ENTITY proftpd-md5sum "fae47d01b52e035eb6b7190e74c17722">
24 <!ENTITY proftpd-size "1.3 MB">
25 <!ENTITY proftpd-buildsize "12.2 MB">
26 <!ENTITY proftpd-time "0.3 SBU">
27]>
28
29<sect1 id="proftpd" xreflabel="ProFTPD-&proftpd-version;">
30 <?dbhtml filename="proftpd.html"?>
31
32 <sect1info>
33 <othername>$LastChangedBy$</othername>
34 <date>$Date$</date>
35 <keywordset>
36 <keyword role="package">proftpd-&proftpd-version;.tar</keyword>
37 <keyword role="ftpdir">proftpd</keyword>
38 </keywordset>
39 </sect1info>
40
41 <title>ProFTPD-&proftpd-version;</title>
42
43 <indexterm zone="proftpd">
44 <primary sortas="a-proftpd">Proftpd</primary>
45 </indexterm>
46
47 <sect2 role="package">
48 <title>Introduction to ProFTPD</title>
49
50 <para>The <application>ProFTPD</application> package contains a secure
51 and highly configurable FTP daemon. This is useful for serving large
52 file archives over a network.</para>
53
54 <bridgehead renderas="sect3">Package Information</bridgehead>
55 <itemizedlist spacing="compact">
56 <listitem>
57 <para>Download (HTTP): <ulink url="&proftpd-download-http;"/></para>
58 </listitem>
59 <listitem>
60 <para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para>
61 </listitem>
62 <listitem>
63 <para>Download MD5 sum: &proftpd-md5sum;</para>
64 </listitem>
65 <listitem>
66 <para>Download size: &proftpd-size;</para>
67 </listitem>
68 <listitem>
69 <para>Estimated disk space required: &proftpd-buildsize;</para>
70 </listitem>
71 <listitem>
72 <para>Estimated build time: &proftpd-time;</para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">ProFTPD Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Optional</bridgehead>
79 <para role="optional"><xref linkend="linux-pam"/></para>
80
81 <para condition="html" role="usernotes">User Notes:
82 <ulink url="&blfs-wiki;/proftpd"/></para>
83
84 </sect2>
85
86 <sect2 role="installation">
87 <title>Installation of ProFTPD</title>
88
89 <para>For security reasons, you should install
90 <application>ProFTPD</application> using an unprivileged user and group.
91 As the <systemitem class="username">root</systemitem> user:</para>
92
93<screen role="root"><userinput>groupadd -g 46 proftpd &amp;&amp;
94useradd -c proftpd -d /srv/ftp -g proftpd \
95 -s /usr/bin/proftpdshell -u 46 proftpd &amp;&amp;
96install -v -d -m775 -o proftpd -g proftpd /srv/ftp &amp;&amp;
97ln -v -s /bin/false /usr/bin/proftpdshell &amp;&amp;
98echo /usr/bin/proftpdshell &gt;&gt; /etc/shells</userinput></screen>
99
100 <para>Install <application>ProFTPD</application> as an unprivileged user by
101 running the following commands:</para>
102
103<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc \
104 --localstatedir=/var/run &amp;&amp;
105make</userinput></screen>
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 <para><parameter>--sysconfdir=/etc</parameter>: This prevents the
139 configuration files from going to
140 <filename class="directory">/usr/etc</filename>.</para>
141
142 <para><parameter>--localstatedir=/var/run</parameter>:
143 This uses <filename class="directory">/var/run</filename> instead of
144 <filename class="directory">/usr/var</filename> for lock files.</para>
145
146 </sect2>
147
148 <sect2 role="configuration">
149 <title>Configuring ProFTPD</title>
150
151 <sect3 id='proftpd-config'>
152 <title>Config Files</title>
153
154 <para><filename>/etc/proftpd.conf</filename></para>
155
156 <indexterm zone="proftpd proftpd-config">
157 <primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
158 </indexterm>
159
160 </sect3>
161
162 <sect3>
163 <title>Configuration Information</title>
164
165 <para>This is a simple, download-only sample configuration. See the
166 <application>ProFTPD</application> documentation in
167 <filename class="directory">/usr/share/doc/proftpd</filename> and
168 consult the website at <ulink url="http://www.proftpd.org/"/> for
169 example configurations.</para>
170
171<screen role="root"><userinput>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"
172<literal># This is a basic ProFTPD configuration file
173# It establishes a single server and a single anonymous login.
174
175ServerName "ProFTPD Default Installation"
176ServerType standalone
177DefaultServer on
178
179# Port 21 is the standard FTP port.
180Port 21
181# Umask 022 is a good standard umask to prevent new dirs and files
182# from being group and world writable.
183Umask 022
184
185# To prevent DoS attacks, set the maximum number of child processes
186# to 30. If you need to allow more than 30 concurrent connections
187# at once, simply increase this value. Note that this ONLY works
188# in standalone mode, in inetd mode you should use an inetd server
189# that allows you to limit maximum number of processes per service
190# (such as xinetd)
191MaxInstances 30
192
193# Set the user and group that the server normally runs at.
194User proftpd
195Group proftpd
196
197# Normally, files should be overwritable.
198&lt;Directory /*&gt;
199 AllowOverwrite on
200&lt;/Directory&gt;
201
202# A basic anonymous configuration, no upload directories.
203&lt;Anonymous ~proftpd&gt;
204 User proftpd
205 Group proftpd
206 # Clients should be able to login with "anonymous" as well as "proftpd"
207 UserAlias anonymous proftpd
208
209 # Limit the maximum number of anonymous logins
210 MaxClients 10
211
212 # 'welcome.msg' should be displayed at login, and '.message' displayed
213 # in each newly chdired directory.
214 DisplayLogin welcome.msg
215 DisplayFirstChdir .message
216
217 # Limit WRITE everywhere in the anonymous chroot
218 &lt;Limit WRITE&gt;
219 DenyAll
220 &lt;/Limit&gt;
221&lt;/Anonymous&gt;</literal>
222EOF</userinput></screen>
223
224 </sect3>
225
226 <sect3 id="proftpd-init">
227 <title>Boot Script</title>
228
229 <para>Install the <filename>/etc/rc.d/init.d/proftpd</filename> init
230 script included in the <xref linkend="bootscripts"/>
231 package.</para>
232
233 <indexterm zone="proftpd proftpd-init">
234 <primary sortas="f-proftpd">proftpd</primary>
235 </indexterm>
236
237<screen role="root"><userinput>make install-proftpd</userinput></screen>
238
239 </sect3>
240
241 </sect2>
242
243 <sect2 role="content">
244 <title>Contents</title>
245
246 <segmentedlist>
247 <segtitle>Installed Programs</segtitle>
248 <segtitle>Installed Libraries</segtitle>
249 <segtitle>Installed Directory</segtitle>
250
251 <seglistitem>
252 <seg>ftpcount, ftpdctl, ftptop, ftpwho, ftpshut, proftpd</seg>
253 <seg>None</seg>
254 <seg>/var/run/proftpd</seg>
255 </seglistitem>
256 </segmentedlist>
257
258 <variablelist>
259 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
260 <?dbfo list-presentation="list"?>
261 <?dbhtml list-presentation="table"?>
262
263 <varlistentry id="proftpd-prog">
264 <term><command>proftpd</command></term>
265 <listitem>
266 <para>is the FTP daemon.</para>
267 <indexterm zone="proftpd proftpd-prog">
268 <primary sortas="b-proftpd">proftpd</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="ftpcount">
274 <term><command>ftpcount</command></term>
275 <listitem>
276 <para>shows the current number of connections.</para>
277 <indexterm zone="proftpd ftpcount">
278 <primary sortas="b-ftpcount">ftpcount</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="ftpshut">
284 <term><command>ftpshut</command></term>
285 <listitem>
286 <para>shuts down all <application>proftpd</application> servers
287 at a given time.</para>
288 <indexterm zone="proftpd ftpshut">
289 <primary sortas="b-ftpshut">ftpshut</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="ftptop">
295 <term><command>ftptop</command></term>
296 <listitem>
297 <para>displays running status on connections.</para>
298 <indexterm zone="proftpd ftptop">
299 <primary sortas="b-ftptop">ftptop</primary>
300 </indexterm>
301 </listitem>
302 </varlistentry>
303
304 <varlistentry id="ftpwho">
305 <term><command>ftpwho</command></term>
306 <listitem>
307 <para>shows current process information for each session.</para>
308 <indexterm zone="proftpd ftpwho">
309 <primary sortas="b-ftpwho">ftpwho</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 </variablelist>
315
316 </sect2>
317
318</sect1>
Note: See TracBrowser for help on using the repository browser.