nginx2

nginx-1.0.0 stable version has been released

NGINX adalah aplikasi open source  web server, reverse proxy  dan e-mail (IMAP/POP3) proxy yang dirilis dibawah lisensi BSD. Proyek NGINX dijalankan sekitar 9 tahun yang lalu (2008) dengan rilis pertamanya versi 0.1.0. Saya belum lama ini telah memindahkan beberapa web server berbasis apache ke nginx dan telah menjalankan nginx sebagai reverse proxy untuk web service beberapa bulan terakhir. Saya cukup terkesan dengan performa yang ditawarkan oleh NGINX, sangat terasa bedanya dengan aplikasi web server lainnya. Continue reading “nginx-1.0.0 stable version has been released” »


Konfigurasi IPv6 di NGINX

Sehubungan dengan ditambahkannya IPv6 di server saya, hal yang harus segera saya lakukan adalah dengan meng-enable IPv6 di webserver (NGINX) agar semua domain lebih cihui dengan menggunakan IPv6. Saat ini banyak organisasi telekomunikasi, teknologi informasi yang telah mengaplikasikan IPv6 untuk keperluan sehari-hari mereka, begitu juga dengan corporate tempat saya bekerja yang sedang melakukan improvisasi IPv6 kedalam infrastrukturnya.

NGINX merupakan alternatif web server dari apache yang sudah membumi, namun semenjak saya menggunakan nginx saya cukup terkesan dengan performa NGINX karena memang jauh lebih keren daripada apache, meski untuk urusan modul apache jauh lebih lengkap. NGINX sudah mendukup IPv6 namun secara default module ini harus disertakan pada saat melakukan compile package. Berikut ini adalah step by step bagaimana mengkonfigurasi NGINX dengan dukungan IPv6 dan juga virtualhost dengan menggunakan IPv6…

Langkah pertama adalah memastikan apakah NGINX yang diinstall sudah mendukung IPv6?

$ /usr/sbin/nginx -V
nginx version: nginx/0.8.54
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
TLS SNI support disabled
configure arguments: –prefix=/usr/local/nginx……….  –with-ipv6

Jika terdapat “–with-ipv6” maka nginx telah mendukung IPv6 dan jika tidak ditemukan maka kita dapat melakukan compile ulang dengan menambahkan –with-ipv6 pada saat configure. Selanjutnya adalah mencoba melakukan setting virtualhost agar menggunakan ipv6, langkahnya adalah dengan mengedit konfigurasi virtualhost dengan menambahkan binding port agar listen ke ipv6.

$ sudo vi /usr/local/nginx/conf/vhost/default

server {
listen  80;
listen [::]:80 default ipv6only=on;
listen [::]:443 default ipv6only=on;
server_name _;

“default ipv6only=on” adalah agar port tesebut hanya listen pada ipv6 sehingga tidak bentrok dengan port 80 yang digunakan ipv4, jika default upv4only=on dihilangkan maka akan muncul pesan error seperti dibawah ini:

Starting nginx: [emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:443 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:443 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:443 failed (98: Address already in use)

Oke, next adalah konfigurasi virtualhost untuk spesifik domain agar listen ke ipv6 dan konfigurasinya seperti dibawah ini:

server {
listen      blog.pnyet.web.id:80;
listen [2406:2400:dc7f::d4e7:130]:80;
server_name  blog.pnyet.web.id;

server {
listen      blog.pnyet.web.id:443;
listen [2406:2400:dc7f::d4e7:130]:443;
server_name  blog.pnyet.web.id;

Simpan konfigurasi tersebut diatas dan lihat apakah binding http port dan https port sudah listen ke IPv6, jika sudah maka hasilnya akan seperti ini:

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      32580/nginx.conf
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      32580/nginx.conf
tcp        0      0 :::80                       :::*                        LISTEN      32580/nginx.conf
tcp        0      0 :::443                      :::*                        LISTEN      32580/nginx.conf

Nah, dari tulisan ini saya harapkan agar IPv6 lebih dikenali dan diminati karena semakin menipisnya Ipv4 seperti ozon dibumi :p


apache_nginx

Migrating Web Server From Apache To Nginx

Since two years ago (2007) this blog is hosted by Apache web server, and today I changed out the sofware in web server. I never had a “serious” problem with apache but I heard if nginx is a lightweight, high-performance HTTP server and reverse proxy. Nginx pronounced of engine-x also can handle static HTML, and does very well with dynamic (PHP) content as well. But nginx isn’t ideal for every server, nginx can’t handle SVN or WebDav, I’m still using apache for some situation :D. Continue reading “Migrating Web Server From Apache To Nginx” »


htaccess

pcfg_openfile: unable to check htaccess file, ensure it is readable

Sehari lalu saya memindahkan web server ke mesin yang lebih baik, processor double core dan ram serta harddisk yang lebih besar (sedikit). Setelah migrasi, saya tidak menggunakan konfigurasi web server sebelumnya, namun memang ada perubahan yang cukup signifikan dari web server tersebut dan salah satunya adalah user group. Jika di server sebelumnya, semua file website dimiliki oleh apache selaku owner service http di apache web server. Namun konfigurasi di server baru saya ingin membuat agar kepemilikan root directory virtual host tetap atas nama user. Setelah setup apache dan virtual host selesai, saya bingung sekali, mata udah ngantuk kepala agak pusing, mungkin perlu istirahat? Sebelum tidur saya menemukan error seperti dibawah ini, dan itu membuat saya tidak bisa tidur, oprek sana oprek sini ternyata tidak membuahkan hasil, karena anehnya masalah ini tidak terjadi pada website lainnya :( Continue reading “pcfg_openfile: unable to check htaccess file, ensure it is readable” »


error500

Apache Error 500

Hari ini saya berjanji untuk menyelesaikan setting virtual host untuk fsldk.org, konfigurasi virtual host tidaklah sulit, karena memang di web server sudah ada beberapa domain yang running. Dan fsldk.org sendiri akan dibangun menggunakan CMS Joomla, saya pikir semua akan berjalan baik tanpa masalah, karena existing domain tidak ada masalah sama sekali, namun ternyata ada sedikit masalah… Continue reading “Apache Error 500” »