Citadel Kullanarak Raspberry Pi E-posta Sunucusu

Bu yazı, PiMyLifeUp - Raspberry Pi Email Server using Citadel kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu Raspberry Pi e-posta sunucusu eğitimi, hem düşük maliyetli hem de nispeten çok yönlü kendi e-posta sunucunuzu nasıl kuracağınız adımlarında size yol gösterecek.

Raspberry Pi e-posta Sunucusu

Pi'de kişisel bir sunucu kurmanın birçok nedeninden biri düşük maliyetidir. İlk maliyet düşüktür ve Raspberry Pi'nin düşük güç kullanımı nedeniyle devam eden giderler de nispeten düşüktür.

Özel bir alan adı kullanabilme ve kendi kişisel iletişimleriniz üzerinde tam kontrole sahip olma gibi bir Raspberry Pi e-posta sunucusu kurmanın başka birçok avantajı da var.

E-postalarınız kendi kişisel sunucunuzda saklandığından, size daha iyi reklamlar sunmaya çalışmak için onları tarayan kimse olmayacak. Tam bir kurulum için bunu bir Apache web sunucusu ile birlikte çalıştırabilirsiniz.

Kendi e-posta sunucunuzu kurmak için harika bir başka neden de, her şeyi doğru şekilde yapılandırma konusunda harika bir öğrenme deneyimi olmasıdır. Bunu kurmak zor olabilir çünkü yanlış gidebilecek oldukça fazla şey var ve yeni başlayan biriyseniz, sorun giderme biraz sinir bozucu olabilir.

Yazılımın kendisi kurulumu son derece kolaydır ancak ilk seferinde mükemmel çalışacak şekilde yapılandırmak zor olabilir, bu yüzden bu projeyi orta zorlukta olarak işaretledim.

E-posta göndermeyi planlıyorsanız, ISP'nizin 25 portunu engellemediğinden emin olmanız gerekecek. Bu engelleme oldukça yaygındır ancak genellikle talep edilirse kaldırılabilir.

Citadel E-posta Sunucusunu Kurma

Neredeyse her eğitimde olduğu gibi, Raspbian'ın varsayılan kurulumunu çalıştırıyorum. Kurmanız gerekiyorsa, Raspbian kurma rehberime göz atmayı unutmayın.

Raspberry Pi'de bir e-posta sunucusu kurmanın birkaç yolu vardır, en karmaşık yollarından biri Postfix ve Dovecot'u ayrı ayrı kurmak, ardından bir web önyüzü kurmaktır. Bu bileşenlerin her biri ayrı ayrı yapılandırılmak zorunda kalacak ve doğru şekilde kurmak oldukça zaman alıcı hale gelebilir.

Ancak, eğitimimizde, Citadel adlı bir yazılım paketini kullanacağız. Kurulumu kolay, güçlü ama çok yönlü bir mail sunucusudur. E-posta sunucusu kurma sürecini büyük ölçüde basitleştirir ve çalışır hale getirmek için kapsamlı bir yapılandırma gerektirmez. En iyisi, %100 açık kaynaklı bir yazılımdır.

1. İlk olarak, aşağıdaki iki komutu çalıştırarak işletim sistemimizdeki tüm paketleri güncelleyip yükseltelim.

sudo apt update
sudo apt upgrade

2. Ardından, Citadel yazılımını Raspberry Pi'mizde derlemek için ihtiyacımız olan paketleri kuralım.

Citadel'i yerel olarak derleyeceğiz çünkü Raspbian deposundan sağlanan derlemeyle çeşitli sorunlar olabilir.

sudo apt install build-essential curl g++ gettext shared-mime-info libssl-dev zlib1g-dev

3. Artık Citadel'in kurulum sürecini başlatma zamanı, bunu aşağıdaki komutla kolayca yapabiliriz.

curl https://easyinstall.citadel.org/install | sudo bash

Bu komut, Citadel geliştirme ekibi tarafından sağlanan bir script'i çalıştıracaktır.

Bu script, Citadel yazılımını Raspberry Pi'mizde çalıştırmak için ihtiyacımız olan her şeyi indirecek, kuracak ve yapılandıracaktır.

Bu script'i kendiniz görmek isterseniz, doğrudan Citadel Easy Install web sitesine gidebilirsiniz.

4. Şart ve koşulları kabul etmeniz istendiğinde, devam etmek için Y, ardından ENTER tuşuna basın.

5. Ardından, script'in Citadel'in ihtiyaç duyabileceği ek paketleri kurmasını isteyip istemediğiniz sorulacaktır.

Tekrar, devam etmek için Y, ardından ENTER tuşuna basın.

Kurulum süreci biraz zaman alacaktır, bu yüzden Raspberry Pi'niz çalışırken bir kahve almaya gitmek için iyi bir zaman.

6. Citadel kurulumu bittikten sonra, artık yazılımı yapılandırmanız gerekecek.

Citadel Admin için Kullanıcı Adı Belirle

Önce admin kullanıcınız için bir kullanıcı adı belirlemeniz istenecektir. Varsayılan olarak, bu kullanıcı admin olarak adlandırılacaktır.

Admin için farklı bir kullanıcı adı kullanmak isterseniz, bu aşamada girebilirsiniz. Aksi takdirde, devam etmek için ENTER tuşuna basabilirsiniz.

7. Şimdi admin kullanıcınız için bir parola girmeniz istenecektir.

Citadel Admin Kullanıcı Parolasını Belirle

Bunun için varsayılan parola citadeldir. Bunu daha güvenli bir şeyle değiştirmenizi şiddetle öneririz.

8. Ardından, Citadel yazılımının altında çalışacağı kullanıcıyı belirtmemiz gerekecek.

Varsayılan olarak, Citadel hiçbiri belirtilmediyse root kullanıcısı altında çalışmaya çalışacaktır.

Bu seçenek için, "citadel" yazdığınızdan emin olun. Bu seçenek değişikliğini onaylamak için ENTER tuşuna basın.

Citadel'in Altında Çalışacağı Kullanıcıyı Belirle

9. Bu adımda, Citadel sunucusunun dinleyeceği bir IP adresi girebilirsiniz.

Bu seçenek, Citadel'e yalnızca belirli bir IP adresi üzerinden erişilmesini istiyorsanız kullanışlıdır. Varsayılan olarak, Citadel tüm adresleri dinleyecektir.

Citadel Dinleme Adresini Ayarla

Bu seçenek için, varsayılan ayarları korumak için ENTER tuşuna basacağız.

10. Bir sonraki adım, Citadel'in altında çalışmasını istediğiniz portu belirtmektir.

Aynı sunucuda birden fazla Citadel örneği çalıştırmadığınız sürece bunu varsayılan 504 portundan değiştirmemelisiniz.

Citadel Port Numarasını Tanımla

11. Şimdi kimlik doğrulama yöntemini tanımlamanız istenecektir.

Diğer üç seçenek için özel bir ihtiyacınız olmadığı sürece, bunu varsayılan 0 seçeneğinde bırakmak en güvenlisidir.

Citadel Kimlik Doğrulama Yöntemini Belirle

Son adıma devam etmek için ENTER tuşuna basın.

12. Bu son adımlarda, Raspberry Pi'mizde Citadel web arayüzü için portları tanımlayacağız.

Apache gibi başka bir web sunucusu çalıştırmıyorsanız, HTTP'yi 80 portuna, HTTPS'i 443 portuna ayarlamak en iyisidir.

Alternatif olarak, bir web sunucusu çalıştırıyorsanız, HTTP portunu 8080, HTTPS portunu 8443 olarak ayarlamayı deneyin.

Citadel Web Arayüzü Portlarını Belirle

Ekstra Adımlar

Bazen yukarıdaki adımlar hatalar fırlatabilir ve e-posta sunucusunu doğru şekilde kurmak için ihtiyacımız olan admin hesabını oluşturmayabilir. Sizin durumunuz buysa, bazı ekstra adımlar atmanız gerekecek.

1. İlk olarak, "netconfigs" klasörünü oluşturmamız ve sahibini ve grubunu citadel olarak ayarlamamız gerekiyor.

sudo mkdir /etc/citadel/netconfigs
sudo chown citadel:citadel /etc/citadel/netconfigs

2. Ardından, önceki değişikliklerin doğru şekilde uygulanması için Citadel'i yeniden başlatmamız gerekiyor. Ayrıca ilk seferde doğru şekilde oluşturulmadıysa admin hesabını kurabilmemiz için kurulumu yeniden çalıştırmak istiyoruz.

sudo systemctl citadel restart
sudo /usr/lib/citadel-server/setup

3. Kurulumu çalıştırdığınızda, ilki admin'in adı olmak üzere bir dizi sorudan geçireceksiniz. Bunu admin hesabınız için istediğiniz kullanıcı adına ayarlayın.

4. Ardından, yönetici hesabı için bir parola belirlemenizi isteyecektir. Bunu, kolayca hacklenmeyeceğiniz güvenli bir şeye ayarlayın.

5. Artık soruların geri kalanını atlayabilirsiniz. Soruları atlamak ve hiçbir şeyi değiştirmemek için sadece enter'a basın.

Citadel E-posta Sunucusunu Ayarlama

1. Şimdi Citadel'in web arayüzünü yüklememiz gerekiyor, bunu yapmak için favori web tarayıcınızda Raspberry Pi'nizin IP adresine gidin. Benim durumumda, http://192.168.1.105/e giderdim.

Raspberry Pi'nizin IP adresi elinizde değilse, yerel IP adresinizi almak için Raspberry Pi'nin terminaline hostname -I yazabilirsiniz.

Kurulum süreci sırasında ayarladığınız admin kullanıcı adını ve admin parolasını kullanarak giriş yapın.

e-posta Sunucusu Giriş

2. Artık varsayılan dashboard'u görüyor olmalısınız ve başka bir sayfa açıp sağ üst köşede bulunan "Make this my start page"e tıklayarak ana sayfayı değiştirebilirsiniz.

Şimdilik, sadece kenar çubuğunda "Administration"a tıklayın.

Raspberry Pi Citadel Dashboard

3. Artık sistem yönetimi menüsündeyiz, burada çok çeşitli farklı seçenekler var ama peşinde olduğumuz şey "Edit site-wide configuration", bu yüzden ona tıklayın.

Citadel Admin Menüsü

4. Şimdi bu ekranda, her şeyin çalışması için bazı değişiklikler yapmamız gerekecek.

Burada "Fully Qualified Domain Name"i e-postamız için kullanmayı planladığımız özel alan adına değiştirmemiz gerekiyor.

Bizim durumumuzda, bunu "mail.pimylifeup.com" olarak ayarlayacağız.

Bittiğinde, "SMTP" sekmesine tıklayın.

Pi Citadel Genel yapılandırma

5. Şimdi bu ekranda burada belirtilen portları not edin, sunucunun SMTP üzerinden e-posta alabilmesi için bunları port yönlendirmemiz gerekecek.

Bittiğinde, "Save Changes" butonuna tıklayın, ardından kenar çubuğunda "Administration"a tıklayın.

e-posta Sunucusu SMTP ayarları

6. Şimdi tekrar "System Administration Menu"de, "Domain names and internet mail configuration"a tıklayın.

Bu seçenek, Citadel'e ek alan adları eklemek için kullanacağımız menüye götürecektir.

Citadel Admin Menüsü

7. Şimdi bu ekranda, "Local host aliases" altına kullanmak istediğiniz alan adını yazın ve ardından "Add" butonuna tıklayın.

Bittiğinde, kenar çubuğunda "Administration"a tıklayın.

Citadel Localhost takma adlarını ayarla

8. Şimdi tekrar bu ekrandayız ve "Shutdown Citadel" altındaki "Restart Now"a tıklamamız gerekiyor, bu tüm ayar değişikliklerimizin artık yükleneceğinden emin olur.

Citadel E-posta Sunucusunu Şimdi Yeniden Başlat

Raspberry Pi E-posta Sunucunuz için DNS Ayarlama

DNS'inizi ayarlamanın en kolay yolu, Cloudflare gibi bir hizmet kullanmaktır. Cloudflare, dinamik bir IP adresinin arkasında olan herkes için son derece kullanışlı olan, aynı zamanda dinamik bir DNS hizmeti olarak da kolayca ayarlanabilecek kararlı ve yedekli bir DNS hizmeti sunar.

Ek bir avantajı, DNS kayıtlarını değiştirmeyi de son derece kolay hale getirmesi ve güncellemelerin çoğu DNS hizmetinden çok daha hızlı yayılmasıdır.

1. Cloudflare'de alan adınıza gidin, ardından DNS sekmesine gidin.

2. Burada ağınızın herkese açık IP adresine işaret eden bir A adı kaydı eklemeniz gerekiyor. Bu kayıt, port yönlendirmesinden sonra webmail istemcinize erişmenizi sağlayacaktır. Ayrıca MX Kaydını ona işaret edebilmemiz için de gereklidir.

3. Şimdi önceki adımda A kaydı olarak ayarladığınız alan adına işaret eden bir MX kaydı ekleyin.

Cloudflare e-posta kurulumu

4. Bunların hepsi yapıldıktan sonra, artık daha önceki çeşitli portları port yönlendirmeniz gerekecek. Herhangi bir değişiklik yapmadıysanız, 80, 25, 587 ve 465 portlarını port yönlendirmeniz gerekecek.

Bu portlardan son 3'ü, daha önceki SMTP ayarları sayfasında belirtilen SMTP portlarınız olmalıdır.

Router'ınızda port yönlendirmenin nasıl yapılacağından emin değilseniz, bu web sitesinde bulabileceğiniz genel port yönlendirme rehberimizi takip etmeyi deneyebilirsiniz. Aksi takdirde router'ınızı port forward web sitesinde arayın.

Ayrıca, dinamik bir IP adresiniz varsa, dinamik bir DNS istemcisi kurmanız gerekecek, bunu kurma rehberimizi takip edebilirsiniz. Cloudflare üzerinden çalışacak şekilde kurma adımlarını takip ettiğinizden emin olun.

Raspberry Pi E-posta Sunucunuz için SpamAssassin Ayarlama

Şimdi SPAM'i eleyerek işleyen bir araç olan Spamassassin'i ayarlama sürecinden geçeceğiz. Herhangi bir özel e-posta sunucusuna kurulu olması gereken önemli bir araçtır. Raspberry Pi'ye biraz daha iş yükü ekleyecektir ancak bunu gayet iyi idare edebilmesi gerekir.

1. İlk olarak, aşağıdaki komutu çalıştırarak Spamassassin'i resmi paketlerden kuralım.

Spamassassin'in kurulum süreci, birçok şeyi derlemesi gerektiğinden biraz zaman alabilir.

sudo apt install spamassassin

2. Spamassassin kurulduktan sonra, artık yapılandırmasında bazı değişiklikler yapmamız gerekiyor, ilk yapılandırma dosyasını düzenlemek için aşağıdaki komutu çalıştırın.

sudo nano /etc/spamassassin/local.cf

3. Aşağıda belirtilen satırları, yazdıklarımızla eşleşecek şekilde güncelleyin, bu satırlardan herhangi birinin önünde bir # varsa, onu kaldırın. Her satırın ne yaptığını ve neden bunları etkinleştirmeniz gerektiğini açıklayacağız.

Bu satır, Spamassassin'in spam e-postaların konu başlığını, SPAM ve Spamassassin sisteminin ona atadığı spam puanını içerecek şekilde değiştirmesini sağlar.

rewrite_header Subject [***** SPAM _SCORE_ *****]

Bu satır, Spamassassin'e sadece bir e-postanın başlıklarını değiştirmesini ve gerçek gövdede herhangi bir değişiklik yapmamasını söyler.

report_safe 0

Gerekli puanı düşük ayarlamak, başlangıçta çok sayıda yanlış pozitif alacağınız anlamına gelir, ancak Spamassassin'e hangi e-postaların iyi hangi e-postaların kötü olduğunu öğretmenize yardımcı olacaktır.

required_score 2.0

Bir sonraki satır, Spamassassin'in bir Bayesian filtresi kullanmasını ayarlar. Bayesian, bir e-postanın Spam olup olmadığının olasılığını tahmin etmenin bir yoludur. Örnek boyutu arttıkça iyileşen, yaygın olarak kullanılan bir yöntemdir.

use_bayes 1

Aşağıdaki satır, Bayesian filtreleme için otomatik öğrenmeyi açar.

bayes_auto_learn 1

Bunların hepsi yapıldıktan sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak dosyayı kaydedip çıkın.

4. Şimdi Spamassassin'in kurulumunu bitirmek için düzenlememiz gereken bir son dosya daha var, aşağıdaki komutu çalıştırın.

sudo nano /etc/default/spamassassin

Bu satır, bir cron işinin Spamassassin kurallarını otomatik olarak güncellemesine izin verir.

CRON=1

CTRL + X, ardından Y tuşuna basarak kaydedip dosyadan çıkın.

5. Bir sonraki komut, spamassassin servisinin önyüklemede başlamasını etkinleştirecektir.

sudo systemctl enable spamassassin

6. Şimdi aşağıdaki komutla Spamassassin daemon'unu başlatabiliriz.

sudo systemctl start spamassassin

7. Şimdi Citadel'in web arayüzüne gitmemiz ve tekrar Administration ekranına dönmemiz gerekiyor.

Citadel Admin Dashboard

8. Buraya döndükten sonra, "Domain names and Internet mail configuration"a gitmemiz gerekiyor.

Citadel Admin Menüsü

9. Artık burada olduğumuza göre, "SpamAssassin Hosts" altına IP adresini, 127.0.0.1i yazmamız gerekiyor. Yazdıktan sonra, sadece "Add" butonuna basabiliriz.

Citadel Spamassassin Ekle

Citadel için ClamAV Ayarlama

Şimdi Raspberry Pi e-posta sunucusu kurulum rehberimizin son bölümüne geliyoruz, ClamAV yazılımını kurup ayarlayacağız. Bu yazılım, tüm gelen e-postalarınızı virüsler için tarayacak ve Raspberry Pi'nizin enfekte olmasını önlemeye yardımcı olacaktır.

1. ClamAV'ı kurmak son derece kolaydır çünkü zaten Debian paketlerine dahildir, sadece aşağıdaki komutu çalıştırarak kurabiliriz.

sudo apt install clamav

2. Şimdi ClamAV'ın virüs veritabanlarının en son sürümünü indirmesini istiyoruz, bunu aşağıdaki komutu çalıştırarak yapabiliriz.

sudo freshclam

Aşağıdaki hatayla karşılaşabilirsiniz, ancak bunu halledebiliriz:

ERROR: /var/log/clamav/freshclam.log is locked by another process

Bu hatayı halletmek için, clamav'ı durdurmamız gerekiyor, bunu aşağıdaki komutu çalıştırarak yapabiliriz. Ardından sudo freshclam'i tekrar çalıştırın.

sudo systemctl stop clamav-freshclam

3. Güncelleme tamamlandıktan sonra, aşağıdaki komutu çalıştırın.

sudo systemctl start clamav-freshclam

4. Şimdi önyüklemede başlamasını sağlamak için systemctl ile ClamAV'ı etkinleştirin.

sudo systemctl enable clamav-freshclam

5. Şimdi Citadel'in web arayüzüne gitmemiz ve tekrar Administration ekranına dönmemiz gerekiyor.

Raspberry Pi Citadel Dashboard

6. Buraya döndükten sonra, "Domain names and Internet mail configuration"a gitmemiz gerekiyor.

Citadel Admin Menüsü

7. Artık burada olduğumuza göre, "ClamAV clamd hosts" altına IP Adresini, 127.0.0.1'i yazmamız gerekiyor. Yazdıktan sonra, sadece "Add" butonuna basabiliriz.

Clamav Ekle

Umarız, bu noktada, başarıyla bağlanabileceğiniz tamamen işlevsel bir e-posta sunucunuz vardır.

Kullanıcı Hesabınızın E-posta Adresini Güncelleme

Kullanıcı hesabınızın e-posta adresini güncellemeniz gerekirse, bu seçilen kullanıcınıza giriş yaptığınızda gelişmiş menüde bulunabilir.

iletişim bilgilerini güncelle

1. Gelişmişe gidin ve bu ekranda "update your contact information"ı seçin.

2. "primary internet email address" altında e-posta adresinizi güncelleyin, ayrıca görünen adınız ve bu hesap için bağlı olmasını istediğiniz diğer e-posta adresleri (Internet email alias) gibi başka şeyleri de güncelleyebilirsiniz.

kişisel e-posta adresini güncelle

3. Bitirdiğinizde, save changes'i seçin.

Sorun Giderme

Bu eğitimi yaparken bazıları kolay bir düzeltme, diğerleri biraz daha zor olan oldukça fazla sorunla karşılaşabilirsiniz.

  • Bazı ISP'ler 25 portunu engelliyor olacak, bu da e-posta gönderdiğinizde başarısız olacakları anlamına gelir. Bunu aşmak için, ya portun engellemesini kaldırtmanız ya da citadel'i ISP'nin SMTP sunucusunu kullanacak şekilde ayarlamanız gerekecek. Giden e-postanın burada takıldığı hakkında daha fazla bilgi bulabilirsiniz.
  • E-posta almıyorsanız, bu muhtemelen DNS'inizin doğru yapılandırılmadığı anlamına gelir. DNS'inizin yönetildiği yere geri dönün ve bilgileri gözden geçirin.

Sonuç

Bu eğitimin size bir Raspberry Pi e-posta sunucusunu nasıl kuracağınızı gösterdiğini ve herhangi bir sorunla karşılaşmadığınızı umuyorum.

Üzerinde tam kontrole sahip olduğunuz ucuz bir e-posta sunucusu kurmak isteyen herkes için kesinlikle harika bir proje.

Herhangi bir geri bildiriminiz, ipucunuz varsa veya paylaşmak istediğiniz herhangi bir sorunla karşılaştıysanız, lütfen aşağıya yorum bırakmaktan çekinmeyin.