Roundcube Webmail Apache ve Nginx Destekli Kurulum
Roundcube, IMAP desteği sunan ve PHP ile geliştirilen açık kaynak bir web tabanlı e-posta istemcisidir. Temel e-posta işlemleri olan alma, gönderme, yanıtlama ve iletme işlemleri kolaylıkla gerçekleştirilebilir. Ayrıca kullanıcılar, kişisel adres defterleri oluşturabilir ve gruplar sayesinde iletişimi daha sistematik bir şekilde sürdürebilir.
Sistem Gereksinimleri
Roundcube Webmail’i stabil biçimde kullanabilmek için belirli sistem bileşenlerinin eksiksiz kurulması gereklidir. Bu gereksinimler, uygulamanın doğru çalışması ve güvenliğin sağlanması açısından önemlidir.
İlk olarak Ubuntu 20.04 veya üzeri bir Linux dağıtımı önerilir. Web sunucusu olarak Apache veya Nginx kurulabilir; her iki seçenek de uyumludur, ancak ayarlar farklılık gösterebilir. Özellikle Plesk Apache yapılandırması kullanılıyorsa, Plesk arayüzü üzerinden gerekli modül kontrolleri ve yapılandırmalar kolaylıkla yapılabilir. Ek olarak, Apache kullanan sistemlerde Apache Versiyon Gizleme işlemi, sunucu bilgilerini gizleyerek potansiyel saldırılara karşı ek güvenlik sağlar ve /etc/apache2/conf-enabled/security.conf gibi dosyalar üzerinden yapılandırılabilir.
PHP tarafında en az 7.4 sürümü kullanılmalı ve php-imap, php-mbstring, php-intl, php-curl, php-mysql gibi eklentilerin sistemde yüklü olması gerekir. Bu modüller olmadan Roundcube düzgün çalışmaz.
Veritabanı olarak MariaDB veya MySQL tercih edilmelidir. Bunlardan biri sistemde kurulu ve yapılandırılmış olmalıdır.
Ayrıca, webmail.domain.com biçiminde tanımlanmış bir DNS A kaydının sunucunun IP adresine yönlendirilmiş olması gerekir. Bu, kullanıcıların kolayca erişim sağlayabilmesi için kritik bir adımdır.
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’u tarayıcı üzerinden kurmak için http://yourdomain.com/installer adresine erişin. Kurulum ekranında sistem gereksinimlerini gözden geçirin ve veritabanı bağlantı bilgilerinizi girin. Veritabanı adı, kullanıcı adı ve şifrenizi girdikten sonra kurulumu tamamlayabilirsiniz. İşlem tamamlandığında installer klasörünü sistemden silerek güvenliği sağlayın.
Webmail arayüzüne doğrudan erişim için webmail.yourdomain.com adresi, DNS A kaydı aracılığıyla sunucu IP adresine yönlendirilmelidir. Bu kayıt erişimin sorunsuz gerçekleşmesini sağlar.
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?
Bu durum genellikle IMAP sunucusuna erişim hatası ya da mail_location ayarının eksikliğiyle ilişkilidir. Dovecot servisinin çalışıp çalışmadığını systemctl status dovecot ile kontrol edin. mail_location değeri yanlışsa gelen kutusu boş görünür. INBOX dizininin otomatik oluşup oluşmadığına da bakılmalıdır.
Roundcube çok yavaş çalışıyor, özellikle büyük posta kutularında neden?
Roundcube’un yavaş çalışması genellikle büyük IMAP klasörlerinden kaynaklanır. PHP-FPM ayarlarını yükseltin (pm.max_children, max_input_time). OPcache desteğini açın ve Redis gibi bir önbellek sistemi entegre edin. Gelen kutusunu parçalara ayırmak ve eski iletileri arşivlemek performansı artırır.
SMTP error (454): Authentication failed hatası alıyorum, neden?
Bu hata, genellikle SMTP kullanıcı adı veya şifresinin hatalı girilmesinden kaynaklanır. config.inc.php dosyasında SMTP sunucusu, port, TLS/SSL protokolü ve kimlik bilgilerini doğru girdiğinizden emin olun. Ayrıca, Postfix yapılandırmasında SASL kimlik doğrulamasının aktif olup olmadığını kontrol edin.
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
