Postfix, Dovecot ve MySQL, mükemmel karışım.

Şirkette kullandığımız MySQL destekli Postfix ve Dovecot kurulumunun nasıl yapıldığı konusunda sürekli mailler alıyorum, kısaca nasıl olduğunu anlatacağım. Bu kopyala yapıştır bir anlatımdır, ve linux altında dosyaları nasıl düzenlemeniz gerektiği, ya da MySQL ile nasıl bir veritabanı yaratıp, nasıl işletileceği konularına hakim olmanız gerekiyor. Yazının ilerleyen kısımlarında da açıkladım, ama kurulumdan önce bilmeniz gereken en önemli şey bu sunucu kurulumunda /home klasörü ayrı bir bölümdedir, böylece sistemdeki arızalardan en az etkilenir.

Kurulumla ilgili tüm dosyaları http://www.serbestcagrisim.com/dosyalar/PDM/ adresinde bulabilirsiniz.

Öncelikle Ubuntu server kullanıyorum ve tüm ayarların Ubuntu’ya göre olduğunu bilmekte fayda var, herhangi bir dosyanın yerini bulamıyorsanız, şunu deneyin;

locate dosya_adi

Kopyala yapıştır bir kurulum için aşağıdaki komutları kopyalayıp yapıştırabilirsiniz.

apt-get install postfix postfix-mysql postgrey \
dovecot-common dovecot-pop3d dovecot-imapd \
libsasl2-modules multitail mysql-server

libsasl2-modules’u kurmamızın nedeni diğer sunucularla konuşabilmek, yoksa Cyrus’u kullanarak herhangi bir authentication yapacağımızdan değil. Ayrıca yazının en sonunda burada yarattığımız tüm dosyaları ve SQL dosyasını bulabilirsiniz. Yani tek tek dosya yaratmakla uğraşmak yerine direkt indirip, sunucunuza uygulayabilirsiniz.

1. MySQL Hazırlığı

Şimdi gelelim kurulum kısmına, SQL olarak şu kurulumu kullanıyorum, MySQL sunucunuz üzerinde herhangi bir veritabanı yaratıp, phpMySQLAdmin (PMA) ile aşağıdaki kodları kolayca uygulayabilirsiniz;

CREATE TABLE IF NOT EXISTS `Access` (
 `Id` int(5) NOT NULL auto_increment,
 `Domain` varchar(255) NOT NULL,
 `Adres` varchar(255) NOT NULL,
 `Durum` varchar(255) NOT NULL default '550 No soup for you, next!',
 `Status` tinyint(1) NOT NULL,
 PRIMARY KEY  (`Id`),
 UNIQUE KEY `Adres` (`Adres`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

CREATE TABLE IF NOT EXISTS `Alias` (
 `Id` int(5) NOT NULL auto_increment,
 `Domain` varchar(255) NOT NULL,
 `Original` varchar(255) NOT NULL,
 `Destination` text NOT NULL,
 `Status` tinyint(1) NOT NULL,
 PRIMARY KEY  (`Id`),
 UNIQUE KEY `Original` (`Original`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

CREATE TABLE IF NOT EXISTS `BCC` (
 `Id` int(5) NOT NULL auto_increment,
 `Domain` varchar(255) NOT NULL,
 `Original` varchar(255) NOT NULL,
 `Destination` text NOT NULL,
 `Status` tinyint(1) NOT NULL,
 PRIMARY KEY  (`Id`),
 UNIQUE KEY `Original` (`Original`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `Domains` (
 `Id` int(5) NOT NULL auto_increment,
 `Name` varchar(255) NOT NULL,
 `Password` varchar(32) NOT NULL,
 `Status` tinyint(1) NOT NULL,
 PRIMARY KEY  (`Id`),
 UNIQUE KEY `Name` (`Name`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

CREATE TABLE IF NOT EXISTS `Transports` (
 `Id` int(5) NOT NULL auto_increment,
 `Incoming` varchar(255) NOT NULL,
 `Outgoing` varchar(255) NOT NULL,
 `Status` tinyint(1) NOT NULL,
 PRIMARY KEY  (`Id`),
 UNIQUE KEY `Incoming` (`Incoming`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

CREATE TABLE IF NOT EXISTS `Users` (
`Id` int(5) NOT NULL auto_increment,
`Domain` varchar(255) NOT NULL,
`Username` varchar(255) NOT NULL,
`Password` varchar(32) NOT NULL,
`Quota` int(10) NOT NULL default '10485760',
`Status` tinyint(1) NOT NULL,
PRIMARY KEY  (`Id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

Neyin ne olduğunu postfix kurulum kısmında anlayacaksınız ancak kısaca değinmek gerekirse bu kurulumda gerçek bir sanal host uygulaması yapacağız, isterseniz tek bir domain, isterseniz birden fazla domain için bu kurulumu kullanabilirsiniz. Şimdi MySQL ayarlarını yapalım;

mysqladmin -u root -p create mailAdmin
mysql -u root -p mailAdmin < mailAdmin.txt

Kullanıcıyı root olarak bırakacağım, eğer ihtiyaç duyarsanız root’tan farklı bir kullanıcı tanımlayabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir