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.
Rizky Pratama. Tinggal di Bekasi, Jawa Barat. Seorang IT di salah satu perusahaan IT. Pengguna Mac, Linux dan Windows
Selain sebagai penulis di blog ini, saya juga penulis di blog saya yang lain, yaitu https://pratama.biz.id