Roundcube Webmail'i CentOS/RHEL 8/7'ye Yükleme


Roundcube, tamamen işlevsel ve özelleştirilebilir, uygulama benzeri bir kullanıcı arayüzüne sahip ve en yeni web standartlarını kullanan, ücretsiz ve açık kaynaklı, tam özellikli, web tabanlı, çok dilli bir IMAP web posta yazılımıdır. PHP kullanılarak oluşturulmuştur ve modern bir e-posta istemcisinden bekleyebileceğiniz tüm işlevleri sunar.

Roundcube'un Özellikleri:

  • Çok dillidir ve 70'in üzerinde dili destekler.
  • Yazarken bul adres defterini destekler.
  • Birden fazla gönderen kimliğini destekler.
  • Gelişmiş gizlilik koruması sunar.
  • Gruplar ve LDAP konektörleri içeren tam özellikli bir adres defterine sahiptir.
  • Zengin metin/HTML mesaj oluşturma olanağı sunar.
  • Mesajları ve kişileri aramayı destekler.
  • Int'yi destekler. alan adları (IDNA).
  • Klasör manipülasyonunu, paylaşılan klasörleri ve ACL'yi destekler.
  • Eklenti API'si kullanılarak genişletilebilir.
  • Yazım denetimi işlevi sağlar.
  • İçe/dışa aktarma işlevleri sağlar.
  • Esnek uzantılar ve çok daha fazlası için bir eklenti API'sine sahiptir.

Tavsiye Edilen Sistem Gereksinimleri:

  1. Minimal Kurulumlu CentOS 8/RHEL 8 veya CentOS 7/RHEL 7 Sunucusu.
  2. Apache veya Nginx web sunucusu
  3. PHP ve MySQL/MariaDB veritabanı
  4. IMAP4 rev1 desteğine sahip SMTP ve IMAP sunucusu

Bu makalenin kapsamı açısından, halihazırda sanal kullanıcılara sahip çalışan bir Postfix e-posta sunucunuz olduğunu varsayıyoruz, aksi takdirde kurulum kılavuzlarımızı izleyin:

  1. MariaDB ile Postfix Posta Sunucusu ve Dovecot Kurulumu – Bölüm 1
  2. Postfix ve Dovecot Sanal Etki Alanı Kullanıcılarını Yapılandırma – Bölüm 2
  3. ClamAV ve SpamAssassin'i Postfix Posta Sunucusuna Kurun ve Entegre Edin - Bölüm 3

Test Ortamı:

Bu makalenin amacı doğrultusunda, Nginx web sunucusu, statik IP adresi 192.168.0.100 ve ana bilgisayar adı olan bir Linode CentOS VPS'ye Roundcube Webmail'i yükleyeceğim. mail.linux-console.net.

Adım 1: Nginx, PHP-FPM ve MariaDB'yi CentOS 8/7'ye yükleyin

1. Öncelikle EPEL ve REMI depolarını etkinleştirerek başlayın ve Nginx, PHP'yi yükleyin. , PHP-FPM ve CentOS sisteminizdeki MariaDB sunucusu.

yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm    [CentOS/RHEL 8]
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm    [CentOS/RHEL 7]
yum install yum-utils 
yum-config-manager --enable remi-php72
yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick mariadb-server   

2. Tüm paketleri başarıyla yükledikten sonra, Nginx web sunucusunu başlatın, önyükleme sırasında otomatik olarak başlatılmasını etkinleştirin ve çalışır durumda olup olmadığını kontrol edin.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. Ardından, sistem güvenlik duvarınız etkinse, harici istekler için 80 bağlantı noktasını açmanız gerekir.

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

4. Daha sonra, PHP-FPM'yi düzgün çalışacak şekilde yapılandırmanız gerekir. Komut satırı test düzenleyicisini kullanarak /etc/php.ini dosyasını açın.

vim /etc/php.ini

;cgi.fix_pathinfo=1 yönergesini arayın, açıklamasını kaldırın ve değerini 0 olarak ayarlayın.

cgi.fix_pathinfo=0

Ayrıca ;date.timezone yönergesinin açıklamasını kaldırın ve değerini saat diliminize ayarlayın.

date.timezone = "Africa/Kampala"

İşiniz bittiğinde dosyayı kaydedin ve çıkın.

5. Ardından PHP-FPM hizmetini başlatın, önyükleme sırasında otomatik olarak başlatılmasını etkinleştirin ve aşağıdaki gibi çalışır durumda olup olmadığını kontrol edin.

systemctl start php-fpm 
systemctl enable php-fpm 
systemctl status php-fpm 

Adım 2: MariaDB Sunucusunu Güvenli Hale Getirin ve Roundecube Veritabanı Oluşturun

6. Şimdi aşağıdaki komutları kullanarak MariaDB hizmetini başlatın.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. Varsayılan MariaDB kurulumu güvenli değildir. Güvenliği sağlamak için ikili paketle birlikte gelen güvenlik komut dosyasını çalıştırmanız gerekir. Bir root şifresi belirlemeniz, anonim kullanıcıları kaldırmanız, root oturum açma işlemini uzaktan devre dışı bırakmanız ve test veritabanını kaldırmanız istenecektir.

mysql_secure_installation

8. Şimdi MariaDB veritabanında oturum açın, Roundecube için bir veritabanı oluşturun ve kullanıcıya veritabanında uygun izinleri verin (bir veritabanında güçlü/güvenli bir şifre ayarlamayı unutmayın). Üretim ortamı).

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '=213@!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Ardından, Roundcube tablo düzenini yeni oluşturulan veritabanına aktarın.

cd /var/www/html/roundcubemail/
mysql -u root -p roundcubemail < SQL/mysql.initial.sql

Adım 3: Roundcube Paketini İndirin

10. Bu adımda, indirme sayfasından Roundcube'un en son kararlı sürümünü (1.4.9) indirin veya wget komut satırı indiricisini kullanın. edinin, TAR dosyasını çıkarın ve dosyaları web sunucunuzun belge köküne yükleyin.

wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
tar xzf roundcubemail-1.4.9-complete.tar.gz 
mv roundcubemail-1.4.9 /var/www/html/roundcubemail

11. Ardından, Roundcube webroot dosyalarında uygun izinleri ayarlayın.

chown -R nginx:nginx /var/www/html/roundcubemail

Adım 4: Roundcube Web Yükleyicisi için Nginx Sunucu Bloğunu Yapılandırma

12. Şimdi /etc/nginx/conf.d/ altında Roundcube için bir Nginx sunucu bloğu oluşturun (dosyayı istediğiniz gibi adlandırabilirsiniz ancak bir .conf uzantısı).

vim /etc/nginx/conf.d/mail.example.com.conf

Aşağıdaki konfigürasyonu dosyaya ekleyin.

server {
        listen 80;
        server_name mail.example.com;

        root /var/www/html/roundcubemail;
        index  index.php index.html;

        #i# Logging
        access_log /var/log/nginx/mail.example.com_access_log;
        error_log   /var/log/nginx/mail.example.com_error_log;

        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
        }

        location ~ ^/(config|temp|logs)/ {
                deny all;
        }

        location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
        }

        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Dosyayı kaydedin ve kapatın.

13. Ardından, PHP-FPM web'de birkaç değişiklik yapmak için /etc/php-fpm.d/www.conf dosyasını açın. direktif.

vim /etc/php-fpm.d/www.conf

Aşağıdaki değişkenlerde Apache kullanıcısını nginx olarak değiştirin.

user = nginx
group = nginx

Ardından listen=127.0.0.1:9000 satırını yorumlayın ve listen değişkenini, nginx sunucu blok dosyasındaki bir Unix soket setini dinleyecek şekilde ayarlayın:

listen = /var/run/php-fpm/php-fpm.sock

Ayrıca UNIX soketinin izinlerini ayarlayın, açıklamaları kaldırın ve satırları şu şekilde değiştirin:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

14. Ardından, son değişiklikleri uygulamak için Nginx ve PHP-FPM hizmetlerini aşağıdaki gibi yeniden başlatın.

systemctl restart nginx php-fpm

Adım 5: Roundcube Web Kullanıcı Arayüzü'ne erişin

15. Kurulum sihirbazını başlatmadan önce, herhangi bir oturum hatasını önlemek için /var/lib/php/session/ dizininde uygun izinleri ayarlayın. Varsayılan grup sahibi Apache'tir, gösterildiği gibi nginx olarak değiştirin.

ls -ld /var/lib/php/session/
chown :nginx /var/lib/php/session/
ls -ld /var/lib/php/session/

16. Şimdi bir tarayıcı açın ve http://mail.example.com/installer adresini kullanın (alan adını, Nginx sunucu bloğu oluştururken ayarladığınız sunucu adıyla değiştirin) Roundcube için) web yükleyicisine erişmek için. Tüm PHP sürümleri, uzantıları ve php.ini/.htaccess ayarları doğruysa, aşağıdaki ekran görüntüsünü göreceksiniz, yapılandırmalar sayfasına gitmek için İleri'yi tıklayın.

http://mail.example.com/installer
OR
http://IP-address/installer

17. Yapılandırmalar sayfası Roundcube örneğinizi kurmanıza olanak tanır. Bu kılavuzun kapsamına göre yalnızca önemli seçenekleri açıklayacağız.

Genel Yapılandırma altında, bir ürün_adı ayarlayın, örneğin Example.com Webmail.

Veritabanı kurulumu'na gidin, veritabanı ana makinesini, adını, kullanıcı ve şifreyi girin MySQL sunucusuna bağlanmak için.

Ardından IMAP ve SMTP ayarlarına ilerleyin ve varsa IMAP ve SMTP sunucunuzun IP adresini girin. Roundcube'u çalıştırdığınız sunucunun aynısında, onu “localhost” olarak bırakın ve ayrıca gerekli diğer parametreleri de belirtin.

İhtiyaçlarınıza göre diğer ayarları belirleyebilirsiniz, işiniz bittiğinde Yapılandırma Oluştur'u tıklayın.

18. Artık “Yapılandırma dosyası Roundcube kurulumunuzun /var/www/html/roundcubemail/config dizinine başarıyla kaydedildi.” şeklinde bir mesaj görmelisiniz. ” seçeneğine tıklayın. Devam et.

19. Aşağıdaki ekran görüntüsünde gösterildiği gibi yapılandırmanızı Test yapılandırma sayfasından inceleyebilirsiniz.

20. Ardından, yükleyici klasörünün tamamını (sunucu şifreleri ve şifreleme anahtarları gibi hassas yapılandırma verilerini herkese açık hale getirebilecek dosyaları içeren) Roundcube kök dizininden kaldırın (veya config.inc.php dosyasındaki active_installer seçeneği devre dışıdır).

rm -rf /var/www/html/roundcubemail/installer

21. Son olarak, Roundcube giriş sayfasına erişmek için http://mail.example.com URL'sini kullanın. E-postalarınızı görüntülemek için kullanıcı adınızı ve şifrenizi girin.

Özet

Roundcube yaygın olarak kullanılan, tam özellikli, web tabanlı, çok dilli bir posta istemcisidir. Bu makalede, Roundcube Webmail'in en son kararlı sürümünün Nginx web sunucusuyla CentOS/RHEL 8/7'ye nasıl kurulacağını gösterdik. Herhangi bir sorunuz varsa bize ulaşmak için aşağıdaki geri bildirim formunu kullanın.