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

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 3cb0c57 was 3cb0c57, checked in by Randy McMurchy <randy@…>, 18 years ago

Added the 'User Notes' wiki link to each package page; changed all instances of .[so,a] to .{so,a} (brackets changed to braces); changed all replaceable tags to use angle brackets instead of square brackets to encapsulate the text - commit #9

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

  • Property mode set to 100644
File size: 10.3 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 <!ENTITY proftpd-download-http "http://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
8 <!ENTITY proftpd-download-ftp "ftp://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
9 <!ENTITY proftpd-md5sum "5feb4a7348e12faefc25e34fd92efdd6">
10 <!ENTITY proftpd-size "901 KB">
11 <!ENTITY proftpd-buildsize "7.3 MB">
12 <!ENTITY proftpd-time "0.27 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 <keywordset>
22 <keyword role="package">proftpd-&proftpd-version;.tar</keyword>
23 <keyword role="ftpdir">proftpd</keyword>
24 </keywordset>
25 </sect1info>
26
27 <title>ProFTPD-&proftpd-version;</title>
28
29 <indexterm zone="proftpd">
30 <primary sortas="a-proftpd">Proftpd</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to ProFTPD</title>
35
36 <para>The <application>ProFTPD</application> package contains a secure
37 and highly configurable FTP daemon. This is useful for serving large
38 file archives over a network.</para>
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>Download (HTTP): <ulink url="&proftpd-download-http;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download MD5 sum: &proftpd-md5sum;</para>
50 </listitem>
51 <listitem>
52 <para>Download size: &proftpd-size;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated disk space required: &proftpd-buildsize;</para>
56 </listitem>
57 <listitem>
58 <para>Estimated build time: &proftpd-time;</para>
59 </listitem>
60 </itemizedlist>
61
62 <bridgehead renderas="sect3">ProFTPD Dependencies</bridgehead>
63
64 <bridgehead renderas="sect4">Optional</bridgehead>
65 <para role="optional"><xref linkend="linux-pam"/></para>
66
67 <para condition="html" role="usernotes">User Notes:
68 <ulink url="&blfs-wiki;/proftpd"/></para>
69
70 </sect2>
71
72 <sect2 role="installation">
73 <title>Installation of ProFTPD</title>
74
75 <para>For security reasons, you should install
76 <application>ProFTPD</application> using an unprivileged user and group.
77 As the <systemitem class="username">root</systemitem> user:</para>
78
79<screen role="root"><userinput>groupadd -g 46 proftpd &amp;&amp;
80useradd -c proftpd -d /home/ftp -g proftpd \
81 -s /usr/lib/proftpd/proftpdshell -u 46 proftpd &amp;&amp;
82install -v -d -m775 -o proftpd -g proftpd /usr/lib/proftpd &amp;&amp;
83ln -v -s /bin/false /usr/lib/proftpd/proftpdshell &amp;&amp;
84echo /usr/lib/proftpd/proftpdshell &gt;&gt; /etc/shells</userinput></screen>
85
86 <para>Install <application>ProFTPD</application> as an unprivileged user by
87 running the following commands:</para>
88
89<screen><userinput>install_user=proftpd install_group=proftpd \
90 ./configure --prefix=/usr --sysconfdir=/etc \
91 --localstatedir=/var/run &amp;&amp;
92make</userinput></screen>
93
94 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
95
96<screen role="root"><userinput>make install</userinput></screen>
97
98 </sect2>
99
100 <sect2 role="commands">
101 <title>Command Explanations</title>
102
103 <para><command>install -v -d -m775 -o proftpd -g proftpd
104 /usr/lib/proftpd</command>: Create the home directory for
105 <application>ProFTPD</application>.</para>
106
107 <para><command>ln -v -s /bin/false /usr/lib/proftpd/proftpdshell</command>:
108 Set the default shell as a link to an invalid shell.</para>
109
110 <para><command>echo /usr/lib/proftpd/proftpdshell &gt;&gt;
111 /etc/shells</command>: Fake a valid shell for compatibility purposes.</para>
112
113 <note>
114 <para>The above three commands can be omitted if the following directive is
115 placed in the configuration file:</para>
116
117<screen><literal>RequireValidShell off</literal></screen>
118
119 <para>By default, proftpd will require that users logging in have valid
120 shells. The RequireValidShell directive turns off this requirement. This
121 is only recommended if you are setting up your FTP server exclusively
122 for anonymous downloads.</para>
123 </note>
124
125 <para><parameter>install_user=proftpd install_group=proftpd</parameter>:
126 Specify the user and group identity for
127 <application>ProFTPD</application>.</para>
128
129 <para><parameter>--sysconfdir=/etc</parameter>: This prevents the
130 configuration files from going to
131 <filename class="directory">/usr/etc</filename>.</para>
132
133 <para><parameter>--localstatedir=/var/run</parameter>:
134 This uses <filename class="directory">/var/run</filename> instead of
135 <filename class="directory">/usr/var</filename> for lock files.</para>
136
137 </sect2>
138
139 <sect2 role="configuration">
140 <title>Configuring ProFTPD</title>
141
142 <sect3 id='proftpd-config'>
143 <title>Config Files</title>
144
145 <para><filename>/etc/proftpd.conf</filename></para>
146
147 <indexterm zone="proftpd proftpd-config">
148 <primary sortas="e-etc-proftpd">/etc/proftpd.conf</primary>
149 </indexterm>
150
151 </sect3>
152
153 <sect3>
154 <title>Configuration Information</title>
155
156 <para>This is a simple, download-only sample configuration. See the
157 <application>ProFTPD</application> documentation in
158 <filename class="directory">/usr/share/doc/proftpd</filename> and
159 consult the website at <ulink url="http://www.proftpd.org/"/> for
160 example configurations.</para>
161
162<screen role="root"><userinput>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"
163<literal># This is a basic ProFTPD configuration file
164# It establishes a single server and a single anonymous login.
165
166ServerName "ProFTPD Default Installation"
167ServerType standalone
168DefaultServer on
169
170# Port 21 is the standard FTP port.
171Port 21
172# Umask 022 is a good standard umask to prevent new dirs and files
173# from being group and world writable.
174Umask 022
175
176# To prevent DoS attacks, set the maximum number of child processes
177# to 30. If you need to allow more than 30 concurrent connections
178# at once, simply increase this value. Note that this ONLY works
179# in standalone mode, in inetd mode you should use an inetd server
180# that allows you to limit maximum number of processes per service
181# (such as xinetd)
182MaxInstances 30
183
184# Set the user and group that the server normally runs at.
185User proftpd
186Group proftpd
187
188# Normally, files should be overwritable.
189&lt;Directory /*&gt;
190 AllowOverwrite on
191&lt;/Directory&gt;
192
193# A basic anonymous configuration, no upload directories.
194&lt;Anonymous ~proftpd&gt;
195 User proftpd
196 Group proftpd
197 # Clients should be able to login with "anonymous" as well as "proftpd"
198 UserAlias anonymous proftpd
199
200 # Limit the maximum number of anonymous logins
201 MaxClients 10
202
203 # 'welcome.msg' should be displayed at login, and '.message' displayed
204 # in each newly chdired directory.
205 DisplayLogin welcome.msg
206 DisplayFirstChdir .message
207
208 # Limit WRITE everywhere in the anonymous chroot
209 &lt;Limit WRITE&gt;
210 DenyAll
211 &lt;/Limit&gt;
212&lt;/Anonymous&gt;</literal>
213EOF</userinput></screen>
214
215 </sect3>
216
217 <sect3 id="proftpd-init">
218 <title>Boot Script</title>
219
220 <para>Install the <filename>/etc/rc.d/init.d/proftpd</filename> init
221 script included in the <xref linkend="bootscripts"/>
222 package.</para>
223
224 <indexterm zone="proftpd proftpd-init">
225 <primary sortas="f-proftpd">proftpd</primary>
226 </indexterm>
227
228<screen role="root"><userinput>make install-proftpd</userinput></screen>
229
230 </sect3>
231
232 </sect2>
233
234 <sect2 role="content">
235 <title>Contents</title>
236
237 <segmentedlist>
238 <segtitle>Installed Programs</segtitle>
239 <segtitle>Installed Libraries</segtitle>
240 <segtitle>Installed Directory</segtitle>
241
242 <seglistitem>
243 <seg>ftpcount, ftpdctl, ftptop, ftpwho, ftpshut, proftpd</seg>
244 <seg>None</seg>
245 <seg>/var/run/proftpd</seg>
246 </seglistitem>
247 </segmentedlist>
248
249 <variablelist>
250 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
251 <?dbfo list-presentation="list"?>
252 <?dbhtml list-presentation="table"?>
253
254 <varlistentry id="proftpd-prog">
255 <term><command>proftpd</command></term>
256 <listitem>
257 <para>is the FTP daemon.</para>
258 <indexterm zone="proftpd proftpd-prog">
259 <primary sortas="b-proftpd">proftpd</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="ftpcount">
265 <term><command>ftpcount</command></term>
266 <listitem>
267 <para>shows the current number of connections.</para>
268 <indexterm zone="proftpd ftpcount">
269 <primary sortas="b-ftpcount">ftpcount</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="ftpshut">
275 <term><command>ftpshut</command></term>
276 <listitem>
277 <para>shuts down all <application>proftpd</application> servers
278 at a given time.</para>
279 <indexterm zone="proftpd ftpshut">
280 <primary sortas="b-ftpshut">ftpshut</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="ftptop">
286 <term><command>ftptop</command></term>
287 <listitem>
288 <para>displays running status on connections.</para>
289 <indexterm zone="proftpd ftptop">
290 <primary sortas="b-ftptop">ftptop</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 <varlistentry id="ftpwho">
296 <term><command>ftpwho</command></term>
297 <listitem>
298 <para>shows current process information for each session.</para>
299 <indexterm zone="proftpd ftpwho">
300 <primary sortas="b-ftpwho">ftpwho</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 </variablelist>
306
307 </sect2>
308
309</sect1>
Note: See TracBrowser for help on using the repository browser.