source: server/major/proftpd.xml@ 59048cd9

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 59048cd9 was 59048cd9, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Remove xinetd

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

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