PEPS ile Ubuntu 14.04 Üzerinde Kendi E-posta ve Dosya Depolama Sunucunuzu Kurun
Günümüzde veri gizliliği, dijital bağımsızlık ve bilgi güvenliği, hem bireysel kullanıcılar hem de kurumlar için hayati önem taşımaktadır. Büyük teknoloji firmalarının sağladığı bulut e-posta ve dosya depolama hizmetleri kullanım kolaylığı sunsa da verilerinizin kontrolünü tamamen üçüncü taraf şirketlere teslim etmenize neden olur. Verilerinizin nerede tutulduğunu, kimler tarafından erişilebildiğini ve nasıl işlendiğini tam olarak kontrol etmek istiyorsanız kendi sunucunuzu barındırma (self-hosting) yoluna gitmeniz gerekir.
PEPS (Postal Email and Private Storage), e-posta sunucusu altyapısı ile bulut dosya depolama çözümünü tek bir entegre platformda birleştiren, açık kaynak kodlu ve konteyner tabanlı bir sistemdir. Ubuntu 14.04 LTS (Trusty Tahr) üzerinde çalışan PEPS; Postfix, Dovecot, nginx ve özel depolama katmanlarını Docker altyapısıyla harmanlayarak karmaşık e-posta ve bulut sunucu kurulumlarını oldukça pratik bir hale getirir. Bu makalede, Ubuntu 14.04 işletim sistemi üzerinde adım adım PEPS kurulumunu, DNS yapılandırmasını, güvenlik ayarlarını ve yönetim süreçlerini detaylı bir şekilde inceleyeceğiz.
PEPS Mimarisi ve Sunulan Özellikler
PEPS, geleneksel e-posta sunucularının karmaşık bileşen yapılarını modernize ederek tek bir çatı altında toplar. Platformun temel işlevleri ve teknik özellikleri şu şekildedir:
- E-posta Sunucusu Altyapısı: SMTP, IMAP ve POP3 protokollerini tam TLS/SSL desteğiyle sunar. Postfix e-posta aktarım ajanı (MTA) ve Dovecot e-posta teslimat/depolama ajanı (MDA) mimarisini temel alır.
- Entegre Bulut Depolama: E-posta eklerinin yanı sıra kullanıcıların kendi dosyalarını yükleyebileceği, paylaşabileceği ve senkronize edebileceği güvenli bir depolama alanı sağlar.
- Konteyner Tabanlı İzolasyon: Tüm servisler Docker veya LXC konteynerleri üzerinde izole bir biçimde çalışır. Bu yapı, bileşenlerin birbirini etkilemeden güncellenebilmesine ve sistem kararlılığına olanak tanır.
- Web Tabanlı Yönetim Arayüzü: Kullanıcı oluşturma, alan adı ekleme, kota belirleme ve dosya yönetimi için modern bir web arayüzü barındırır.
- Gelişmiş Güvenlik Katmanı: Dahili antispam (SpamAssassin/Rspamd), antivirüs (ClamAV) ve kaba kuvvet (brute-force) engelleme sistemleri ile donatılmıştır.
Sistem Gereksinimleri ve Ön Hazırlıklar
Kuruluma başlamadan önce sunucunuzun ve alan adınızın belirli teknik gereksinimleri karşıladığından emin olmalısınız. PEPS’in stabil bir şekilde çalışabilmesi için önerilen minimum sistem konfigürasyonu şu şekildedir:
- İşletim Sistemi: Ubuntu 14.04 LTS 64-bit (Temiz kurulum önerilir).
- İşlemci (CPU): En az 2 Çekirdekli x86_64 İşlemci.
- Bellek (RAM): Minimum 2 GB (ClamAV ve Spam filtreleri aktif edilecekse 4 GB önerilir).
- Depolama Alanı: Minimum 20 GB SSD/HDD (E-posta ve dosya verilerinize göre artırılmalıdır).
- Ağ: Statik Kamu (Public) IP Adresi ve değiştirilebilir PTR (rDNS) kaydı.
DNS (Domain Name System) Kayıtlarının Yapılandırılması
Bir e-posta sunucusunun sorunsuz çalışması ve gönderilen e-postaların spama düşmeden alıcılara ulaşabilmesi için DNS kayıtlarının eksiksiz ve doğru konfigüre edilmesi kritik bir adımdır. Alan adı sağlayıcınızın kontrol panelinden aşağıdaki DNS kayıtlarını tanımlamanız gerekmektedir:
1. A Kaydı (Host Kaydı):
Sunucunuzun alan adını statik IP adresinize yönlendirin.
mail.alanadiniz.com. IN A 192.0.2.100
2. MX Kaydı (Mail Exchanger):
Alan adınıza gelen e-postaların hangi sunucuya yönlendirileceğini belirtir.
alanadiniz.com. IN MX 10 mail.alanadiniz.com.
3. SPF Kaydı (Sender Policy Framework):
Sunucunuz adına e-posta göndermeye yetkili IP adreslerini tanımlar.
alanadiniz.com. IN TXT "v=spf1 mx a ip4:192.0.2.100 ~all"
4. DKIM Kaydı (DomainKeys Identified Mail):
E-postaların yolda değiştirilmediğini doğrulayan dijital imza kaydıdır. PEPS kurulumu tamamlandıktan sonra üretilen kamu anahtarı (public key) buraya eklenir.
default._domainkey.alanadiniz.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ..."
5. DMARC Kaydı:
E-posta doğrulama politikalarını belirler.
_dmarc.alanadiniz.com. IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@alanadiniz.com"
6. Ters DNS (PTR / rDNS) Kaydı:
Bu kaydı sunucu/hosting sağlayıcınızın paneli üzerinden yapmalısınız. IP adresinizin (192.0.2.100) “mail.alanadiniz.com” adresine çözümlenmesini sağlar.
Ubuntu 14.04 İşletim Sisteminin Hazırlanması
Kuruluma başlamadan önce sunucunuzdaki paket indekslerini güncellemek, mevcut paketleri terfi ettirmek ve gerekli temel bağımlılıkları yüklemek gerekir. Terminal üzerinden root yetkisiyle veya sudo kullanarak aşağıdaki komutları sırasıyla çalıştırın:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y curl wget git apt-transport-https ca-certificates software-properties-common
E-posta gönderiminde sistem ana makine adının (hostname) doğru ayarlanmış olması şarttır. Sunucu adınızı kontrol etmek ve değiştirmek için şu adımları izleyin:
sudo hostnamectl set-hostname mail.alanadiniz.com
/etc/hosts dosyasını düzenleyerek IP adresiniz ile sunucu adınızı eşleştirin:
sudo nano /etc/hosts
Dosya içeriğinde yer alan satırlara sunucunuzun IP adresini ve domain adresini ekleyin:
127.0.0.1 localhost
192.0.2.100 mail.alanadiniz.com mail
Docker Altyapısının Yüklenmesi
PEPS, mimarisi gereği izolasyon ve kolay dağıtım için Docker konteyner teknolojisini kullanır. Ubuntu 14.04 işletim sisteminde Docker çalıştırmak için AUFS depolama sürücüsü desteğine ve güncel bir Linux çekirdeğine ihtiyaç duyulur.
Docker’ın resmi Ubuntu repository’sini sisteme ekleyip kurulum gerçekleştirmek için şu komut dizisini uygulayın:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
sudo apt-get install -y docker-engine
Docker servisinin çalıştığını ve sistem başlangıcına eklendiğini doğrulayın:
sudo service docker start
sudo docker version
Ayrıca konteyner orchestrator işlemleri için Docker Compose aracını yükleyin:
sudo curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
PEPS Platformunun Yüklenmesi ve Yapılandırılması
Docker altyapısı hazırlandıktan sonra PEPS deposunu sunucunuza klonlayabilir veya resmi kurulum betiğini çekebilirsiniz.
cd /opt
sudo git clone https://github.com/peps-project/peps.git
cd peps
PEPS dizini içerisindeki ana yapılandırma şablonu incelenmeli ve ortam değişkenleri kendi sisteminize göre ayarlanmalıdır. config.env veya peps.conf adıyla oluşturulacak dosya üzerinde temel parametreleri belirleyin:
sudo cp config.env.sample config.env
sudo nano config.env
Bu yapılandırma dosyasında aşağıdaki kritik değişkenleri kendi bilgilerinize göre güncelleyin:
PEPS_HOSTNAME=mail.alanadiniz.com
PEPS_DOMAIN=alanadiniz.com
PEPS_ADMIN_EMAIL=admin@alanadiniz.com
PEPS_ADMIN_PASSWORD=GüçlüKarmaşıkŞifre123!
PEPS_STORAGE_PATH=/var/peps/data
PEPS_ENABLE_SSL=true
Yapılandırma tamamlandıktan sonra PEPS yükleme betiği çalıştırılarak gerekli Docker imajlarının çekilmesi (pull) ve konteynerlerin derlenmesi sağlanır:
sudo ./peps-installer.sh install
Bu süreçte PostgreSQL/MySQL veritabanı konteynerleri, Postfix SMTP servisi, Dovecot IMAP servisi, Nginx web proxy sunucusu ve PEPS Core yönetim servisleri sırasıyla indirilecek ve yapılandırılacaktır. İşlem sunucunuzun donanımına ve internet bağlantı hızına bağlı olarak 5-15 dakika sürebilir.
SSL/TLS Sertifikasyon İşlemleri (Let’s Encrypt Entegrasyonu)
E-posta trafiğinin ve web arayüzünün şifrelenmesi modern sunucu standartları açısından zorunludur. Kendinden imzalı (self-signed) sertifikalar istemcilerde (Outlook, Thunderbird, Mobil cihazlar) güvenlik uyarısı vereceğinden ücretsiz Let’s Encrypt SSL sertifikalarının entegre edilmesi tavsiye edilir.
Sertifika alımından önce 80 (HTTP) ve 443 (HTTPS) portlarının açık olduğundan emin olun. Certbot aracını Ubuntu 14.04 üzerine kurmak için:
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt-get update
sudo apt-get install -y certbot
Sertifikanızı üretmek için standalone modunu kullanın (geçici olarak varsayılan web sunucusunu durdurmanız gerekebilir):
sudo certbot certonly --standalone -d mail.alanadiniz.com --email admin@alanadiniz.com --agree-tos -n
Üretilen sertifika dosyaları /etc/letsencrypt/live/mail.alanadiniz.com/ dizininde yer alacaktır. Bu dosyaları PEPS’in SSL dizinine bağlayın (symlink veya kopyalama yöntemiyle):
sudo cp /etc/letsencrypt/live/mail.alanadiniz.com/fullchain.pem /opt/peps/ssl/peps.crt
sudo cp /etc/letsencrypt/live/mail.alanadiniz.com/privkey.pem /opt/peps/ssl/peps.key
Sertifikaları güncelledikten sonra PEPS servislerini yeniden başlatın:
sudo ./peps-installer.sh restart
Güvenlik Yapılandırmaları ve Sunucu Sertleştirme
Sunucunuzu dışarıdan gelebilecek kötü niyetli taramalardan ve kaba kuvvet saldırılarından korumak için güvenlik duvarı (UFW) ve izleme yazılımlarını aktif etmelisiniz.
1. UFW Güvenlik Duvarı Ayarları
Sadece gerekli servis portlarına izin vererek diğer tüm girişleri engelleyin:
sudo ufw default deny incoming
sudo ufw default allow outgoing
SSH Erişimi
sudo ufw allow 22/tcp
Web Arayüzü (HTTP / HTTPS)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
E-posta Protokolleri
sudo ufw allow 25/tcp # SMTP (Server to Server)
sudo ufw allow 587/tcp # SMTP Submission (TLS/STARTTLS)
sudo ufw allow 465/tcp # SMTPS (Implicit TLS)
sudo ufw allow 143/tcp # IMAP
sudo ufw allow 993/tcp # IMAPS (Implicit TLS)
sudo ufw enable
2. Fail2ban İle Kaba Kuvvet Saldırısı Engelleme
Başarısız giriş denemelerinde IP adreslerini otomatik olarak engellemek için Fail2ban paketini yükleyin:
sudo apt-get install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo service fail2ban restart
PEPS Yönetim Arayüzü ve Kullanımı
Kurulum ve güvenlik yapılandırmaları başarıyla tamamlandıktan sonra web tarayıcınızdan oluşturduğunuz adrese gidin:
https://mail.alanadiniz.com
Açılan oturum açma ekranında, config.env dosyasında belirttiğiniz yönetici e-posta adresi (admin@alanadiniz.com) ve şifreniz ile giriş yapın.
Kullanıcı Hesabı ve Depolama Yönetimi
PEPS admin panelinde şu işlemleri gerçekleştirebilirsiniz:
- Kullanıcı Ekleme/Silme: Şirketiniz veya bireysel ihtiyaçlarınız için yeni e-posta adresleri (örneğin:
ahmet@alanadiniz.com) tanımlayın. - Posta Kutusu ve Depolama Kotaları: Her kullanıcı için MB/GB cinsinden maksimum e-posta depolama ve dosya bulut alanı kotası atayın.
- Takvim ve Kişiler Senkronizasyonu: CalDAV ve CardDAV entegrasyonu sayesinde mobil cihazlarınızla rehber ve takviminizi eşitleyin.
- Dosya Depolama ve Paylaşım: Web arayüzü üzerinden sürükle-bırak yöntemiyle dosya yükleyin, klasörler oluşturun ve başkalarıyla güvenli indirme bağlantıları (link) paylaşın.
E-posta İstemcilerinin Yapılandırılması
Kullanıcılar masaüstü (Thunderbird, Outlook, Apple Mail) veya mobil istemcilerini (iOS Mail, Gmail vb.) sunucuya bağlarken aşağıdaki parametreleri kullanmalıdır:
Gelen E-posta Sunucusu (IMAP):
- Sunucu Adı:
mail.alanadiniz.com - Port:
993 - Güvenlik:
SSL/TLS - Kimlik Doğrulama: Normal Parola
Giden E-posta Sunucusu (SMTP):
- Sunucu Adı:
mail.alanadiniz.com - Port:
587 - Güvenlik:
STARTTLS(veya Port 465 – SSL/TLS) - Kimlik Doğrulama: Normal Parola (Gelen sunucu bilgileri ile aynı)
Bakım, Yedekleme ve Sistem Güncellemeleri
Sunucunuzun uzun ömürlü ve kararlı kalabilmesi için düzenli yedekleme stratejileri uygulamak şarttır. PEPS sisteminde veriler iki ana konumda tutulur: Veritabanı (kullanıcı bilgileri, ayarlar, meta veriler) ve Veri Dizini (e-posta içerikleri ve yüklenen dosyalar).
1. Veritabanı ve Veri Yedekleme
Verilerinizi sistem dışı bir konuma veya harici bir diske rutin olarak yedeklemek için aşağıdaki benzeri bir betiği Cron işi (crontab) olarak tanımlayabilirsiniz:
#!/bin/bash
BACKUP_DIR="/var/backups/peps_$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
Docker veri hacimlerini ve yapılandırmayı yedekle
rsync -avz /var/peps/data $BACKUP_DIR/data
cp /opt/peps/config.env $BACKUP_DIR/
Sıkıştır ve arşivle
tar -czf $BACKUP_DIR.tar.gz $BACKUP_DIR
rm -rf $BACKUP_DIR
Bu betiği günlük olarak çalıştırmak için crontab -e komutunu kullanarak şu satırı ekleyebilirsiniz:
0 2 * /usr/local/bin/peps-backup.sh >/dev/null 2>&1
2. Güncelleme Prosedürleri
Ubuntu 14.04 işletim sisteminin güvenlik yamalarını almak için periyodik olarak sistem güncellemelerini çalıştırın:
sudo apt-get update && sudo apt-get dist-upgrade -y
PEPS bağımlılıklarını ve imajlarını güncellemek için ise PEPS dizininde reposu çekip Docker konteynerlerini yeniden oluşturun:
cd /opt/peps
sudo git pull
sudo ./peps-installer.sh update
Karşılaşılabilecek Sorunlar ve Çözüm Önerileri (Troubleshooting)
1. E-postalar Dış Sunuculara Ulaşmıyor Veya Spama Düşüyor:
Öncelikle 25 numaralı portun servis sağlayıcınız (ISP) tarafından engellenmediğini kontrol edin. DNS SPF, DKIM ve rDNS kayıtlarınızın tam olarak çözümlendiğini dig veya online kontrol araçları (mxtoolbox.com) üzerinden doğrulayın.
dig MX alanadiniz.com
dig TXT alanadiniz.com
host 192.0.2.100
2. Docker Konteynerleri Başlamıyor:
Docker loglarını inceleyerek hatanın kaynağını tespit edin. Çoğunlukla yetersiz RAM veya port çakışmaları (başka bir Nginx/Postfix servisinin çalışıyor olması) bu soruna yol açar.
sudo docker-compose logs -f
3. Web Arayüzüne Bağlanılamıyor:
80 ve 443 portlarının UFW üzerinden açık olup olmadığını kontrol edin (sudo ufw status). SSL sertifikasının süresinin dolup dolmadığını doğrulayın.
Sonuç
Ubuntu 14.04 LTS üzerinde PEPS platformunu kurarak kendi e-posta ve bulut dosya depolama altyapınızı başarıyla hayata geçirebilirsiniz. Bu yapı sayesinde verilerinizin kontrolü tamamen sizin elinizde olurken, merkezi bir yönetim panelinden hem kurumsal e-posta iletişiminizi hem de dosya paylaşım süreçlerinizi güvenli bir şekilde yönetebilirsiniz.
Doğru yapılandırılmış DNS kayıtları, güncel SSL/TLS sertifikaları, UFW ve Fail2ban gibi güvenlik katmanları ile birleştiğinde PEPS; ticari çözümlere kıyasla yüksek maliyet avantajı sağlayan, esnek ve güvenilir bir self-hosted alternatif sunmaktadır.
