Layar Terminal-mu Tiba-tiba Menampilkan Error Merah Itu…
Kamu sedang bersemangat menambahkan modul ke Nginx—mungkin untuk WAF atau optimasi caching—lalu tiba-tiba proses configure berhenti. Di layar muncul pesan:
checking for LuaJIT 2.x ... not found
./configure: error: unsupported LuaJIT version; ngx_http_lua_module requires LuaJIT 2.x.
Jantung langsung berdetak lebih kencang, apalagi kalau downtime website tinggal menghitung menit. Tenang, kamu tidak sendirian. Hampir semua pengguna aaPanel yang mencoba mengutak-atik modul Nginx pernah mengalami hal ini. Masalah ini bukan karena konfigurasimu salah total—ini hanyalah masalah LuaJIT yang hilang atau tidak dikenali.
Kabar baiknya: memperbaikinya tidak serumit yang kamu bayangkan. Kita akan tuntaskan masalah ini dalam 3 langkah mudah.
Mengapa Error “Unsupported LuaJIT” Bisa Muncul di aaPanel?
Sebelum masuk ke solusi, penting untuk memahami akar masalahnya. Dengan begitu, kamu tidak akan mengulangi kesalahan yang sama di masa depan.
Apa Itu LuaJIT dan Kenapa Nginx Sangat Membutuhkannya?
LuaJIT adalah Just-In-Time Compiler untuk bahasa pemrograman Lua. Singkatnya, ini adalah mesin penerjemah kode Lua yang sangat cepat. Ketika Nginx ingin menjalankan modul berbasis Lua (seperti ngx_http_lua_module untuk WAF atau aturan dinamis), ia membutuhkan library LuaJIT versi 2.x.
Tanpa LuaJIT versi 2.x yang terdeteksi, Nginx menolak melanjutkan proses configure. Ini adalah mekanisme keamanan internal Nginx untuk memastikan semua dependensi tersedia sebelum kompilasi. Jika dibiarkan, modul Lua yang kamu inginkan tidak akan berfungsi.
Kenapa Error Ini Spesifik Terjadi di aaPanel?
aaPanel, sebagai panel kontrol server yang praktis, seringkali menginstal Nginx dengan konfigurasi minimal. Ia tidak selalu menyertakan library LuaJIT dalam package bawaannya, terutama ketika Nginx diinstal menggunakan metode “Quick Install” alih-alih “Compile Install”. Akibatnya, saat kamu ingin menambahkan modul Lua secara manual, Nginx kebingungan mencari library LuaJIT yang sebenarnya tidak ada di sistem.
Perbedaan Utama:
- Quick Install: Instalasi biner siap pakai, jarang menyertakan header files untuk kompilasi modul tambahan.
- Compile Install: Mengunduh source code dan mengkompilasinya. Opsi ini biasanya menyediakan environment yang lebih lengkap untuk penambahan modul kustom.
Dengan kata lain, masalah ini bukan bug di aaPanel atau Nginx, melainkan dependensi yang belum terpenuhi.
Solusi Langkah demi Langkah Mengatasi Unsupported LuaJIT
Ikuti langkah-langkah berikut dengan hati-hati. Kamu akan bisa mengatasi error unsupported LuaJIT aaPanel ini dalam waktu kurang dari 10 menit.
1. Pasang LuaJIT Secara Mandiri (Kompilasi Sendiri)
Kita akan memasang LuaJIT langsung dari source code-nya. Jangan khawatir, proses ini hanya menyalin dan menempel beberapa perintah. Ini adalah cara paling akurat untuk memastikan semua file header tersedia.
Buka terminal server-mu (via SSH atau terminal bawaan aaPanel) dan jalankan:
git clone https://luajit.org/git/luajit.git
cd luajit
make && make install
- Penjelasan:
git cloneakan mengunduh source code LuaJIT versi terbaru. Perintahmake && make installakan mengkompilasi dan memasangnya ke direktori default (/usr/local). - Tips Pro: Jika kamu ingin memasangnya di direktori khusus (misalnya di dalam folder server aaPanel), gunakan perintah berikut. Ini akan memudahkan kita dalam mengatur path-nya nanti:
make PREFIX=/www/server/add/luaJIT && make install PREFIX=/www/server/add/luaJIT
2. Setel Variable Global Agar Nginx “Melihat” LuaJIT
Ini adalah langkah krusial yang seringkali terlewat. Setelah berhasil memasang LuaJIT, kamu tidak bisa langsung menjalankan ./configure milik Nginx. Nginx perlu tahu di mana kamu menaruh file library dan header file LuaJIT.
Jalankan dua perintah export berikut. Sesuaikan path-nya dengan lokasi instalasi LuaJIT-mu:
export LUAJIT_LIB=/www/server/add/luaJIT/lib
export LUAJIT_INC=/www/server/add/luaJIT/include/luajit-2.1
- Penting: Jika kamu menggunakan path default (
/usr/local), maka pathLUAJIT_LIBmenjadi/usr/local/libdanLUAJIT_INCmenjadi/usr/local/include/luajit-2.1. - Wawasan Pakar (Yang Sering Terlewat): Kedua variable ini hanya berlaku untuk sesi terminal saat ini. Jika kamu menutup terminal dan membukanya lagi, pengaturan ini akan hilang. Untuk membuatnya permanen, tambahkan dua baris
exportdi atas ke dalam file~/.bashrcatau~/.bash_profilemilikmu.
3. Verifikasi dan Jalankan Ulang Konfigurasi Nginx
Sekarang, masuk ke direktori instalasi Nginx kamu dan coba jalankan kembali ./configure dengan parameter modul yang diinginkan. Seharusnya error “unsupported LuaJIT version” sudah hilang.
Setelah ./configure berhasil, lanjutkan dengan make untuk mengkompilasi ulang Nginx dengan modul baru, lalu restart layanan Nginx melalui menu App Store di aaPanel.
Tips Lanjutan: Mencegah Masalah dan Alternatif OpenResty
Setelah masalah teratasi, kamu bisa mempertimbangkan langkah jangka panjang agar tidak menemui kendala serupa.
Pertimbangkan Beralih ke OpenResty
Jika proyekmu sangat bergantung pada Lua (misalnya untuk WAF kompleks, rate limiting, atau dynamic routing), menggunakan OpenResty adalah pilihan yang jauh lebih elegan. OpenResty adalah platform web yang sudah mengintegrasikan Nginx versi terbaru dengan LuaJIT secara built-in.
Dengan OpenResty, kamu tidak perlu repot mengkompilasi LuaJIT secara terpisah. Di aaPanel, kamu bisa menginstal OpenResty langsung dari App Store sebagai pengganti Nginx standar. Ini adalah trik yang sering dipakai system administrator untuk menghindari konflik dependensi seperti ini.
Periksa Kompatibilitas Versi
Pastikan versi LuaJIT yang kamu unduh kompatibel dengan versi modul ngx_http_lua_module yang akan dipakai. Umumnya, LuaJIT 2.1 (versi terbaru dari branch v2.1) adalah yang paling direkomendasikan.
Saatnya Bernapas Lega dan Kembali Berkarya
Error “unsupported LuaJIT version” di aaPanel memang menjengkelkan, tetapi seperti yang sudah kamu lihat, solusinya cukup sederhana. Kuncinya ada pada pemasangan LuaJIT secara mandiri dan pemberitahuan path-nya ke Nginx melalui export. Sekarang, konfigurasi Nginx-mu seharusnya sudah berjalan mulus dan siap diperkuat dengan modul-modul canggih.
FAQ Seputar Error LuaJIT di aaPanel
Tidak. Kita hanya menambahkan library dan file header, bukan mengubah file biner Nginx itu sendiri. Nginx-mu akan tetap aman.
export, tapi setelah restart error muncul lagi. Kenapa? Itu karena export hanya bersifat sementara. Kamu harus menambahkan baris export LUAJIT_LIB=... dan export LUAJIT_INC=... ke file ~/.bashrc (untuk user) atau ke file init script Nginx di aaPanel.
Tergantung kebutuhan. Jika hanya perlu satu dua modul Lua, Nginx manual cukup. Namun, jika aplikasimu mengandalkan banyak skrip Lua, OpenResty adalah fondasi yang lebih kokoh dan minim drama dependensi.
Tidak. Error ini bisa terjadi di CentOS, Ubuntu, Debian, maupun Alibaba Cloud Linux. Akarnya sama, yaitu dependensi LuaJIT yang tidak terpenuhi.



