Debian 10'da RainLoop Kurulumu

Berk Furkan TORAMAN - Apr 25 '22 - - Dev Community

N|Solid

RainLoop nedir? Rainloop PHP ile kodlanmış, kurulumu ve kullanımı basit web-tabanlı e-posta istemcisidir. Yani Rainloop Google Inbox ve gmail siteleri ile aynı işlevi görür. Bu uygulamalar ile google sunucularında bulunan e-posta hesaplarınızın yönetimini yapılıyor. Rainloop ile de kendi sunucularınızdaki e-posta hesapları kolaylıkla yönetebilirsiniz. Kısaca, RainLoop ile kullanıcıya bir arayüz sunmuş oluyoruz.

Kurulum İçin Gereksinimler

  • Güncel bir Debian 10.
  • Sunucu IP'niz ile gösterilen geçerli bir alan adı (domain).

Adım 1 -- Sunucu oluşturmak

En az 2GB RAM'e sahip işletim sistemi olarak Debian 10'u seçerek yeni bir sunucu oluşturun. SSH aracılığıyla Bulut Sunucunuza bağlanın ve sayfanın üst kısmında vurgulanan kimlik bilgilerini kullanarak oturum açın.

Debian 10 sunucunuzda oturum açtıktan sonra, temel sisteminizi mevcut en son paketlerle güncellemek için aşağıdaki komutu çalıştırın.

apt-get update -y
Enter fullscreen mode Exit fullscreen mode

Adım 2 -- LEMP Server İndirmek

İlk olarak, sunucunuza NGINX web sunucusu, MariaDB, PHP ve diğer gerekli PHP uzantılarını yüklemeniz gerekecek. Hepsini aşağıdaki komutla yükleyebilirsiniz:

apt-get install nginx mariadb-server php php-cli php-fpm php-curl php-json php-mbstring php-mysql php-common php-xml unzip -y
Enter fullscreen mode Exit fullscreen mode

Tüm paketler yüklendikten sonra php.ini dosyasını düzenleyerek bazı değişiklikler yapmamız gerekecek.

nano /etc/php/7.3/fpm/php.ini
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki satırları bu şekilde değiştirelim:

upload_max_filesize = 50M
post_max_size = 50M
date.timezone = Asia/Kolkata
Enter fullscreen mode Exit fullscreen mode

Dosyayı kaydedin ve kapatın. ardından değişiklikleri uygulamak için PHP-FPM hizmetini yeniden başlatın:

systemctl restart php7.3-fpm
Enter fullscreen mode Exit fullscreen mode

Adım 3 -- RainLoop için bir Veritabanı Oluşturmak

RainLoop için bir veritabanı ve kullanıcı oluşturmanız gerekecek. İlk olarak, aşağıdaki komutla MariaDB'ye giriş yapın:

mysql
Enter fullscreen mode Exit fullscreen mode

Giriş yaptıktan sonra, aşağıdaki komutla bir veritabanı ve kullanıcı oluşturun:

CREATE DATABASE raindb;
CREATE USER 'rainuser'@'localhost' IDENTIFIED BY 'password';
Enter fullscreen mode Exit fullscreen mode

Ardından, aşağıdaki komutla tüm ayrıcalıkları raindb'ye veriyoruz:

GRANT ALL ON raindb.* TO 'rainuser'@'localhost';
Enter fullscreen mode Exit fullscreen mode

Ardından, ayrıcalıkları temizleyerek ve aşağıdaki komutla MariaDB kabuğundan çıkıyoruz:

FLUSH PRIVILEGES;
EXIT;
Enter fullscreen mode Exit fullscreen mode

Bu noktada MariaDB'yi, RainLoop için yapılandırmış oluyoruz.


Adım 4 -- RainLoop Kurulumu

İlk olarak, Nginx varsayılan kök dizini içinde RainLoop için bir dizin oluşturuyoruz:

mkdir /var/www/rainloop
Enter fullscreen mode Exit fullscreen mode

Daha sonra aşağıdaki komutla RainLoop'un en son sürümünü indiriyoruz:

wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip 
Enter fullscreen mode Exit fullscreen mode

Ardından, indirdiğimiz dosyayı aşağıdaki komutla /var/www/rainloop dizinine açıyoruz:

unzip rainloop-community-latest.zip -d /var/www/rainloop
Enter fullscreen mode Exit fullscreen mode

Ardından, rainloop dizininin sahipliğini ve iznini değiştirelim:

chown -R www-data:www-data /var/www/rainloop
chmod -R 775 /var/www/rainloop
Enter fullscreen mode Exit fullscreen mode

Nginx'i yapılandırmaya devam edelim.


Adım 5 -- RainLoop için Nginx Yapılandırması

RainLoop için bir Nginx sanal sunucu yapılandırma dosyası oluşturmamız gerekecek. Aşağıdaki komutla oluşturabiliriz:

nano /etc/nginx/sites-available/rainloop.conf
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki satırları ekleyin:

server {

listen 80;

server_name rainloop.example.com;
root /var/www/rainloop;

index index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_keep_conn on;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
deny all;
}

location ^~ /data {
deny all;
}

}
Enter fullscreen mode Exit fullscreen mode

Dosyayı kaydedip kapatalım, ardından aşağıdaki komutla Nginx sanal sunucuyu etkinleştirelim:

ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled/
Enter fullscreen mode Exit fullscreen mode

Ardından, aşağıdaki komutla herhangi bir syntax hatası için Nginx'i doğrulayalım:

nginx -t
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki çıktıyı almalısınız:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Enter fullscreen mode Exit fullscreen mode

Ardından, değişiklikleri uygulamak için Nginx hizmetini yeniden başlatalım.

systemctl reload nginx
Enter fullscreen mode Exit fullscreen mode

Herhangi bir hata alırsanız, Nginx varsayılan sunucu yapılandırma dosyasını düzenlemeniz ve server_names_hash_bucket_size değerini ayarlamanız gerekir:

nano /etc/nginx/nginx.conf
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki satırı http { altına ekleyin:

server_names_hash_bucket_size 64;
Enter fullscreen mode Exit fullscreen mode

Dosyayı kaydedip kapatın, ardından değişiklikleri uygulamak için Nginx hizmetini yeniden başlatın:

systemctl restart nginxAdmin
Enter fullscreen mode Exit fullscreen mode

Adım 6 -- RainLoop Arayüzüne Erişim Sağlamak

Şimdi web tarayıcınızı açın ve http://rainloop.example.com/?admin URL'sini kullanarak RainLoop admin arayüzüne erişim sağlayın. Aşağıdaki sayfayı görmelisiniz:

Login: Admin
Password: 12345

Image description

Şimdi ise http://rainloop.example.com URL'sini kullanarak RainLoop kullanıcı arayüzüne erişim sağlayın. Aşağıdaki sayfayı görmelisiniz:

Image description

Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .