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 clone akan mengunduh source code LuaJIT versi terbaru. Perintah make && make install akan 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 path LUAJIT_LIB menjadi /usr/local/lib dan LUAJIT_INC menjadi /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 export di atas ke dalam file ~/.bashrc atau ~/.bash_profile milikmu.

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

Apakah menginstal LuaJIT secara manual akan mengganggu instalasi Nginx yang sudah ada?

Tidak. Kita hanya menambahkan library dan file header, bukan mengubah file biner Nginx itu sendiri. Nginx-mu akan tetap aman.

Saya sudah melakukan 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.

Lebih disarankan mana, pakai Nginx manual atau OpenResty?

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.

Apakah error ini hanya terjadi pada sistem operasi tertentu?

Tidak. Error ini bisa terjadi di CentOS, Ubuntu, Debian, maupun Alibaba Cloud Linux. Akarnya sama, yaitu dependensi LuaJIT yang tidak terpenuhi.

About the Author

Dzul Qurnain

Suka nonton Anime, ngoding dan bagi-bagi tips kalau tahu.. Oh iya, suka baca ( tapi yang menarik menurutku aja)... Praktisi WordPress, web development, SEO, dan server administration yang membagikan tutorial teknis dan catatan implementasi nyata.

View All Articles