Etiket arşivi: kurumsal mail server

IBM Lotus Domino Server Kurulumu ve Ayarları

IBM Lotus Domino Server Nedir?

IBM Lotus Domino, bir iş uygulaması platformu üzerinde, temel bir e-posta ve kurumsal zamanlama altyapısı olarak dağıtılabilir iş yetenekleri sunmaktadır. Lotus Domino Server, şirket içerisindeki çalışanlarınızı ve dağınık toplulukları birbirine bağlamak ve güvenli bir veri paylaşımı için zengin bir mesajlaşma ve iş birliği platformu sunmaktadır.

Lotus Domino Server veya diğer Lotus Domino uygulamaları, şirket içerisindeki çalışanların verimliliğini artırma , iş süreçlerini düzene sokma ve güvenli bir iş birliği ortamı sağlamaktadır.

IBM Lotus Domino Server’in bizlere sunmuş olduğu faydalardan da kısaca bahsedecek olursak, bunlar;

  • ·         İşletim sistemi, istemci erişimi ve donanım platformları üzerinde esneklik sunmaktadır.
  • ·         Şirket içerisindeki önem araz eden bilgilerin korunmasına yardımcı olur ve gelişmiş güvenlik özellikleri sağlar.
  • ·         CPU, network, sunucular, depolama aygıtları gibi donanımsal kaynakların kullanımını optimize ederek, mesajlaşma ve işbirliği alt yapısı içini, maliyeti minimize etmeye yardımcı olmaktadır.
  • ·         Gelişmiş kümeleme, işlem günlüğü, felaketten kurtarma ve otomatikleştirilmiş tanılama araçları ile sunucuların kullanılabilirlik seviyesini en üst düzeye çıkarmaktadır.
  • ·         Sunucular üzerindeki geliştirilmiş olan uygulamaların dağıtımını, yönetimini yükselterek, az sayıda personel çalıştırılmasını sağlar.
  • ·         Verilerin korunması açısından zengin bir güvenlik mimarisine sahipir.

IBM Lotus Domino Server 8.5 Sistem Gereksinimleri (32-Bit Sistemlerde)

IBM Lotus Domino Server 8.5 kurulumunu gerçekleştirmek için sistemimizin aşağıdaki gereksinimleri karşılaması gerekmektedir.

32 Bit İşletim Sistemi Gereksinimleri

  • ·         Windows Server 2003 Standart Edition (32-bit)
  • ·         Windows Server 2003 R2 Standart Edition (32-bit)
  • ·         Windows Server 2003 R2 Enterprise Edition (32-bit)
  • ·         Windows Server 2008 Standart Edition (32-bit)
  • ·         Windows Server 2008 R2 Enterprise Edition (32-bit)

Donanım Gereksinimleri

İşlemciİntel Pentium veya Daha Yüksek İşlemciler (32-bit/64-bit)
RAMMinimum 512 MB RAM*CPU Başına 512 MB veya Daha Fazla RAM
HarddiskBölüm Başına 1.5 GB (Minimum)
MonitörRenkli Monitör

 

IBM Lotus Domino Server 8.5 Sistem Gereksinimleri (64-Bit Sistemlerde)

İşletim Sistemi Gereksinimleri

  • Windows 2003 Server Standard Edition 64-bit (SP2 veya sonrası)
  • Microsoft Windows 2003 R2 Server Standard Edition 64-bit
  • Microsoft Windows 2003 Server Enterprise Edition 64-bit (SP2 veya sonrası )
  • Microsoft Windows 2003 R2 Server Enterprise Edition 64-bit
  • Windows 2008 Server Standard Edition 64-bit (SP2 veya sonrası gereklidir)
  • Microsoft Windows 2008 R2 Server Standard Edition 64-bit
  • Microsoft Windows 2008 Server Enterprise Edition 64-bit (SP2 veya sonrası gereklidir)
  • Microsoft Windows 2008 R2 Server Enterprise Edition 64-bit

Donanım Gereksinimleri

İşlemciIntel EMT64 veya daha üzeri işlemci
RAMMinimum 512 MB RAM*CPU Başına 512 MB veya Daha Fazla RAM
HarddiskBölüm Başına 1.5 GB (Minimum)
Protokoller TCP/IP (IPV6)

 

Evet, IBM Lotus Domino Server 8.5 hakkında kısaca bilgi verdikten sonra, kurulum aşamalarına geçiş yapabiliriz. Kuruluma başlamak için IBM Lotus Domino Server kurulum cd miz’i CD sürücümüze takıyoruz ve ardından Setup.exe kurulum dosyamızı çalıştırıyoruz. Setup dosyasının çalıştırılmasının ardından karşımıza aşağıdaki gibi bir ekran çıkacaktır.

Welcome to the InstallShield Wizard for Lotus Domino ekranını next adımı ile geçiyoruz.

Software License Agreement ekranında ise, Lisans Sözleşmesini kabul ediyoruz ve next diyerek diğer bir kurulum adımına geçiş yapıyoruz.

Bu kurulum ekranında ise, Lotus Domino Server ‘in kurulacağı partition’u seçiyoruz. Browse tuşuna basarak, kurulum dosyalarının kopyalanacağı lokasyon bilgi değiştirilebilmekte. Domino Server kurulumunu yapmış olduğunuz sunucu üzerinde, ikinci bir Domino Server kurulumu yapmayı planlıyor iseniz Install Domino Partitioned Servers seçeneğini işaretlemeyi unutmuyoruz.

Bu ekran üzerinde ise, Lotus Domino Server’a ait data dosyalarının tutulacağı partition’u seçiyoruz.

Choose the setup type that best suits your needs ekranında, Domino Server için kurulum tipini belirliyoruz. Şekil üzerinde de görmüş olduğunuz gibi, kurulum tipi olarak birden çok seçeneğimiz mevcut. Bu seçenekleri de kısaca açıklayacak olursak,

Domino Utility Server

Bu seçenek ile kuruluma devam edildiği taktirde, mevcut sunucu üzerine sadece uygulama hizmetlerini çalıştıran bir domino server hizmeti kurulur, fakat mesajlaşma hizmetleri konusunda destek içermemektedir.

Domino Messaging Server

Bu kurulum seçeneği ile beraber, mesajlaşma hizmetlerini içeren bir Domino Server kurulumu yapılır. Fakat, uygulana hizmetleri ve Domino Server kümeleme hizmetleri konusunda destek içermemektedir.

Domino Enterprise Server

Bu seçenek ile beraber, Domino Server kurulumunun yanında , mesajlaşma ve uygulama hizmetleri de beraberinde yüklenir.

Customize Domino Server

Standart bir Domino Server bileşenlerinin yanında, diğer bileşenlerinde sisteminiz üzerine Install edilmesini istiyorsanız, bu seçenek ile kuruluma devam etmeniz gerekir. Ben, seçenekler arasından Domino Enterprise Server seçeneğini seçerek kuruluma kaldığım yerden devam ediyorum.

Bu kurulum ekranında ise, Domino Server ‘in kurulum dosyalarının depolanacağı partition ve features (özellik) ler ile ilgili özet bilgiler sunulmakta. Bu adımı da next diyerek geçiyoruz.

Ve Domino Server kurulumu başlıyor.

Successfully Installed Domino mesajı ile Domino Server kurulumunun başarılı bir şekilde tamamlandığını görüyoruz. Finish diyerek bu kurulum penceresini de kapatıyoruz. Domino Server kurulumunu başarılı bir şekilde tamamladık, fakat konfigürasyon yapılandırmasını henüz tamamlamadık. Yapılandırmaya başlamak için, masaüstünde bulunan Lotus Domino Server kısayoluna çift tıklıyoruz.

Welcome to Domino Server Setup ekranını da next ile geçiyoruz.

First or additional server ekranında, şekilde de görüldüğü üzere iki tip seçenek mevcut. Bu seçeneklerin de ne manaya geldiğini açıklayacak olursak,

Setup the first server or a standalone server

Eğer, sunucunuz üzerinde yeni bir Domino Server ve yeni bir Domino domain’i kurmak istiyorsanız, yani sıfırdan bir domino kurulumu gerçekleştirmek istiyorsanız bu seçeneği seçmeniz gerekir.

Set up an additional server

Bu seçenek ile ise, eğer mevcut yapınızda önceden yapılandırmış olduğunuz bir Domino Server var ise, ve yapınıza ikinci bir domino server dahil etmeyi planlıyorsanız bu seçenek ile kuruluma devam etmeniz gerekecektir. Benim kurulumu gerçekleştireceğim ortamda, önceden yapılandırılmış herhangi bir domino server bulunamadığı için, Setup the first server or a standalone server seçeneği ile kuruluma devam ediyorum.

Provide a server name and title, ekranında ise, kurulumu gerçekleştireceğimiz Domino Server için Server ismi ve sunucu başlığı gibi bilgileri tanımlayabileceğimiz kısımlar mevcut. Alt kısımda görmüş olduğunuz I want to use an existing server ID file seçeneği ile de, eğer önceden oluşturulmuş bir Server ID dosyası var ise, bu dosyayı kullanarak da, yeni bir ID oluşturmadan kuruluma devam edebiliriz. Ben, herhangi bir Server ID dosyasına sahip olmadığım için bu seçeneği boş bırakarak kuruluma devam ediyorum.

Choose your organization name ekranında ise, organizasyon name ve şifre tanımlama işlemlerini gerçekleştiriyoruz. Oluşturulacak olan şifrenin ise, maksimum beş karakter olması gerekmekte. Customize tuşu ile de, eğer organizasyon bilgileriniz de herhangi bir değişiklik yapmak istiyorsanız bu tuş yardımı ile ilgili değişiklikleri yapabilirsiniz.

Bu ekran üzerinde ise Domain Name ismini belirliyoruz. Ben domain ismini SRV08 olarak tanımlıyorum ve next diyorum.

Specify an Administrator name and password ekranında, Administrator kullanıcısı için bir ID ve password tanımlıyoruz. Also save a local copy the ID file seçeneği ile istersek , oluşturmuş olduğumuz kullanıcıya ait kimlik bilgilerini kaydedebilir, I want to use an existing Administrator ID seçeneği ile de, önceden oluşturulmuş olan Administrator ID dosyasını seçerek kullanabiliriz.

Bu pencere üzerinde ise, Domino Server kurulumu ile beraber kurulmasını istediğimiz internet servis seçenekleri mevcut. Bunlar;

  • ·         Web Browsers (HTTP Services)
  • ·         Internet Mail Clients (SMTP, POP3, and IMAP Services)
  • ·         Directory Services (LDAP Services)

Web Browsers

Bu servis seçeneği, uzak merkezde bulunan bir client bilgisayar üzerinden, Domino Server sunucusuna http services kullanılarak erişim gerçekleştirmenizi sağlar.

İnternet Mail Clients

SMTP ve POP3 gibi, internet servisleri üzerinden Domino Server sunucusuna erişim gerçekleştirmenizi sağlar.

Directory Services (LDAP Servives)

Uzak merkezde bulunan client bilgisayarların LDAP (Lightweight Directory Access Protocol) servisini kullanarak, Domino Server sunucusuna erişim gerçekleştirmesini sağlar. Eğer, bu internet servisleri dışında kullanmak istediğiniz başka bir internet servisi varsa, Customize tuşuna basarak servis listesi içerisinden ilgili servisleri seçebilirsiniz.

Domino network settings penceresinde ise, host name ismi ve sistemimiz üzerinde aktif durumda olan TCP/IP portu yer almakta.

Customize tuşuna basarak, kullanmış olduğunuz network bağlantısını Encrypt (şifeleme) yapabilir, isterseniz compress işlemine tabi tutabilirsiniz.

Secure your Domino Server ekranında ise, güvenliği artırmak ve sunucu üzerindeki veritabanlarına dışarıdan erişimi engellemek amaçlı kullanabileceğimiz iki seçenek mevcut.

Prohibit Anonymous Access to all databases and templates seçeneği ile, tüm veritabanlarına ve şablonlara dışarıdan erişim yasaklanır. Add LcalDomainAdmins group to all databases and templates seçeneği ile de, tüm veritabanlarını ve şablonları LocalDomainAdmins grubuna ekler.

Bu kurulum penceresinde ise, bu aşamaya kadar gerçekleştirmiş olduğumuz işlemlerin bir özeti bize sunulmakta. Setup diyerek kurulumu başlatıyoruz.

Ve kurulumumuz başarılı bir şekilde tamamlandı. Finish diyerek bu pencereyi de kapatıyoruz.

Ve Domino Server yönetim konsolumuz karşımızda.

 

Kaynak:

Çözümpark

 

Linux Mail Server Kurulumu ve Ayarları

Bugün sizlerle Linux üzerine bir Mail Server kurulumu yapacağız. Hatta biraz abartıp Spam Engelleyici, Anti Virüs gibi eklentileri de üzerine ekleyeceğiz.

Her zaman söylediğimiz gibi “Herşeyin başı Linux” bu yüzden önce bir Linux işletim sistemi kuracağız. Linux işletim sistemleri farklılıklar gösterir ama iki temel başlık altında toplayabiliriz bunlar;

  • Debian Tabanlılar
  • Redhat Tabanlılar

Biz debian tabanlı Ubuntu üzerinden gideceğiz lakin ubuntunun herhangi bir versiyonu değil. Bütün paketlerimizi biz yükleyeceğimize göre ekstraların sistemimizi yormasına gerek yok bu yüzden Ubuntu Sitesinden Ubuntu Mini adlı versiyonunu çekiyoruz.

Ubuntu Mini üzerinde sadece CLI Mode olan bir versiyon gerisi bize kalmış

Ubuntu Mini (Link)

Şimdi gelecekte mail serverımız olacak olan Ubuntumuzu kurmaya başlıyoruz.

Ubuntu Kurulumu ;

Aşağıda sırası ile eklediğim ekran görüntülerini takip ederek kurulumu sorunsuz olarak gerçekleştirebilirsiniz.

Biz Normal bir kurulum yerine daha az kaynak tükettiği için CLI mod olarak da bilinen sadece komut sistemini varlığı olan Ubuntu versiyonunu kuracağız.

Media dan boot ettikten sonra karşımıza yandaki ekran çıkacak bu ekrandan Command-Line Install seçeneğini seçerek devam ediyoruz.

Ekranda bulunan dil seçeneklerinden uygun dili seçerek devam ediyoruz.

Bir sonraki adım olan Location ekranından da konum bilgimizi seçiyoruz. Ben burada U.S. olarak seçiyorum.

Diğer adımımızda Klavye seçeneklerini karşımıza çıkacak. Bu ekranda Turkish Seçeneğini seçerek devam ediyoruz.

Bir sonraki adım önemli bir adım. Burada sunucumuza isim vereceğiz burada bir mail server kuracağımız için verdiğiniz isim makineadı.domain.suffix olarak girilmeli örneğin; mailserver.testdomain.local gibi

Diğer adımda disk yapılanmasını yapıyoruz. Bu işlemi formatlama olarak kabul edin. Diskimizi Linux ortamına uygun hale getiriyoruz. Eğer diskimizin tamamını kullanacaksak ki ben öyle yapacağım.

Guide – Use Entire Disk seçeneğini seçeceğiz.

Disk formatlama süreci başlatılıyor.

Hiç bir Linux size direk olarak root (en yetkili kullanıcı) ile bağlantı izni vermez bu yüzden kısıtlı bir kullanıcı oluşturmanız gerekli. Bu kullanıcının bilgilerini giriyoruz. Ben kullanıcıya “user” şifresine de “password” veriyorum. Sizde istediğiniz gibi yapılandırabilirsiniz.

Oluşturduğunuz kullanıcı için /home directory altında bir klasör oluşturuldu isterseniz bu klasörü Encrypt hale getirebilirsiniz. Ben hayır diyerek geçiyorum.

GRUB install sorusuna da yes dediğimizde sistemimiz kurulmuş olacaktır.

Evet birkaç basit adım sonunda Mail Sunucumuz olacak sistemimizin temelini oluşturan Ubuntu’yu kurmuş bulunmaktayız.

Şimdi diğer adımlara geçebiliriz.

Sunucumuza oluşturduğumuz kullanıcı ile login oluyoruz.

user /password giriş sağladıktan sonra root ile login olabilmemiz için yetkilendirmemiz gerekli bu işlem için komutumuz:

# sudo passwd root

Şimdi Ctrl+D kombinasyonu ile logout olup yeniden login olmak için root ve password kullanabiliriz.

Sistemimize root ile login olduğumuzda komutların başına sudo koymamıza gerek kalmayacaktır.

Sunucuya login olduğumuza gore ilk yapmamız gereken şey SSH kurmak olacak, SSH ile herhangi bir Pc’den sunucumuza erişim sağlayabiliriz.

Bu işlem için komutumuz;

# apt-get install ssh

SSH kurulumu gerçekleştikten sonra dosya erişimi için WinSCP, CLI erişimi içinde Putty kullanılabilir.

Daha önce kurulum aşamasında da aktardığım gibi isim kısmı önemli;

# hostname –f

Komut ile sunucumuzun adını göreceğiz burada gördüğümüz değer sunucuadı.domain.suffix olacak şekilde olmalı ki adımları doğru yaptıysak böyle görünecektir.

İlgili paketleri kuruyoruz.

# apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server dovecot-common dovecot-imapd dovecot-pop3d postfix libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet mailutils

Kurulum ekranları sırasında sizden Mysql için şifre istenecek buraya root kullanıcısına ne şifre verdiyseniz onu verin.

Server adını direk geçip site bilgisinden Internet Site seçeneğini seçip devam edebilirsiniz.

Adımlarımızı tamamladıktan sonra paketlerimizin tamamını kurmuş bulunmaktayız. Şimdi konfigürasyona geçebiliriz.

Konfigürasyonları birkaç başlık altında yapacağım.

Bunlar;

  • Mysql Konfigürasyonu
  • Postfix Konfigürasyonu
  • SSL Konfigürasyonu
  • Saslauthd Konfigürasyonu
  • Dovecot Konfigürasyonu
  • Antispam / Antivirüs ve Web mail konfigürasyonu

Mysql Konfigürasyonu ;

CLI ile komut sistemine bağlandıktan sonra;

# mysql –u root –p

Şifrenizi girdikten sonra Mysql’e bağlanmış bulunuyorsunuz.

Mail sunucumuz kullanıcılar, ayarlar gibi bilgileri bir databasede tutacak şimdi bu database oluşturuyoruz. Ve daha sonrada burada bilgilerin yazılacağı tabloları oluşturacağız. Komutları ayrı ayrı yürütün.

# create database maildb;

use maildb;

CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );

CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );

CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );

CREATE TABLE transport ( domain varchar(128) NOT NULL default ”, transport varchar(128) NOT NULL default ”, UNIQUE KEY domain (domain) );

quit;

Domain tablosunu domain bilgileri için örneğin ac.com, bc.com gibi farklı domainleride barındırabiliriz neticede J, forwarding tablosunu bir maile gelen mailleri farklı bir maile yönlendirme yapabilmek için, users ve transport bilgilerini biliyorsunuz zaten. J

# nano /etc/mysql/my.cnf

Yukardaki komut ile ilgili dosyayı açıp ” bind-address = 127.0.0.1 ” bilginin doğruluğunu teyid edin.

*Bu bilgi mysql serverın uzakta bir makine olduğu varsayıldığında ipsi girilmek üzere tasarlanmış. Biz localde kullandığımız için 127.0.0.1 olması gerekli.

Şimdi servisi yeniden başlatalım.

# service mysql restart

Mysql Server konfigürasyonu şimdilik bu kadar birkaç dakika sonra farklı işlemler için geri döneceğiz ama şimdi, diğer konfigürasyonumuz olan Postfix Konfigürasyonuna geçebiliriz.

Postfix Konfigürasyonu ;

Postfix sunucumuzun Mysql ile tam uyumlu bir halde çalışabilmesi için birkaç dosya oluşturmamız gerekiyor.

# nano /etc/postfix/mysql-virtual_domains.cf

Komutu çalıştırıp aşağıdaki içeriği içine kopyalayın. Password kısmına kendi password’ünüzü yazın. Ben şifre=password olarak vermiştim.

user = root

password = password

dbname = maildb

query = SELECT domain AS virtual FROM domains WHERE domain=’%s’

hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_forwardings.cf

Komutu çalıştırıp aşağıdaki içeriği içine kopyalayın. Password kısmına kendi passwordünüzü yazın. Ben şifre=password olarak vermiştim.

user = root

password = password

dbname = maildb

query = SELECT destination FROM forwardings WHERE source=’%s’

hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_mailboxes.cf

Komutu çalıştırıp aşağıdaki içeriği içine kopyalayın. Password kısmına kendi passwordünüzü yazın. Ben şifre=password olarak vermiştim.

user = root

password = password

dbname = maildb

query = SELECT CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’) FROM users WHERE email=’%s’

hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_email2email.cf

Komutu çalıştırıp aşağıdaki içeriği içine kopyalayın. Password kısmına kendi passwordünüzü yazın. Ben şifre=password olarak vermiştim.

user = root

password = password

dbname = maildb

query = SELECT email FROM users WHERE email=’%s’

hosts = 127.0.0.1

İlgili klasörlere yetkilendirme yapıyoruz.

# chmod o= /etc/postfix/mysql-virtual_*.cf

# chgrp postfix /etc/postfix/mysql-virtual_*.cf

Linux sistemlerde mail kullanıcıları bir user gibi oluşturulur bu yüzden profil bilgilerinin oluşacağı yerleri oluşturuyoruz.

# groupadd -g 5000 vmail

# useradd -g vmail -u 5000 vmail -d /home/vmail -m

Bazı konfigürasyonları tek tek gibi dosyalarında yapmak bana her zaman çok sıkıcı gelmiştir. J

Bu yüzden aşağıdaki komutları sırası ile çalıştırırsanız en angarya işten sıyrılmış ve konfigürasyonlarımızı büyük ölçüde bitirmiş olacağız.

İsterseniz tek tek çalıştırın isterseniz bir dosya üzerinden toplu çalıştırın siz bilirsiniz.

postconf -e ‘myhostname = testserver.testdomain.com’

postconf -e ‘mydestination = testserver.testdomain.com, localhost, localhost.localdomain’

postconf -e ‘mynetworks = 127.0.0.0/8′

postconf -e ‘message_size_limit = 30720000′

postconf -e ‘virtual_alias_domains =’

postconf -e ‘virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf’

postconf -e ‘virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf’

postconf -e ‘virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf’

postconf -e ‘virtual_mailbox_base = /home/vmail’

postconf -e ‘virtual_uid_maps = static:5000′

postconf -e ‘virtual_gid_maps = static:5000′

postconf -e ‘smtpd_sasl_auth_enable = yes’

postconf -e ‘broken_sasl_auth_clients = yes’

postconf -e ‘smtpd_sasl_authenticated_header = yes’

postconf -e ‘smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination’

postconf -e ‘smtpd_use_tls = yes’

postconf -e ‘smtpd_tls_cert_file = /etc/postfix/smtpd.cert’

postconf -e ‘smtpd_tls_key_file = /etc/postfix/smtpd.key’

postconf -e ‘virtual_create_maildirsize = yes’

postconf -e ‘virtual_maildir_extended = yes’

postconf -e ‘proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps’

postconf -e virtual_transport=dovecot

postconf -e dovecot_destination_recipient_limit=1

SSL Konfigürasyonu ;

SSL için OpenSSL kullanacağız, bu bölümde sertifika oluşturma işlemlerini sırasıyla anlatıyor olacağım.

Öncelikle Postfix dizinine giriyoruz;

# cd /etc/postfix

Sertifika oluşturmak için komutumuz;

# openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Otomatik olarak bazı sorular soracaktır. Daha önce sertifika oluşturmuş arkadaşların yabancılık çekmeyeceği ekranlar; J

Country Name (2 letter code) [AU]:TR

State or Province Name (full name) [Some-State]:ISTANBUL

Locality Name (eg, city) []:ISTANBUL

Organization Name (eg, company) [Internet Widgits Pty Ltd]:MShowto,

LLC Organizational Unit Name (eg, section) []:Linux Email Server

Name (eg, YOUR name) []:testserver.testdomain.com

Email Address []:test@testdomain.com

Ben kendime göre oluşturuyorum. Sizde kendi sunucunuza ve domain yapınıza göre oluşturabilirsiniz.

Yetkilendirme komutu;

# chmod o= /etc/postfix/smtpd.key

Saslauthd Konfigürasyonu;

Saslauthd konfigürasyonu için komutlarımız;

Kurulum yapıldıktan sonra olması gerekli gördüğümüz yere klasör oluşturmuyor bu yüzden biz klasörü elle oluşturacağız.

# mkdir -p /var/spool/postfix/var/run/saslauthd

Şimdi de hali hazırdaki konfigürasyon dosyasının yedeğini alalım.

# cp -a /etc/default/saslauthd /etc/default/saslauthd.bak

Şimdi Konfigürasyona geçebiliriz. Aşağıdaki komut ile konfigürasyon dosyasını açacağız.

# nano /etc/default/saslauthd

Bu komut ile açtığımız dosyanın içeriğini tamamen silip yerine aşağıda verdiğim içeriği yapıştırın.

START=yes

DESC=”SASL Authentication Daemon”

NAME=”saslauthd”

MECHANISMS=”pam”

MECH_OPTIONS=””

THREADS=5

OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”

Aşağıdaki komutlar ile dosyaları açıp içerikleri içerisine kopyalayın.

Komut;

# nano /etc/pam.d/smtp

İçerik;

auth required pam_mysql.so user=root passwd=password host=127.0.0.1 db=maildb table=users usercolumn=email passwdcolumn=password crypt=1

account sufficient pam_mysql.so user=root passwd=password host=127.0.0.1 db=maildb table=users usercolumn=email passwdcolumn=password crypt=1

Komut;

# nano /etc/postfix/sasl/smtpd.conf

İçerik;

pwcheck_method: saslauthd

mech_list: plain login

allow_plaintext: true

auxprop_plugin: mysql

sql_hostnames: 127.0.0.1

sql_user: root

sql_passwd: password

sql_database: maildb

sql_select: select password from users where email = ‘%u’

Yetkilendirme ;

# chmod o= /etc/pam.d/smtp

# chmod o= /etc/postfix/sasl/smtpd.conf

Servisleri yeniden başlatarak konfigürasyonu tamamlayalım.

# adduser postfix sasl

# service postfix restart

# service saslauthd restart

Dovecot Konfigürasyonu ;

Aşağıdaki komut ile dovecote için konfigürasyon dosyasının en altına içerik bölümündeki satırları ekleyin.

# nano /etc/postfix/master.cf

İçerik;

dovecot unix – n n – – pipe

flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

Yine bir konfigürasyon dosyasının yedeğini alalım ne olur ne olmaz J

# cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak

Şimdi dovecot konfigürasyon dosyasını aşağıdaki komut ile açıp içeriği, içerik ile değiştirin.

protocols = imap imaps pop3 pop3s

log_timestamp = “%Y-%m-%d %H:%M:%S ”

mail_location = maildir:/home/vmail/%d/%n/Maildir

 

ssl_cert_file = /etc/ssl/certs/dovecot.pem

ssl_key_file = /etc/ssl/private/dovecot.pem

 

namespace private {

separator = .

prefix = INBOX.

inbox = yes

}

 

protocol lda {

log_path = /home/vmail/dovecot-deliver.log

auth_socket_path = /var/run/dovecot/auth-master

postmaster_address = postmaster@example.com

mail_plugins = sieve

global_script_path = /home/vmail/globalsieverc

}

 

protocol pop3 {

pop3_uidl_format = %08Xu%08Xv

}

 

auth default {

user = root

 

passdb sql {

args = /etc/dovecot/dovecot-sql.conf

}

 

userdb static {

args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes

}

 

socket listen {

master {

path = /var/run/dovecot/auth-master

mode = 0600

user = vmail

}

 

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

}

}

}

Çalışma konfigürasyonunu bitirdik. Şimdide SQL konfigürasyonunu yapalım.

# cp -a /etc/dovecot/dovecot-sql.conf /etc/dovecot/dovecot-sql.conf.bak

# nano /etc/dovecot/dovecot-sql.conf

Dosya içeriğini aşağıdaki içerik ile değiştirin.

driver = mysql

connect = host=127.0.0.1 dbname=maildb user=root password=password

default_pass_scheme = CRYPT

password_query = SELECT email as user, password FROM users WHERE email=’%u’;

Servisi yeniden başlatın lütfen J

# chgrp vmail /etc/dovecot/dovecot.conf

# chmod g+r /etc/dovecot/dovecot.conf

# service dovecot restart

Yavaş yavaş bu zor ve meşakatli kurulumumuzun yavaş yavaş sonuna geliyoruz. İnanın uğraştığınıza değecek.

Konfigürasyonlarımız bittiğinde yanlışımız var mı? Kontrol edelim

# tail –f /var/log/mail.log

Komutun çıktısı bu şekilde olmalı…

Jan 21 16:19:17 plato dovecot: Dovecot v1.2.9 starting up (core dumps disabled)

Jan 21 16:19:17 plato dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mail)

Bazı Küçük Testler;

# telnet localhost pop3

Trying 127.0.0.1…

Connected to localhost.localdomain.

Escape character is ‘^]’.

+OK Dovecot ready.

# telnet localhost 25

ehlo localhost

Trying 127.0.0.1…

Connected to localhost.localdomain.

Escape character is ‘^]’.

220 plato.example.com ESMTP Postfix (Ubuntu)

ehlo localhost

250-plato.example.com

250-PIPELINING

250-SIZE 30720000

250-VRFY

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

Neler Yaptık;

Mail Sunucumuzu su anda kurmuş bulunmaktayız.

Şimdi isteklerimiz doğrultusunda mail sunucumuzu işlevsel hale getireceğiz.

Yapacaklarımız;

  • Web mail kurulumu
  • Antivirüs kurulumu
  • Spam kontrolü

WebMail Kurulumu ;

Webmail kurulumu için kullanacağımız paket Roundcube olacaktır. Aslında farklı paketlerde var fakat ben bu paketi daha çok seviyorum kurulumu basit ve sade bir ara yüzü var.

Roundcube kurulumu gayet basittir.

Öncelikle;

http://roundcube.net/download adresinden güncel ve stabil olan versiyonunu indiriyoruz. Ve Linux sunucumuzda /tmp dizinine atıyoruz.

Bir WebMail çalıştıracağımız için Apache bileşenine ihtiyacımız olacak bunun için ve ilerleyen aşamalarda database daha rahat yönetebilmek için PhpMyadmin kuruyorum. Bu kurulumu yaparken ilgili Apache paketleri de yüklenecektir.

# apt-get install phpmyadmin

İndirdiğimiz paketi açmak için;

# tar -zxf roundcube.tar.gz

/var/www klasöre Web sunucusunun ana klasörü diyebiliriz. www.testdomain.com /… noktalı yerde ne olmasını istiyorsanız bir sonra ki komutu ona göre çalıştırın. Ben webmail olmasını istiyorum.

# mkdir /var/www/webmail

# mv roundcube /var/www/webmail

Roundcube için bir database oluşturalım;

# mysql –u root -p

CREATE DATABASE roundcubeWebmail;

quit;

  • Komutlarda vâr olan roubdcube bilgisi sizin dosya adınıza göre değişiklik gösterebilir.
  • Webmail klasörünün tamamına 777 hak vermeyi unutmayın.
  • Eğer Inbox,trash,spam gibi klasörlerin defaultta oluşmasını istiyorsanız; main.inc.php dosyasında “$rcmail_config[‘create_default_folders’] = FALSE;” false değerini true yapmanız yeterli

Komutlar sırasıyla uygulandığında roundcube kurulumu için http://localhost/webmail/installer linki üzerinden kurulumu basit bir şekilde yapabilirsiniz.

AntiVirus – AntiSpam Konfigürasyonu ;

Antivirus ve antispam olarak çok fazla çeşit ve kurulum yolu var biz bu yükleri en iyi taşıdığına inandığım Spamassassin ve ClamAV ikilisini kullanacağız.

Kurulum için komutumuz;

# apt-get install amavisd-new spamassassin clamav-daemon

İsteğe bağlı olarak kurabileceğiniz paketlerde mevcut kurarsanız ki şiddet ile öneriyorum, %95 başarı demek.

# apt-get install libnet-dns-perl libmail-spf-query-perl pyzor razor

Rar,Zip,7zip gibi içerikleri tarayabilmesi için uygun olan paketleri ekliyoruz.

# apt-get install arj bzip2 cabextract cpio file gzip lha nomarch pax rar unrar unzip unzoo zip zoo

Komutları sırasıyla girelim.

# sudo adduser clamav amavis

# sudo adduser amavis clamav

Aşağıdaki komutu çalıştırdıktan sonra açılan dosyada CRON değeri ilk kurulumda 0 gelir onu 1 olarak değiştiriyoruz.

# nano /etc/default/spamassassin

Servisi Başlatalım…

# sudo /etc/init.d/spamassassin start

Aşağıdaki komut ile açılan dosyanın içerdiği satırlardaki # işaretini kaldıracağız.

# nano /etc/amavis/conf.d/15-content_filter_mode

İçerik;

@bypass_virus_checks_maps

@bypass_spam_checks_maps

Ve yeniden başlatalım.

# sudo /etc/init.d/amavis restart

Postfix ile entegrasyon için hangi porttan işlem yapacağımızı bildirmemiz gerekli bunun için ;

# postconf -e “content_filter = smtp-amavis:[127.0.0.1]:10024″

Daha sonra alttaki içeriği master.cf dosyasının en altına ekliyoruz.

smtp-amavis unix – – – – 2 smtp

-o smtp_data_done_timeout=1200

-o smtp_send_xforward_command=yes

-o disable_dns_lookups=yes

-o max_use=20

127.0.0.1:10025 inet n – – – – smtpd

-o content_filter=

-o local_recipient_maps=

-o relay_recipient_maps=

-o smtpd_restriction_classes=

-o smtpd_delay_reject=no

-o smtpd_client_restrictions=permit_mynetworks,reject

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o smtpd_data_restrictions=reject_unauth_pipelining

-o smtpd_end_of_data_restrictions=

-o mynetworks=127.0.0.0/8

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

-o smtpd_client_connection_count_limit=0

-o smtpd_client_connection_rate_limit=0

-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

Evet. Kurulumumuz bitmiştir.

Hayırlı olsun simdi bir kullanıcı yaratalım. Şu anda kullanıcı oluşturma işlemini komut sisteminden yapacağız ama isterseniz Webmin gibi tool lar ile bu tarz işlemleri web ara yüzünden de yapabilirsiniz.

mysql -u root -p

use maildb;

INSERT INTO domains (domain) VALUES (‘testdomain.com’);

INSERT INTO users (email, password) VALUES (‘mustafa@testdomain.com’, ENCRYPT(‘password’));

INSERT INTO users (email, password) VALUES (‘demiroz@testdomain.com’, ENCRYPT(‘password’));

Quit

İki kullanıcı oluşturduk.

Bu kullanıcılara localhost/webmail adresinden login olup testler yapacağınız gibi, isterseniz /var/log/mail.log altından da incelemeler yapabilirsiniz.