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
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
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
Aşağıdaki satırları bu şekilde değiştirelim:
upload_max_filesize = 50M
post_max_size = 50M
date.timezone = Asia/Kolkata
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
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
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';
Ardından, aşağıdaki komutla tüm ayrıcalıkları raindb'ye veriyoruz:
GRANT ALL ON raindb.* TO 'rainuser'@'localhost';
Ardından, ayrıcalıkları temizleyerek ve aşağıdaki komutla MariaDB kabuğundan çıkıyoruz:
FLUSH PRIVILEGES;
EXIT;
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
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
Ardından, indirdiğimiz dosyayı aşağıdaki komutla /var/www/rainloop dizinine açıyoruz:
unzip rainloop-community-latest.zip -d /var/www/rainloop
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
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
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;
}
}
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/
Ardından, aşağıdaki komutla herhangi bir syntax hatası için Nginx'i doğrulayalım:
nginx -t
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
Ardından, değişiklikleri uygulamak için Nginx hizmetini yeniden başlatalım.
systemctl reload nginx
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
Aşağıdaki satırı http { altına ekleyin:
server_names_hash_bucket_size 64;
Dosyayı kaydedip kapatın, ardından değişiklikleri uygulamak için Nginx hizmetini yeniden başlatın:
systemctl restart nginxAdmin
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
Ş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: