glfs/content/web/proftpd.xml
Larry Lawrence efded646c1 update to fluxbox-0.9.10 and proftpd-1.2.10
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@2824 af4574ff-66df-0310-9fd7-8a98e5e911e0
2004-10-17 02:31:23 +00:00

188 lines
6.5 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY proftpd-download-http "http://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
<!ENTITY proftpd-download-ftp "ftp://ftp.proftpd.org/distrib/source/proftpd-&proftpd-version;.tar.bz2">
<!ENTITY proftpd-size "901 KB">
<!ENTITY proftpd-buildsize "7.3 MB">
<!ENTITY proftpd-time "0.27 SBU">
]>
<sect1 id="proftpd" xreflabel="ProFTPD-&proftpd-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="proftpd.html"?>
<title>ProFTPD-&proftpd-version;</title>
<sect2>
<title>Introduction to ProFTPD</title>
<para>The <application>ProFTPD</application> package contains a secure and
highly configurable FTP daemon. This is useful for serving large file archives
over a network.</para>
<sect3><title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP):<ulink url="&proftpd-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink url="&proftpd-download-ftp;"/></para></listitem>
<listitem><para>Download size: &proftpd-size;</para></listitem>
<listitem><para>Estimated Disk space required: &proftpd-buildsize;</para></listitem>
<listitem><para>Estimated build time: &proftpd-time;</para></listitem></itemizedlist>
</sect3>
<sect3><title><application>ProFTPD</application> dependencies</title>
<sect4><title>Optional</title>
<para><xref linkend="Linux_PAM"/></para></sect4>
</sect3>
</sect2>
<sect2>
<title>Installation of <application>ProFTPD</application></title>
<para>For security reasons, running <application>ProFTPD</application>
as an unprivileged user and group is encouraged.</para>
<screen><userinput><command>groupadd proftpd &amp;&amp;
useradd -c proftpd -d /home/ftp -g proftpd -s /bin/false proftpd</command>
</userinput></screen>
<para>Install <application>ProFTPD</application> by running the following commands:</para>
<screen><userinput><command>install_user=proftpd install_group=proftpd \
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/run &amp;&amp;
make &amp;&amp;
make install </command></userinput></screen>
</sect2>
<sect2>
<title>Command explanations</title>
<para><parameter>install_user=proftpd install_group=proftpd</parameter>:
Specify the user and group identity for ProFTPD.</para>
<para><parameter>--sysconfdir=/etc</parameter>:
This prevents the configuration files from going to
<filename class="directory">/usr/etc</filename>.</para>
<para><parameter>--localstatedir=/var/run</parameter>:
This uses <filename class="directory">/var/run</filename> instead of
<filename class="directory">/usr/var</filename> for lock files.</para>
</sect2>
<sect2>
<title>Configuring <application>ProFTPD</application></title>
<sect3><title>proftpd init.d script</title>
<para>Install the <filename>/etc/rc.d/init.d/proftpd</filename>
init script included in the <xref linkend="intro-important-bootscripts"/> package.</para>
<screen><userinput><command>make install-proftpd</command></userinput></screen>
</sect3>
<sect3><title>Config files</title>
<para><filename>/etc/proftpd.conf</filename></para>
<para>This is a simple, download-only sample configuration. See the ProFTPD
documentation in <filename class="directory">/usr/share/doc/proftpd</filename>
and consult the website at <ulink url="http://www.proftpd.org/"/>
for example configurations.</para>
<screen><userinput><command>cat &gt; /etc/proftpd.conf &lt;&lt; "EOF"</command>
# This is a basic ProFTPD configuration file
# It establishes a single server and a single anonymous login.
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at.
User proftpd
Group proftpd
# Normally, we want files to be overwritable.
&lt;Directory /*&gt;
AllowOverwrite on
&lt;/Directory&gt;
# A basic anonymous configuration, no upload directories.
&lt;Anonymous ~proftpd&gt;
User proftpd
Group proftpd
# We want clients to be able to login with "anonymous" as well as "proftpd"
UserAlias anonymous proftpd
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
&lt;Limit WRITE&gt;
DenyAll
&lt;/Limit&gt;
&lt;/Anonymous&gt;
<command>EOF</command></userinput></screen></sect3>
</sect2>
<sect2>
<title>Contents</title>
<para>The <application>ProFTPD</application> package contains
<command>ftpcount</command>, <command>ftpshut</command>,
<command>ftptop</command>, <command>ftpwho</command> and
<command>proftpd</command>.</para>
</sect2>
<sect2><title>Description</title>
<sect3><title>ftpcount</title>
<para><command>ftpcount</command> shows the current number of connections.</para></sect3>
<sect3><title>ftpshut</title>
<para><command>ftpshut</command> shuts down all proftpd servers at a
given time.</para></sect3>
<sect3><title>ftptop</title>
<para><command>ftptop</command> displays running status on connections.</para></sect3>
<sect3><title>ftpwho</title>
<para><command>ftpwho</command> shows current process information for
each session.</para></sect3>
<sect3><title>proftpd</title>
<para><command>proftpd</command> is the daemon itself.</para></sect3>
</sect2>
</sect1>