source: server/major/proftpd.xml@ 2a5310e8

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 2a5310e8 was 2a5310e8, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

Typo fix. Server.

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

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