Roundcube Webmail’in Apache ve Nginx Üzerinde Kurulumu

PHP tabanlı bir yazılım olan Roundcube, IMAP protokolüyle çalışan açık kaynaklı bir web e-posta istemcisidir. Temel e-posta işlemleri olan gönderme, alma, yanıtlama ve iletme işlemleri kolayca yapılabilir. Kullanıcılar, kişisel adres defterlerini oluşturabilir ve grup tanımlayarak iletişim akışını daha verimli şekilde yönetebilirler.
Roundcube İçin Gerekli Sistem Bileşenleri
Roundcube Webmail’in sağlıklı bir şekilde kurulup kullanılabilmesi için bazı sistem gereksinimlerinin karşılanması zorunludur. Bu gereksinimler, güvenlik, uyumluluk ve performans açısından önem taşır.
Tavsiye edilen işletim sistemi Ubuntu 20.04 veya üzeridir. Bu sürüm, gerekli güncel paketleri destekler. Web sunucusu olarak Apache ya da Nginx tercih edilebilir, ancak yapılandırma işlemleri kullanılan sunucuya göre değişebilir. Özellikle Plesk Linux Nginx ortamlarında, ters proxy yapılandırmalarının doğru yapılması gerekirken; Apache tabanlı sistemlerde servis yönetimi için Linux üzerinde apachectl komutlarının doğru kullanımı önemlidir.
PHP 7.4 veya daha yeni bir sürüm gereklidir. php-imap, php-mbstring, php-intl, php-curl, php-mysql gibi modüllerin eksiksiz kurulması gerekir. Bu modüller eksikse Roundcube düzgün çalışmayabilir.
MariaDB veya MySQL veritabanı kullanılarak kullanıcı verileri ve yapılandırmalar saklanabilir. Bu veritabanlarından birinin aktif ve yapılandırılmış olması gerekir.
Ayrıca, webmail.domain.com şeklinde bir DNS A kaydının sunucunun IP adresine yönlendirilmiş olması şarttır. Bu, kullanıcıların arayüze doğrudan ulaşmasını sağlar.
ChatGPT’ye sor
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
Roundcube kurulumunu tamamlamak için tarayıcınızdan http://yourdomain.com/installer adresini açın. Sayfada sistem gereksinimlerinin karşılanıp karşılanmadığını kontrol edin ve ardından veritabanı bağlantısı yapılandırmasını gerçekleştirin. Veritabanı adı, kullanıcı adı ve şifre bilgilerinizi girerek kurulumu bitirin. Kurulum tamamlandığında, installer klasörünü silerek güvenliği sağlayın.
Kullanıcıların web arayüzüne ulaşabilmesi için webmail.yourdomain.com alan adı, sunucunuzun IP adresine yönlendirilmiş olmalıdır. DNS A kaydının doğru yapılandırılması erişimi kolaylaştırır.
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?
Gelen e-postalar görünmüyorsa, Dovecot servisinin çalışmıyor olması ya da mail_location direktifinin yanlış ayarlanması olasıdır. Terminalde systemctl status dovecot komutunu çalıştırarak servisin durumu kontrol edilmelidir. INBOX dizini eksikse posta kutusu görünmeyebilir.
Roundcube çok yavaş çalışıyor, özellikle büyük posta kutularında neden?
Büyük IMAP kutularında yavaşlama olması normaldir. PHP-FPM yapılandırmasında süreç ve bellek sınırlarını (pm.max_children, memory_limit) yükseltmek gerekir. Roundcube’un daha hızlı çalışması için OPcache’i aktif edin ve eğer mümkünse Redis tabanlı caching sistemi entegre edin. E-postaları klasörlere ayırmak da yükü hafifletir.
SMTP error (454): Authentication failed hatası alıyorum, neden?
454 Authentication failed hatası, SMTP oturum açma bilgilerinin eksik ya da yanlış olması durumunda ortaya çıkar. config.inc.php içindeki SMTP ayarlarının (host, port, şifreleme türü, kullanıcı adı ve şifre) tam ve doğru olduğundan emin olun. Postfix sunucusunda da SASL etkinleştirilmiş olmalıdır.
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