Linux

Konfigurasi Z-Push Active-Sync Zimbra Menggunakan Nginx

Beberapa hari yang lalu, saya melakukan migrasi web server apache2 menjadi nginx. Terdapat beberapa aplikasi web didalam nya, sebagian besar lancar dipindahkan ke nginx, namun ada 1 aplikasi yang sedikit bermasalah, karena konfigurasi pada nginx terhadap aplikasi tersebut sedikit ribet hehehe 😀

Aplikasi tersebut yaitu Z-Push. Pada server tersebut, Z-Push ini digunakan untuk melakukan Active-Sync terhadap Zimbra. Pada saat menggunakan apache2, Z-Push berjalan lancar, namun begitu dipindahkan ke nginx, sedikit bermasalah.

Ohh ya untuk panduan konfigurasi Z-Push Active-Sync Zimbra pada Apache2, bisa dilihat di panduan berikut ini >> https://imanudin.net/2014/11/11/how-to-enable-mode-activesync-on-zimbra-ose/

Setelah mencari beberapa referensi perihal Z-Push pada nginx, didapatlah sample konfigurasi yang bisa digunakan. Berikut isian konfigurasinya, pada directory /etc/nginx/sites-available/, buat sebuah file virtualhost misal zpush, lalu isikan dengan script dibawah ini.

Baca Juga : Tips Mendapatkan Nilai A+ pada Qualys SSL Labs dengan Nginx

server {
    server_name zpush.rizkypratama.id;

    listen 443 ssl;
    #listen [::]:443 ssl;

    ssl on;
    ssl_certificate /etc/nginx/ssl/commercial.pem;
    ssl_certificate_key /etc/nginx/ssl/commercial.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCMSHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCMSHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCMSHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSAAES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHERSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCMSHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;
    add_header Strict-Transport-Security "max-age=63072000; preload";
 
    # If you're using PHP-FPM uncomment the following lines.
    include         fastcgi_params;
    fastcgi_index   index.php;
    fastcgi_param   SCRIPT_FILENAME $document_root;
    fastcgi_param   REQUEST_URI $1;
    fastcgi_param   PHP_FLAG "magic_quotes_gpc=off \n register_globals=off \n magic_quotes_runtime=off \n short_open_tag=on";
    fastcgi_param   PHP_VALUE "post_max_size=128M \n upload_max_filesize=128M \n max_execution_time=3660";
    fastcgi_param   HTTP_PROXY "";
    fastcgi_read_timeout 3660; # Z-Push Ping might run 3600s, but to be safe

 
    location  /Microsoft-Server-ActiveSync {
        alias       /var/www/z-push/index.php;
        access_log  /var/log/nginx/z-push-access.log;
        error_log   /var/log/nginx/z-push-error.log;
 
        client_max_body_size 20m;
        client_body_buffer_size 128k;
 
        # Select one of the fastcgi_pass values or adapt to your configuration
        #fastcgi_pass    unix:/var/run/php5-fpm.sock; # for PHP 5.X Debian/Ubuntu
        fastcgi_pass    unix:/var/run/php/php7.2-fpm.sock; # for PHP 7.X Debian/Ubuntu
        #fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock; # usually RedHat and its derivatives
        #fastcgi_pass    127.0.0.1:9000; # default php-fpm config
    }
 
    location ~* /AutoDiscover/AutoDiscover.xml {
        alias       /var/www/z-push/autodiscover/autodiscover.php;
 
        access_log  /var/log/nginx/z-push-autodiscover-access.log;
        error_log   /var/log/nginx/z-push-autodiscover-error.log;
 
        # Select one of the fastcgi_pass values or adapt to your configuration
        #fastcgi_pass    unix:/var/run/php5-fpm.sock; # for PHP 5.X Debian/Ubuntu
        fastcgi_pass    unix:/var/run/php/php7.2-fpm.sock; # for PHP 7.X Debian/Ubuntu
        #fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock; # usually RedHat and its derivatives
        #fastcgi_pass    127.0.0.1:9000; # default php-fpm config
 
        fastcgi_index   autodiscover.php;
    }
}

Silakan sesuaikan pada bagian server_name, ssl_certificate dan fastcgi_pass, jika sudah sesuai, silakan di save dan aktifkan virtualhost tersebut.

ln -s /etc/nginx/sites-available/z-push /etc/nginx/sites-enabled/
service nginx restart

Silakan akses Z-Push tersebut via browser dahulu untuk test, pastikan muncul pop up untuk mengisikan username dan password yang ada pada Zimbra

Jika username dan password benar, maka akan muncul tampilan berikut.

Selanjutnya silakan lakukan konfigurasi Active-Sync pada Mobile Device yang kalian gunakan.

Mungkin cukup sekian, semoga bermanfaat.

Share
Published by
Rizky Pratama

Recent Posts

Tips Zimbra : Mengatasi Service Cbpolicyd Starting Failed Setelah Migrasi ke Rocky Linux 8

Beberapa waktu lalu, Excellent mendapatkan project migrasi Zimbra dari versi Open Source Ke Zimbra Network…

4 weeks ago

Mengatasi Error “no matching host key type found. Their offer: ssh-rsa,ssh-dss” Setelah Upgrade MacOS Ventura Saat Melakukan SSH

Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur…

1 year ago

Cara Memindahkan Saham ke Sekuritas Lain

Tidak terasa sudah cukup lama saya tidak update tulisan pada blog ini lagi, akhirnya kali…

2 years ago

Tahun Baru, Markas Baru, Tulisan Baru

Tahun baru 2022 telah tiba, tidak terasa waktu berjalan begitu cepat, banyak cerita dan kenangan…

2 years ago

Mengatasi “Error while performing update: Input/output error (5)” Saat Update Tuxera pada MacOS

Kembali lagi bersama saya, setelah beberapa lama tidak update tulisan pada blog ini :D kali…

2 years ago

Konfigurasi PPTP Client pada Container Docker CLI

PPTP adalah kependekan dari Point-toPoint Tunneling Protocol yang merupakan bahasa yang membuat komputer dapat berkomunikasi…

3 years ago