Press enter to see results or esc to cancel.

Openfire + iRedMail yapılandırması

Merhaba, bahsetmiş olduğum bu yapılandırma iRedmail 0.9.5-1 ve Openfire 4.0.3 versiyonlarında denenmistir. Mysql sorgularını istediginiz gibi değiştirip kendinize özel tablolardan sorgular oluşturup kullanıcı entegrasyonu yapabilirsiniz.

Sistem:

Debian 8.6

iRedmail-0.9.5-1

Mysql-server-5.5

Openfire 4.0.3

iRedmail mysql destekli çalışmaktadır, zaten işimizi zorlaştıran kısım da budur. Eger Ldap ile yapılandırma olmuş olsaydı tek bir satırla kullanıcı entegrasyonu yapılabilecekti.

# Bu yapılarmada ne yapıyoruz ? ve Ne işimize yaracak ?

Bu yapılandırmada iRedAdmin üzerinden açmış olduğunuz tüm kullanıcılar otomatik olarak xmpp kullanıcısı olacaktır. Kısaca Openfire sunucusunu tamamen iRedMail vmail veritabanı üzerinden çalıştıracağız.

Openfire üzerinden kullanıcı değiştirme, kullanıcı açma işlemleri yapamıyorsunuz çünkü tüm yönetim vmail yöneticisindedir. Kısaca iRedadmin veya Roundcube üzerinden yaptığınız şifre değişikleri yansıyacaktır.

Openfire ‘ın desteklediği şifreleme metodları bcrypt , md5 ,plain, sha1, sha256, sha512

iRedmail 0.8 sürümünden sonra SSHA512 şifreleme metoduyla gelmektedir. İki sistemi konuşturmak için biz md5 kullanacağız.

İlk önce iRedmail ve Roundcube ayarlarını md5 şifrelemeye göre ayarlayalım.

# Bu işlemi iredadmin panelinden açılan yeni kullanıcılar ve değiştirilen şifrelerin md5 olarak şifrelenmesi için yapıyoruz.
vim /opt/www/iredadmin/settings.py dosyasını herhangi bir editörle açıp (benim tercihim vim editörü)

Aşağıdaki satırı bulup

DEFAULT_PASSWORD_SCHEME

Aşağıdaki gibi değiştirin.

DEFAULT_PASSWORD_SCHEME = 'PLAIN-MD5'

ve /etc/init.d/apache2 restart komutuyla web sunucumuzu yapılandırmanın geçerli olması için yeniden başlatıyoruz.

Nginx kullanıyorsanız /etc/init.d/uwsgi restart komutuyla servisi yeniden başlatınız.

Not: Yeni kullanıcı açıldığında veya kullanıcının şifresi değiştiği zaman sql ‘de password sutunu md5 olarak güncellenecektir.

#E-Posta kullanıcısı webmail üzerinden de şifre değişikliği yapacağı için aşağıdaki değişikleri de yapmamız gerekiyor. Bu işlemi Roundcube password eklentisi üzerinde yapacağız.

Editorle config.inc.php dosyasını açalım.
vim /opt/www/roundcubemail/plugins/password/config.inc.php
config.inc.php dosyasında 2 satırı aşağıdaki gibi değiştirelim.
$config['password_dovecotpw_method'] = 'PLAIN-MD5';
$config['password_dovecotpw_with_method'] = false; #MD5 prefix ine ihtiyacimiz yok

Son olarak dovecot üzerinde değişiklik yapıyoruz

dovecot-mysql.conf dosyasını herhangi bir editörle açalım.

vim /etc/dovecot/dovecot-mysql.conf
Aşağıdaki satırı bulup
default_pass_scheme = CRYPT

Aşağıdaki gibi değiştiriyoruz.

default_pass_scheme = PLAIN-MD5

ve dovecot ‘u yeniden başlatıyoruz.

/etc/init.d/dovecot restart

Herşeyin doğru gittiğinden emin olmak için ufak bir test yapalım.

telnet localhost 110

echo localhost

user murat@mx.deneme.murat.ws

pass mx123

Çıktığımız aşağıdaki gibiyse herşey çok güzel gitmiştir.

+OK Logged in 

Openfire Kurulumu

wget http://download.igniterealtime.org/openfire/openfire_4.0.3_all.deb

apt-get install default-jre-headless -y
dpkg -i openfire_4.0.3_all.deb

Kurulum Ekran Görüntüleri

  1. Web tarayıcısından http://ip_adresiniz:9090 adresini açalım

openfire_kurulum2      2. alan adınızı yazıp Continue diyoruz

openfire_kurulum3

3. Standart Database Connection seçip Continue diyoruz

openfire_kurulum4

4. Bu kısımda openfire kullanıcısını ve veritabanını konsol üzerinden oluşturacağız.

mysql -uroot -p
CREATE USER 'openfıre'@'localhost' IDENTIFIED BY 'sifre';
GRANT ALL ON openfire.* TO 'openfire'@'localhost';
FLUSH PRIVILEGES;

Aşağıdaki ekran görüntüsündeki gibi değişiklikleri yapıyoruz.

openfire_kurulum5

 

5. Default şeçiliyor.

openfire_kurulum6

6. E-Posta adresinizi yazıp admin için şifre belirliyorsunuz.

openfire_kurulum7

7.

openfire_kurulum8

8.

openfire_kurulum9

 

Giriş yapmadan hemen değişikliklerimizi yapalım

Tekrar mysql ‘e bağlanıp aşağıdaki sorguları çalıştıralım, fakat çalıştırmadan önce vmail şifrenizi “jdbc:mysql://localhost:3306/vmail?user=kullanici&password=sifreniz'” satırından değiştiriniz.

mysql -uroot -p

use openfire;

UPDATE ofProperty set propValue = 'org.jivesoftware.openfire.auth.JDBCAuthProvider' where name = 'provider.auth.className';
UPDATE ofProperty set propValue = 'org.jivesoftware.openfire.user.JDBCUserProvider' where name = 'provider.user.className';
INSERT INTO `ofProperty` (`name`, `propValue`) VALUES ('jdbcAuthProvider.passwordSQL', 'SELECT password FROM mailbox WHERE local_part=?'),
('jdbcAuthProvider.passwordType', 'md5'),
('jdbcProvider.connectionString', 'jdbc:mysql://localhost:3306/vmail?user=kullanici&password=sifreniz'),
('jdbcProvider.driver', 'com.mysql.jdbc.Driver'),
('jdbcUserProvider.allUsersSQL', 'SELECT local_part FROM mailbox'),
('jdbcUserProvider.emailField', 'username'),
('jdbcUserProvider.loadUserSQL', 'SELECT name,username FROM mailbox WHERE local_part=?'),
('jdbcUserProvider.nameField', 'name'),
('jdbcUserProvider.searchSQL', 'SELECT local_part FROM mailbox WHERE'),
('jdbcUserProvider.userCountSQL', 'SELECT COUNT(*) FROM mailbox'),
('jdbcUserProvider.usernameField', 'local_part')

Admin kullanıcısı belirlemek için aşağıdaki sorguya ihtiyacınız olacaktır. (vmail veritabanı içindeki mailbox tablosunda murat1@mx.deneme.murat.ws kullanıcısı ekli olmak zorundadir. Yani iredadmin üzerinden açılmış bir eposta kullanıcısı olmak zorundadır.)

INSERT INTO `ofProperty` (`name`, `propValue`) VALUES
('admin.authorizedJIDs', 'murat1@mx.deneme.murat.ws')

Şimdi tekrar web tarayıcısından http://ip_adresiniz:9090 girip kullanıcı adına murat1 ve iredadmin de belirlemiş oldugumuz şifreyi yazıp giriş yapıyoruz.

openfire_kurulum10

Giriş yaptıkdan sonra karşımıza aşağıdaki ekran gelecektir.

openfire_kurulum12

iRedAdmin ve Openfire kullanıcı ekran görüntüsü

iredadminopenfire_kurulum11

Sonuç olarak umarım işinize yarayacak bir döküman olmuştur.

Sevgiyle kalın.

Murat Uğur Eminoğlu