Install Sympa on Fedora Core 3

Author: Craig Hancock <chancock@nd.edu> - MACE-MLIST (Middleware-Enabled Mailing List Working Group)
$Date: 2005/06/26 11:30:00 $
$Revision: 1.0 $

Introduction

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.

List of Packages

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

Required Packages

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)

Optional Packages (Even though these packages aren’t necessary they are recommended for a full solution) Please see Technical Notes section below.

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)

 

Original Install Documentation

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 3 stable

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.

YUM/apt-get

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.

Yum Configuration File

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.repo
root# 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.

 

Package Install

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.

 

Configuring Sympa Install

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 fields
Key: Value
domain ‘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/sympaPLEASE 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/aliases
sympa: “|/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 address
sympa-owner: postmaster
 
save and exit /etc/aliases
root# newaliases
root# /etc/init.d/sympa restart

 

Sympa Administration

……….

 

TODO List Documentation

ˇ        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

 

Todo List Package management

ˇ        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

Links and further References