<sect1 id="configuration-ppp-packages">
<title>Installing Required Packages</title>
<para>
Start with a minimal installation of &TCD;, bootup the
operating system, and login as root user. Later, install the
<quote>Dialup Networking Support</quote> group of packages
available in the <code>[base]</code> repository of &TCD;. The
installation of this group of packages is required both in
server and client computers. If you don't have this group of
packages installed in your computer, then you can do it as the
following command describes:
</para>
<screen>yum groupinstall "Dialup Networking Support"</screen>
<para>
Other packages might be required based on whether you are
configuring the computer to be a server or a client. The
implementation described in this chapter considers both a
server and client configuration so you can pick up the one
fitting your case.
</para>
<sect2 id="configurations-ppp-packages-server">
<title>Server Installation</title>
<sect3 id="configurations-ppp-packages-server-dns">
<title>Name Server</title>
<para>
The name server provides the software required to translate
domain names into IP address and IP addresses into domain
names. With this software you can rembember addresses like
<ulink url="https://example.com/" /> instead of addresses like
<ulink url="https://192.168.0.1/" />. There are other
feautres (e.g., mail exchanger resolution, zone delegation,
etc.) provided by this software that aren't used in the
point-to-point configuration we describe in this chapter.
</para>
<para>
To install this software, run the following command:
</para>
<screen>yum install bind</screen>
<note>
<para>
There is a <package>bind-chroot</package> packages, however,
we aren't using it because SELinux is already enforced on the
&TCD; filesystem and it provides far more security than the
idea of <package>bind-chroot</package> package itself does.
</para>
</note>
</sect3>
<sect3 id="configurations-ppp-packages-server-mail">
<title>Mail Server</title>
<para>
The mail server provides the software required to let you
send/receive e-mail messages to/from others. The mail server
is splitted in three basic components: The Mail Transfer Agent
(<package>postfix</package>), The Mail Delivery Agent
(<package>Cyrus-Imapd</package>) and an intermediary daemon
named <systemitem class="daemon">saslauthd</systemitem> to
handle users' authentication. The mail transfer agent is the
program your e-mail client sends e-mail messages to. The mail
delivery agent, on the other hand, is the program your e-mail
client reads e-mail message from (i.e., this is the place
where your mailbox is stored in). The authentication daemon
is used by the mail delivery agent to authenticate user's
credentials (e.g., the information that let you access an
specific mailbox).
</para>
<para>
To install this software, run the following command:
</para>
<screen>yum install postfix cyrus-imapd cyrus-sasl</screen>
<para>
By default, the <application>sendmail</application>
program is used as mail transfer agent, not postfix. For the
sake of that point-to-point configuration we are implementing,
I decided to use postfix instead as default mail transfer
agent, not sendmail. To effectively achieve this decition, it
is required to use the <command>alternatives</command>
command, as it shown below:
</para>
<screen>alternatives --config mta</screen>
<para>
This command will present you a menu to chose between
available mail transfer agents, so it is there where you
choose to use posfix as default option. Now that you've
changed postfix the default mail transfer agent, you can
saftly remove the sendmail package to avoid unused software
to remain inside the computer. To do this, you can run the
following command:
</para>
<screen>yum remove sendmail</screen>
<para>
In addition to mail server specific packages, we also provide
mailing list support. Mailing lists provide e-mail addresses
that users registered inside the ISP can write to. When you
sed an e-mail to a mailing list, your message is distributed to
all members of that list. In order for this to happen, people
registered inside ISP need to subscribe themselves into that
mailing list they want to receive messages from. The
subscription of mailinglist will be available through a secured
web application in the following url:
</para>
<itemizedlist>
<listitem>
<para>
<ulink url="https://example.com/lists/" />
</para>
</listitem>
</itemizedlist>
<para>
To install the mailing list software, run the following
command:
</para>
<screen>yum install mailman</screen>
</sect3>
<sect3 id="configurations-ppp-packages-server-web">
<title>Web Server</title>
<para>
The web server provides the software required to support web
interfaces like those one previously mention to register new
users inside the ISP and subscribe mailing lists. The web
server provided in this configuration will accept requests
both unencrypted and encrypted.
</para>
<screen>yum install httpd mod_ssl crypto-utils</screen>
<para>
In addition to mailing lists support, the web server will
provide access to Subversion. Subvesion provides a way to
manage files through version control. The main purpose of
providing Subversion support here is sharing the version of
&TCAR; I've been working on. To install Subversion software,
run the following command: </para>
<screen>yum install subversion mod_dav_svn</screen>
</sect3>
<sect3 id="configurations-ppp-packages-server-ldap">
<title>Directory Server</title>
<para>
The directory server provides the software required to unify
user information. This server is access by other server
whenever user information is required. You, as end user, can
also use this server from your workstation to retrive a list
of all users registered in the ISP. This list can be retrived
by the web interface the ISP provides, or any application your
workstation provide (e.g., most e-mail clients provide a way
to configure LDAP servers to build address book from it.).
</para>
<para>
To install the directory server sofware, run the following
command:
</para>
<screen>yum openldap-servers python-ldap</screen>
</sect3>
</sect2>
<sect2 id="configurations-ppp-packages-client">
<title>Client Installation</title>
<para>
...
</para>
<variablelist>
<varlistentry>
<term><package>...</package></term>
<listitem>
<para>
...
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>