PHP ile geliştirilen Roundcube, IMAP protokolü üzerinden çalışan açık kaynak kodlu bir web e-posta istemcisidir. Gönderme, alma, yanıtlama ve iletme gibi e-posta işlemleri kolayca yapılabilir. Kullanıcılar, kendi adres defterlerini düzenleyebilir ve gruplar oluşturarak iletişim süreçlerini daha iyi organize edebilir.
Roundcube İçin Gerekli Sistem Gereksinimleri
Roundcube Webmail’in doğru bir şekilde kurulup kullanılabilmesi için belirli sistem gereksinimlerinin karşılanması gerekir. Bu gereksinimler, sistemin güvenli ve performanslı çalışmasını sağlamak için zorunludur.
Ubuntu 20.04 veya daha yeni bir sürüm kullanmanız önerilir. Web sunucusu olarak Apache veya Nginx tercih edilebilir; her ikisi de desteklenmektedir ancak yapılandırma detayları farklı olabilir. Özellikle DirectAdmin Nginx yapılandırmasıyla entegre çalışan sunucularda doğru yönlendirme ve PHP-FPM ayarları yapılmalıdır. Apache kullanan sistemlerde ise servis durumu ve yeniden başlatma işlemleri Linux üzerinde apachectl komutu ile kolayca kontrol edilebilir.
PHP 7.4+ sürümü ile birlikte php-imap, php-mbstring, php-intl, php-curl ve php-mysql gibi modüller mutlaka kurulmalıdır. Eksik modüller Roundcube’un doğru çalışmasını engeller.
Veri saklama işlemleri için MariaDB veya MySQL veritabanı kullanılır. Bu veritabanlarından biri kurulmalı ve erişilebilir durumda olmalıdır.
Son olarak, webmail.domain.com gibi bir DNS A kaydı oluşturulmalı ve sunucunun IP adresine yönlendirilmelidir. Bu işlem, kullanıcıların webmail arayüzüne sorunsuz şekilde erişebilmesini sağlar.
Roundcube Kurulumu
Sistem Güncellemeleri Yapılması
Öncelikle sistemdeki mevcut yazılım paketlerini en güncel hale getirelim.
sudo apt update && sudo apt upgrade -y
PHP ve Bağımlılıkları Kurulumu
Apache ya da Nginx ile uyumlu çalışacak PHP ve gerekli modülleri kuralım.
sudo apt install php php-mbstring php-intl php-curl php-xml php-zip php-mysql unzip -y
Composer (bağımlılık yöneticisi) kurulumu:
sudo apt install composer -y
Apache veya Nginx Kurulumu
Apache Kurulumu;
sudo apt install apache2 -y
sudo systemctl enable --now apache2
Nginx Kurulumu;
sudo apt install nginx -y
sudo systemctl enable --now nginx
Roundcube için bir Veritabanı Kurulumu
Roundcube’un çalışabilmesi için kullanıcı bilgilerini ve yapılandırma verilerini saklayabileceği bir veritabanı gereklidir. Bu veritabanı olarak MariaDB ya da MySQL sistemlerinden biri rahatlıkla kullanılabilir.
MariaDB’yi Kuralım
$ sudo apt install mariadb-server -y
Veritabanı ve kullanıcı tanımlama işlemi için aşağıdaki kod dizilimini uygulayalım.
CREATE DATABASE roundcubedb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'GucluParola123!';
GRANT ALL PRIVILEGES ON roundcubedb.* TO 'roundcubeuser'@'localhost';
FLUSH PRIVILEGES;
Roundcube’un En Güncel Sürümünü İndirelim
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.9/roundcubemail-1.6.9-complete.tar.gz
tar -xzf roundcubemail-1.6.9-complete.tar.gz
mv roundcubemail-1.6.9 /var/www/roundcube
sudo chown -R www-data:www-data /var/www/roundcube
sudo chmod -R 755 /var/www/roundcube
Apache’yi Roundcube İçin Yapılandıralım
Yeni bir yapılandırma dosyası oluşturup, terminal kodlarını ekleyelim.
ServerName webmail.domain.com DocumentRoot /var/www/roundcube Options FollowSymLinks AllowOverride All Require all granted
Siteyi aktif hale getirelim ve Apache hizmetini yeniden başlatarak değişikliklerin uygulanmasını sağlayalım.
Nginx’i Roundcube İçin Yapılandıralım
Yeni bir yapılandırma doyası oluşturduktan sonra kodları ekleyelim.
server {
listen 80;
server_name webmail.domain.com;
root /var/www/roundcube;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
Web Arayüzü Üzerinden Roundcube Kurulumunu Tamamlayalım
Kurulum sihirbazını başlatmak için http://yourdomain.com/installer adresini ziyaret edin. Gelen sayfada sistem uyumluluğunu kontrol edin ve ardından veritabanı yapılandırmasını tamamlayın. Veritabanı adı, kullanıcı adı ve şifrenizi girerek kurulumu sonlandırın. Son aşamada, güvenlik için installer klasörünü silmeyi unutmayın.
Kullanıcıların Roundcube arayüzüne ulaşabilmesi için webmail.yourdomain.com alt alan adının, doğru bir DNS A kaydı ile sunucu IP’sine yönlendirilmesi gereklidir.
HTTPS Güvenliği Ekleyelim
Roundcube erişimini şifreleyerek daha güvenli hale getirmek için Let’s Encrypt üzerinden ücretsiz SSL sertifikası kullanabilirsiniz.
Certbot’u yükleyin:
sudo apt install certbot python3-certbot-apache -y
Apache kullanıyorsanız:
sudo certbot --apache -d yourdomain.com -d webmail.yourdomain.com
Nginx kullanıyorsanız:
sudo apt install python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d webmail.yourdomain.com
Test ve Doğrulama Araçları
Roundcube yapılandırmanızın sağlıklı çalıştığından emin olmak için aşağıdaki test araçlarını kullanabilirsiniz:
- mail-tester.com: Gönderdiğiniz e-postaların spam puanını analiz ederek olası sorunları tespit eder.
- mxtoolbox.com: DNS, MX, SPF ve DKIM gibi e-posta yapılandırma kayıtlarınızı kontrol etmenizi sağlar ve olası hataları bildirir.
Sık Sorulan Sorular (SSS)
Roundcube kurulu ama gelen e-postalar gözükmüyor, ne yapmalıyım?
Roundcube gelen kutusunu göstermiyorsa, genellikle IMAP bağlantı hatası veya mail_location ayar hatasından kaynaklanır. Dovecot’un çalışır durumda olduğunu doğrulamak için systemctl status dovecot komutu kullanılmalıdır. INBOX klasörü otomatik oluşmuyorsa manuel müdahale gerekebilir.
Roundcube çok yavaş çalışıyor, özellikle büyük posta kutularında neden?
Geniş posta kutularında Roundcube yavaş yanıt verebilir. Bu durumda php.ini dosyasındaki max_execution_time, post_max_size gibi parametreler yeniden düzenlenmeli ve OPcache aktif edilmelidir. Sunucuya Redis ya da Memcached kurulması performansı ciddi oranda artırabilir. Klasör bazlı organizasyon da iyi bir çözümdür.
SMTP error (454): Authentication failed hatası alıyorum, neden?
SMTP error 454 genellikle yanlış kimlik bilgileri nedeniyle oluşur. config.inc.php içindeki SMTP kullanıcı adı ve parolanın doğruluğunu kontrol edin. Port numarası olarak genelde 587 (TLS) veya 465 (SSL) kullanılır. Postfix sunucunuzda SASL desteği etkin değilse bu hata alınabilir.
Güncellemeden sonra Roundcube 500 hatası veriyor, nasıl çözülür?
Yükseltme sonrası sık karşılaşılan bu hata genellikle config uyumsuzlukları veya dosya/dizin izinlerinden kaynaklanır. Apache ya da Nginx loglarına göz atın (/var/log/apache2/error.log veya /var/log/nginx/error.log). chown -R www-data:www-data /var/www/roundcube komutunu çalıştırarak kullanıcı izinlerini düzeltelim. Ayrıca veritabanı bağlantı bilgilerini config.inc.php üzerinden doğrulamamız gerekmektedir.
Roundcube kurulu, ama ek dosya gönderemiyorum. upload_max_filesize hatası olabilir mi?
Evet. Bu genellikle PHP yapılandırma sınırlarından kaynaklanır. /etc/php/7.4/apache2/php.ini ya da php-fpm.ini içinde şu değerleri artırıralım;
upload_max_filesize = 25M
post_max_size = 30M
memory_limit = 128M