Node.js adalah lingkungan server sumber terbuka yang menjalankan JavaScript, memungkinkan Anda membangun aplikasi web yang skalabel. Pada artikel ini kita akan membahas cara install Node.js di server WHM/cPanel dan cara deploy aplikasi dari cPanel.
Pada metode ini Anda dianggap memiliki akses root penuh ke server Anda (yaitu VPS atau server khusus) dan Anda telah menginstal cPanel/WHM (panel kontrol berbayar) di server Anda. Harap dicatat bahwa paket hosting dari Hosteko sudah dilengkapi dengan Node.js yang sudah diinstal sebelumnya dan menyertakan Pemilih Node.js di cPanel. Tutorial ini HANYA berlaku untuk VPS atau klien hosting server khusus yang memasang panel kontrol hosting cPanel.
Sebelumnya, cPanel tidak mendukung Node.js, dan pada saat itu, kami perlu menginstal Node.js secara manual, atau kami perlu menginstal CloudLinux di server dengan cPanel untuk mendapatkan dukungan Node.js. Node.js yang diinstal secara manual tidak dapat menyediakan antarmuka yang ramah pengguna untuk mengelola aplikasi, dan jika kami memutuskan untuk menggunakan CloudLinux untuk mendapatkan dukungan Node.js serta user-friendly interface, sehingga kami harus mengeluarkan biaya untuk membeli lisensi Cloudlinux. cPanel mulai mendukung Node.js dari versi 80 dan seterusnya, jadi sekarang kita dapat menginstal Node.js di server melalui EasyApache4 dengan mudah.
Kita perlu mempersiapkan server terlebih dahulu dengan menginstal Node.js di server sebelum men-deploy aplikasi ke server.
Kita memerlukan akses root ke server untuk menginstal Node.js, dan kita dapat melakukan instalasi menggunakan salah satu dari dua metode berikut:
Anda dapat mengikuti perintah berikut dari terminal sebagai pengguna root untuk menginstal node.js di server.
yum install ea-ruby27-mod_passenger ea-ruby27-ruby-devel ea-apache24-mod_env ea-nodejs16
Kita juga dapat menginstal paket dan Node.js yang diperlukan dari WHM >> Home >> Software >> EasyApache4. Saat mengakses EasyApache4 dari panel WHM, Anda akan menemukan tombol ‘Customize’ yang sesuai dengan bagian Paket yang Saat Ini Diinstal atau bagian Profil Saat Ini. Cukup klik tombol Customize.
Saat meng-klik tombol Customize, Anda akan mendapatkan opsi untuk menginstal Apache MPM, Apache Modules, versi PHP, PHP Modules, Ruby via Passenger, dan paket tambahan lainnya. Anda perlu mencari mod_env di Modul Apache dan mengaktifkan tombol di sisi kanan untuk menyertakan paket ini saat mengonfigurasi.
Demikian pula, aktifkan tombol yang sesuai dengan paket ruby27-mod_passenger dan ruby27-ruby-devel di bawah Ruby via Passenger, dan juga untuk paket nodejs16 di bawah Paket tambahan.
Sekarang, Anda perlu mengklik opsi ‘Review’ di sisi kiri agar EasyApache4 dapat menyiapkan paket yang dipilih untuk ditinjau. Setelah meninjau paket, Anda akan menemukan tombol ‘Provision’ di bagian bawah. Anda harus mengklik tombol Provision berwarna biru agar sistem dapat menginstal paket yang dipilih. Silakan tunggu beberapa saat hingga proses persiapan selesai, dan Node.js akan terinstal ketika proses selesai.
Pelanggan dapat men-deploy aplikasi Node.js dari cPanel menggunakan Manajer Aplikasi. Jadi, pertama-tama kita perlu mengaktifkan Manajer Aplikasi di daftar fitur agar klien dapat mengakses opsi Manajer Aplikasi di cPanel. Untuk mengaktifkan Manajer Aplikasi, akses panel WHM dan navigasikan ke WHM >> Home >> Packages >> Feature Manager. Pilih daftar fitur yang diperlukan dari Kelola Daftar Fitur di sisi kanan, lalu klik tombol ‘Edit’.
Sekarang, Anda dapat melihat daftar fitur, dan Anda perlu mencentang kotak di sisi kiri fitur “Application Manager” dan menyimpan perubahannya.
Sekarang, pelanggan dapat menemukan opsi “Application Manager” di cPanel >> Home >> Software >> Application Manager. Selanjutnya, Anda perlu membuat direktori aplikasi di mana saja di bawah direktori home dan membuat/mengunggah file startup di direktori aplikasi. Kami biasanya menggunakan “app.js” sebagai file startup. Seperti contoh berikut:
const http = require('http') const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World! NodeJS \n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Jika Anda membuat file startup dengan nama berbeda, Anda harus mengedit file konfigurasi Apache untuk nama domain tersebut dan menentukan file startup dalam file konfigurasi Apache. Untuk melakukan ini, Anda perlu membuat file penyertaan dan kemudian membangun kembali httpd.
Untuk menentukan nama file baru, lakukan langkah-langkah berikut:
DocumentRoot /home/user/public_html PassengerStartupFile index.js PassengerAppType node PassengerAppRoot /home/user/Application_Directory
Dalam contoh di atas, kami mendefinisikan “index.js” sebagai file startup.
/usr/local/cpanel/scripts/rebuildhttpdconf
/usr/local/cpanel/scripts/restartsrv_httpd
Setelah membuat file startup di direktori aplikasi, Anda dapat mengujinya dari terminal sebagai pengguna. Untuk itu:
Jika semuanya baik-baik saja, Anda dapat menutup kedua tab di terminal dan mendaftarkan aplikasi dengan masuk ke opsi cPanel >> Home >> Software >> Application Manager >> Register Application option. Dalam contoh berikut, kami menggunakan file “app.js” yang diunggah di direktori “public_html” dan akan mengaitkan nama domain “mysite.com” dengan aplikasi tersebut. Setelah mengisi detailnya, Anda perlu mengklik tombol ‘Deploy’.
Akhirnya, semuanya sudah diatur, dan Anda dapat memuat domain di browser favorit Anda untuk mengonfirmasi bahwa semuanya berfungsi dengan baik.
cPanel & WHM juga menawarkan skrip bawaan yang memaksimalkan keamanan partisi /tmp. Hal ini dilakukan…
berikut adalah cara mengatasi error ImunifyAV has not detected any compatible hosting panel as well…
CentOS 7 tidak akan mendapatkan pembaruan apa pun setelah Juni 2024. Selain itu, mirrorlist.centos.org tidak…
DNS di server cyberpanel tidak mau bekerja, di cek pada error log keluar pesan seperti…
saat upgrade cyberpanel, keluar pesan error seperti berikut: django.db.utils.OperationalError: (1045, "Access denied for user 'cyberpanel'@'localhost'…
Untuk melakukan restart cyberpanel lewat SSH silahkan jalankan perintah berikut: systemctl restart lscpd