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

Bookmark and Share

Sayfa : « 1 2 3 4 5 6 7 »

Ş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.

Sayfa : « 1 2 3 4 5 6 7 »

Bookmark and Share
Bu yazı Internet, Linux, Yeni Başlayanlar İçin kategorisine gönderilmiş ve , , , , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Postfix, Dovecot ve MySQL, mükemmel karışım. için 4 cevap

  1. Ayhan der ki:

    Merhaba Öncelikle elinize sağlık çok güzel bi çalışma fakat bütün işlemleri takip ettiğimde outlook da gerekli tanımlamaları yaptım pop3 ve smtp serverı buluyor fakat authentication yapamıyor ve ne mail alıp nede gönderiyor acaba bu konuda bana yardımcı olabilirmisiniz ve webmail konusundada bi yazınız olursa sevinirim.

    Kolay gelsin

  2. Acemi der ki:

    Merhaba, öncelikle paylaşımınız için teşekkürler, gerçekten çok detaylı anlatmışsınız.
    Ben ayarları yaparken mysql erişimimi kaybettim, bu sebepten dolayı mysql i kaldırıp yeniden kurmaya çalıştım ama bir türlü olmadı :( Linuxta yeniyim, konuyla ilgili yardımcı olabilirseniz çok sevinirim.

    ps ax | grep -i mysql dediğimde
    5095 pts/1 S+ 0:00 grep –color=auto -i mysql diyor

    giriş yapmaya çalışınca

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
    hatasını veriyor

    telnet localhost 3306 dediğimde
    Trying ::1…
    Trying 127.0.0.1…
    telnet: Unable to connect to remote host: Connection refused diyor

    /etc/mysql$ cd /etc/init.d/mysql start dediğimde de
    bash: cd: /etc/init.d/mysql: No such file or directory hatasını veriyor….

  3. Omer der ki:

    sadece bu bilgilerle bir arıza tespiti yapmak mümkün değil, ancak anladığım kadarı ile mysql paketini yok etmişsiniz. kullandığınız dağıtıma bağlı olarak yeniden kurarsanız tahmin ediyorum bir sıkıntı kalmayacaktır.

  4. Acemi der ki:

    Mysql sorunumu halletim ama bu sefer de main.cf ile ilgili sıkıntım var. main.cf ye gerekli eklemeleri yaptığımda 25. port kilitleniyor. ayarları geri kaldırınca düzeliyor. Şimdi onunla uğraşıyorum. Ama benim asıl anlamadığım ben nasıl dışarıya(diğer kullanıcılara ya da başka domainlere) mail yollayacağım, ya da dışarıdan mail alacağım. Bunun için ayrı bir program kullanmam ya da sayfa tasarımı falan mı yapmam lazım.Bu konuyla ilgili de açıklama yapabilir misiniz :)

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*


Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>