Author:
Craig Hancock <chancock@nd.edu>
- MACE-MLIST (Middleware-Enabled Mailing
List Working Group)
$Date: 2005/06/26 11:30:00 $
$Revision: 1.0 $
The purpose of this document is a guide on how to install and configure Sympa package developed in collaboration with MACE-MLIST and the Sympa group to be deployed on RedHat based systems specifically Fedora.
The focus of this document is a semi detailed installation description of Sympa version 5.0.1 on a Fedora Core 3 host using Fedora’s default package management.
Note: For general information about the deployment of Sympa within the MACE-Mlist group, please consult the MACE-Mlist doc section.
This RPM is meant with the idea that your Sympa installation is at the very beginning stage of deployment. We’ve attempt to create RPM package that will give you a running Sympa installation with to much configuration overhead. Lastly the package is an attempt to represent the views of MACE-Mlist group initial idea of a truly Middleware Enabled application, but know that if you are not satisfied with the build you can make any modification you need after the installation of the RPM.
The installation requires pre installed RPMs from Fedora distribution and 3rd party sources.
Below is a list of required and optional packages used for a running SYMPA based system. The packages listed below can be found in three places.
ˇ Base Fedora Core channel
ˇ Fedora Extras channel
ˇ Dag Wieers personally maintained fedora compatible RPM packages dagwieers
Perl 5.005 or greater (fedora core 3 includes PERL v5.8.5-9)
Scripting Engine used as the backend for Sympa Operations. Fedora Core
List of bundled Packages in RPM, but already included with PERL.
DB_File:
Description: Default RDBMs database
Digest-MD5:
Description: Used to encrypt http cookies when accessing Sympa Web Manager
MIME-Base64:
CGI:
File-Spec
List of packaged included in individual RPMs in different Repositories
MailTools 7.12.2:
Description: A set of Perl modules related to mail applications (fedora)
IO-stringy 0.3.5rc1
Description: A toolkit for performing traditional & OO I/O. (fedora)
MIME-tools 2.6.1
Description: Perl modules used for parsing, decoding, & generating single or multipart MIME messages. (fedora)
Regexp-Common 1.1.0
Description: Perl modules for commonly requested regular expressions. (fedora)
Libintl-perl 1.0.1
Description: Internationalization library for Perl that tries to be compatible with Uniforum message translations system. (unsupporteddagwieers)
Template-Toolkit:
Description” The Template Toolkit is a collection of modules which implement a Fast template processing system. It acts as a parser for all web and e-mail templates used in Sympa. (fedora)
Archive-Zip
Program to create, manipulate, read, and write Zip archive file. (fedora)
Libwww-perl
Provides a simple and consistent application programming interface to WWW. (fedora)
MHonArc:
Converting mail or news messages into HTML archives. (fedora)
Perl-FCGI:
Perl based scalable, open extension to CGI that provides high performance without the limitations of server specific APIs. (unsupporteddagwieers)
SMTP:
Description: This is a Fedora keyword that means some SMTP server installed. Any SMTP server that was installed with fedora will do. (fedora)
HTTPD:
Description: This is a webserver created by the Apache Group used in conjunction with the Web interface (please note at this time there is no support under fedora for mod_fcgi). (fedora)
DBI
Description: Database independent interface for Perl (part of Fedora core)
DBD-mysql
Description: MySQL driver for the Perl Database Interface (part of Fedora core)
DBD-Pg
Description: PostgreSQL driver for the Perl Database Interface used when using a PostgreSQL DB only (part of Fedora core)
DBD-Oracle:
Description: Oracle driver for the Perl Database Interface used when using an Oracle DB only (nothing available at the moment not supported directly by MACE-Mlist)
DBD-Sybase
Description: Sybase driver for the Perl Database Interface used when using a Sybase DB only (nothing available at the moment not supported directly by MACE-Mlist)
perl-ldap
Description: A collection of modules that implements a LDAP services API for Perl programs (part of Fedora core)
CipherSaber
Description: Used to encrypt passwords in the Db (a reversible way) (unsupporteddagwieers)
libnet
Description: A library that allows the high level creation of network packets (part of Perl package)
IO-Socket-SSL:
Description: Nearly transparent SSL encapsulation for IO::Socket::INET (part of Fedora extras)
NET-SSLeay:
Description: Perl extension for using OpenSSL (part of Fedora extras)
#LWP
#Description: (part of Perl package)
SOAP-Lite:
Description: Enables a SOAP interface for administration (Very powerful when thinking about service based provisioning) (unsupporteddagwieers)
For any other platform than Fedora stable, please refer directly to the original INSTALL.txt files. They can be found in the source directories /usr/share/doc/sympa/ and /usr/share/sympa.
They contain more detailed information to build the Sympa release 5.0.1 and the needed libraries from source on different architectures (OSX, Linux, Solaris).
Fedora Core is the platform of choice for the MACE-MLIST group. The facility to update/upgrade packages and maintain a high security on the host guided our choice.
The tradeoff installing Sympa on Fedora stable are:
To install Sympa from the MACE-Mlist RPM you need some packages already installed. You will need to configure you package management installation.
To install a package (redhat based package) will require a few utilities that come by default. RPM (Redhat Package Management), YUM, apt-get all these alternatives can get a system up an ready, but I recommend you use yum. This compiler can be Installing one package may also install other packages which our known as dependency packages.
First you will need to create a repo file for some of the 3rd party packages that are not included in with fedora 3 distribution. Fedora package management system needs configuration needs to be verfied before going forward. RPM (Redhat Package Management), YUM, apt-get are all apart of the Fedora Core package management system, but I recommend you use yum which is the default standard for package management.
This section shows how to add the necessary repository for 3rd party packages:
Create a repository configuration file located in /etc/yum.repos.d/
root# vi /etc/yum/repos.d/unsupporteddagwiers.repo
# The purpose of the repo is to be able to install from YUM 3rd party# packages that aren’t available in the Fedora Core or Extras repository.[unsupporteddag]
Name=Fedora Core 3 Extras
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag
gpgcheck=0
enabled=1
# Please note the packages below are based on the need of optional packages and their RPM dependency.
includepkgs=libintl-perl, perl-Net-LDAP, perl-FCGI, perl-Crypt-CipherSaber, perl-SOAP-Lite, perl-Net-XMPP, perl-XML-Stream, perl-Net-Jabber
Next you will need to create a repo file for some of the 3rd party packages that are not included in with Fedora Core 3 distribution. Fedora package management system needs to be verified before going forward. RPM (Redhat Package Management), YUM, apt-get are all apart of the Fedora Core package management system, but I recommend you use yum which is the default standard for package management.
This section shows how to add the necessary repository for 3rd party packages:
root# rpm –import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
root# cd /etc/yum.repos.d
…
root# vi dag.repo[dag]
name=Dag RPM Repository for Fedora Core
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
save and exit dag.reporoot# yum update
Next you will need to create a repo file for some of the 3rd party Sympa package itself. This sections shows how to add the necessary repository for Sympa package:
root# rpm –import http://somesite.internet2.edu/packages/RPM-GPG-KEY.dag.txt
root# cd /etc/yum.repos.d
…
root# vi sympa.repo[dag]
name=Sympa RPM Repository for Fedora Core
baseurl=http://somesite.internet2.edu/fedora/$releasever/en/$basearch/sympa
gpgcheck=1
enabled=1
root# yum update
Unfortunately this project is currently in the custom repository, we have plans in the near future to include the Sympa package and all necessary RPMs in the default distribution, but for now these are the steps necessary to get our package running.
Once you have configured yum the only thing you will need to do at this point is
root# yum update
root# yum install sympa
The command above will pull the Sympa package from the Internet2 website as well as the Dag repository for supplemental packages and any other package it needs from the main Fedora repository.
Once Sympa is installed you will need to make sure you have a running configuration of DB, SMTP, APACHE, and Sympa. This document will only address how to configure Apache, DB, and Sympa due to the fact their are so many options for an SMTP server.
To configure the Sympa after installing the RPM:
root# cd /etc/sympa
root# vi sympa.conf
Edit Key fieldsKey: Valuedomain ‘Fully qualified Domain Name of the sympa host’listmaster ‘e-mail address of the administrator of sympa box’db_type ‘Name of Database Product i.e mysql`wwsympa_url ‘hostname of the system followed my the path of the sympa web directory e.g http://hostname.domainname/sympa ‘PLEASE NOTE that the /etc/http/conf.d/sympa.conf referes to /sympa so use sympa at the end’ save and exit sympa.conf. root# vi /etc/aliasessympa: “|/var/sympa/bin/queue listmaster e-mail address”listmaster: “|/var/sympa/bin/queue listmaster e-mail address”bounce+: “|/var/sympa/bin/bouncequeue listmaster e-mail address”sympa-request: listmaster e-mail addresssympa-owner: postmaster save and exit /etc/aliasesroot# newaliases
root# /etc/init.d/sympa restart
ˇ Create section on how to enable SSL.
ˇ Create a common FAQ on modifying simple configurations options in Sympa, DB, WEB.
ˇ Develop the tradeoff section a little more.
ˇ Create a recommended configuration guide based on 3 classes.
o Small site ( < # )
o Medium site ( <= # )
o Large site ( => #)
ˇ Update Administration section that touch on Middleware.
o Accounting
o Authorization
o Authentication
§ How to configure LDAP
§ How to configure ferderated authentication
ˇ Enable SSL configuration somehow
ˇ Create a configuration wizard that will do all the configuration for you
o Import DB (mysql, oracle, postgresql)
o Import LDAP (openldap, Iplanet)
o Include optional support for FCGI
o Include support for major MTAs for alias management
§ Sendmail
§ Postfix
§ qmail