Erinevus lehekülje "Postfix + courier + mysql" redaktsioonide vahel

Allikas: Kuutõrvaja
1. rida: 1. rida:
 +
===sissejuhatus===
 +
 +
Mailisüsteem kipub sageli üle pea kasvama. Haldus käsureal muutub tülikaks /või tekib
 +
soov kasutada paraleelselt mitut mailiserverit. Aitab näiteks lihtsalt
 +
paigutada kasutajad mysql'i ning kasutada veebi administreerimisliidest.
 +
 
===install===
 
===install===
  

Redaktsioon: 25. märts 2007, kell 16:23

sissejuhatus

Mailisüsteem kipub sageli üle pea kasvama. Haldus käsureal muutub tülikaks /või tekib soov kasutada paraleelselt mitut mailiserverit. Aitab näiteks lihtsalt paigutada kasutajad mysql'i ning kasutada veebi administreerimisliidest.

install

paigaldame postfix tarkvara koos mysql toega selleks freebsd's

cd /usr/ports/mail/postfix && make install clean

ning vaatame ,et mysql toega.

gentoos võime kirjutada make.conf'i use reale mysql ning siis

emerge postfix

seejärel paigaldame courieri ning mysql'i

cd /usr/portsw/mail/courier-imap && make install clean

mysql install ja seadistus on kirjas [mysql install]

postfix

main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
html_directory = /usr/share/doc/postfix-2.2.10/html
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no
home_mailbox = .maildir/
soft_bounce = yes
myhostname = mail.example.ee
mydomain = mail.example.ee

unknown_local_recipient_reject_code = 550
mynetworks_style = host

mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP, NO SPAM PLEASE :D
debug_peer_level = 2

config_directory = /usr/local/etc/postfix 

virtual_alias_maps = mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:9009

virtual_mailbox_base = /home/mail
virtual_mailbox_domains = mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:$config_directory/mysql_virtual_mailbox_maps.cf

virtual_uid_maps = static:9009

virtual_minimum_uid = 9009

virtual_uid_maps = static:9009
virtual_create_maildirsize = yes

virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:$config_directory/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, users quota limit has been exceeded.
virtual_overquota_bounce = yes

relay_domains = mysql:$config_directory/mysql_relay_domains_maps.cf

setgid_group = maildrop


mysql_virtual_alias_maps.cf

user = mail
password = parool
hosts = localhost
dbname = mail
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'


mysql_relay_domains_maps.cf

user = mail
password = parool
hosts = localhost
dbname = mail
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '1' AND active = '1'

mysql_virtual_mailbox_limit_maps.cf

user = mail
password = parool
hosts = localhost
dbname = mail
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'

mysql_relay_domains_maps.cf

user = mail
password = parool
hosts = localhost
dbname = mail
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '1' AND active = '1'

mysql basi seadistus

tekitame baasi mail ja tekiame sinna struktuuri võime kasutada järgnevalt äratoodud dump'i

-- phpMyAdmin SQL Dump
-- version 2.9.1
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Mar 25, 2007 at 04:17 PM
-- Server version: 5.0.37
-- PHP Version: 5.2.1
-- 
-- Database: `mail`
--  

-- --------------------------------------------------------

-- 
-- Table structure for table `admin`
-- 
CREATE TABLE `admin` (
  `username` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `password` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`username`),
  KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual  Admins';

-- --------------------------------------------------------

-- 
-- Table structure for table `alias`
-- 

CREATE TABLE `alias` (
  `address` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `goto` text collate utf8_estonian_ci NOT NULL,
  `domain` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`address`),
  KEY `address` (`address`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual   Aliases';

-- --------------------------------------------------------

-- 
-- Table structure for table `domain`
-- 

CREATE TABLE `domain` (
  `domain` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `description` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `aliases` int(10) NOT NULL default '0',
  `mailboxes` int(10) NOT NULL default '0',
  `maxquota` int(10) NOT NULL default '0',
  `transport` varchar(255) collate utf8_estonian_ci default NULL,
  `backupmx` tinyint(1) NOT NULL default '0',
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`domain`),
  KEY `domain` (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual  Domains';

-- --------------------------------------------------------

-- 
-- Table structure for table `domain_admins`
--

CREATE TABLE `domain_admins` (
 `username` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `domain` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Domain  Admins';

-- --------------------------------------------------------

-- 
-- Table structure for table `log`
-- 

CREATE TABLE `log` (
  `timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
  `username` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `domain` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `action` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `data` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Log';

-- --------------------------------------------------------

-- 
-- Table structure for table `mailbox`
-- 

CREATE TABLE `mailbox` (
  `username` varchar(255) NOT NULL default ,
  `password` varchar(255) NOT NULL default ,
  `name` varchar(255) NOT NULL default ,
  `maildir` varchar(255) NOT NULL default ,
  `quota` int(10) NOT NULL default '0',
  `domain` varchar(255) NOT NULL default ,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `uid` int(10) unsigned default '9009',
  `gid` int(10) unsigned default '9009',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`username`),
  KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=binary COMMENT='Postfix Admin - Virtual Mailboxes';

-- --------------------------------------------------------

-- 
-- Table structure for table `vacation`
-- 

CREATE TABLE `vacation` (
  `email` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `subject` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `body` text collate utf8_estonian_ci NOT NULL,
  `cache` text collate utf8_estonian_ci NOT NULL,
  `domain` varchar(255) collate utf8_estonian_ci NOT NULL default ,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`email`),
  KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual  Vacation';

juhin tähelepanu sellele ,et read

mailbox tabelis

 `uid` int(10) unsigned default '9009',
 `gid` int(10) unsigned default '9009',

pole näites lisatud ja see on omatehtud häkk kuna courieri uuem versuioon ootab vaikimisi uid/gid parameetreid samuti kuid postfixadmini käesolev versioon ei oska neid baasi kirjutada nii siis täidame selle automaatselt alati.

postfixadmin

Hangime selle http://sourceforge.net/projects/postfixadmin/

paigaldame apache ja php ning pakime postfixadmini lahti seadistame kasutana baasi mail ning testime :]