source: server/major/proftpd.xml@ cbfe279

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 cbfe279 was 13be1e2, checked in by Bruce Dubbs <bdubbs@…>, 18 years ago

Updated proftpd instructions to adjust ownershp and directory locations

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

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