An Example of Postfix Mail System on Ubuntu Server 9.10

Once time I had to make a corporate mail system with some special requirements.

- copying of all sended messages to the special e-mail folder
- restriction of multi-volume archives
- flexible message size restrictions

At first I made it on Exim, but there was a big problem - It hasn't the Delivery Status Notification function.
I tryed to fix it by unoffical patch (http://sourceforge.net/projects/eximdsn/) but it didn't help me.
So I decided to make the next system:
Ubuntu Server 9.10
MTA - Postix
Database - MySQL

Implementing Linux Domain

If you need domain but you needn't Group Policy, you may set up domain by the help of Linux.
Ingredients are: Ubuntu Server 9.04, Samba и OpenLDAP.

Update your system and install software:

# sudo su
# aptitude update
# aptitude upgrade
# aptitude install slapd ldap-utils db4.2-util samba smbclient samba-doc smbldap-tools ldap-auth-client

I don't like new Ubuntu OpenLDAP configuration type, so I rolled back to the classical type.
You should edit file /etc/default/slapd :

...
SLAPD_CONF=/etc/ldap/slapd.conf

An Advanced Proxy Server

The mission is to configure caching Proxy Server with NCSA authorization and some Internet content restrictions.
I use for this task the next stuff: Ubuntu Server 9.10, squid 2.7, and Squidguard.
Update your system and install software:

# sudo su
# aptitude update
# aptitude upgrade
# aptitude install squid squidguard mc htop

Download blacklist archive and unpack it to /var/lib/squidguard/db:

# wget http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file...
# mc
… =)

Configure Squid:

Configuring Iptables Firewall

This is an example of Iptables firewall script.

#!/bin/sh

wan_ip="xxx.xxx.xxx.xxx"
wan_if="eth1"
lan_ip="192.168.0.1"
lan_if="eth0"
lo_if="lo"
lo_ip="127.0.0.1"

dc="192.168.0.2"
db="192.168.0.3"
itchief="192.168.0.4"
asterisk="192.168.0.5"

IPTABLES="/sbin/iptables"

# Module loading

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit

Installing Asterisk VoIP Server from Sources

The mission is to install and configure corporate VoIP server with a few E1 flows, to store logs in a MySQL base, to configure the calls statistics and fax-machines pool.
I tryed to realize it with a lot of platforms: FreeBSD, CentOS, Trixbox, AsteriskNOW, Elastix, Akozia... but there were something wrong in each case.
Finally I chose the Ubuntu Server.

1. Asterisk

Install Asterisk with LAMP and OpenSSH, then upgrade it and install all basic software.

# aptitude update
# aptitude upgrade

The FreeBSD Gateway - PF

This is an example of FreeBSD Internet Gateway with firewall, port forwarding and transparent proxy.

Install FreeBSD without x-server, games and packages.
Configure network interfaces and turn on ssh.
Enable PF in rc.conf:

pf_enable="YES"
pf_program="/sbin/pfctl"
pf_flags=""
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
plog_program="/sbin/pflogd"
pflog_flags=""

Reboot system:
# shutdown -r now

Check PF:  

Installing and configuring SugarCRM

Let's install SugarCRM: Sugar Community Edition on Ubuntu Server 9.10.