Muhammad Habib Ulil A Salah satu penulis CloudAJA, hobby programming, dan fokus juga di sistem administrator dengan pengalaman beberapa tahun di industri teknologi informasi. Keahlian saya mencakup pengembangan dan manajemen situs web, pemrograman dalam berbagai bahasa seperti PHP, C++, dan Python, serta pengelolaan infrastruktur IT.

Tutorial Deploy Rest API Sederhana dengan Java Spring Boot di cPanel Natanetwork

Dalam tutorial ini, kita akan membahas langkah-langkah untuk melakukan deploy aplikasi REST API berbasis Java Spring Boot ke cPanel yang disediakan oleh Natanetwork. cPanel adalah salah satu layanan hosting yang memudahkan kita dalam mengelola aplikasi berbasis web.

Prasyarat

Sebelum memulai, pastikan Anda sudah memiliki:

  1. Aplikasi Java Spring Boot.
  2. Hosting cPanel di Natanetwork dengan akses ke SSH / Terminal.

Langkah-langkah Deploy

Silahkan login ke akun cpanel hosting kamu terlebih dahulu

Setelah berhasil login, kamu bisa masuk ke menu Java pada bagian fitur esklusif natanetwork. nantinya disana kamu bisa install terlebih dahulu java dan maven untuk mendukung deployment.

Pada tampilan dibawah ini kamu bisa lakukan install dan melihat versi serta status nya apakah sudah aktif atau belum.

Install Java dan Maven

Silahkan pilih versi dan install java terlebih dahulu seperti gambar dibawah ini.

Setelah proses instalasi java, selanjutnya kamu bisa install maven untuk mendukung deployment aplikasi kamu seperti dibawah ini.

Jika proses instalasi java dan maven berhasil, kamu akan mendapatkan pesan atau tampilan pada halaman java kurang lebih seperti gambar dibawah, selain itu jika kamu ingin menghapus instalasi kamu bisa klik tombol uninstall.

Untuk melakukan verifikasi instalasi, kamu bisa jalankan perintah ini untuk melihat versi java yang terinstall melalui terminal cpanel.

Selain melakukan pengecekan versi java, kamu juga bisa cek versi maven untuk memastikan sudah berhasil terinstall.

Membuat Project Java Spring Boot

Selanjutnya kita akan membuat project spring boot baru dengan use case api sederhana. untuk membuat project baru kamu bisa masuk ke situs https://start.spring.io

Pada tutorial ini kita menggunakan konfigurasi seperti dibawah ini:

  • Project: Maven
  • Spring Boot: 3.4.2
  • Project Metadata
    • Group: com.natanet
    • Artifact: api
    • Name: api
    • Description: Simple Rest API project for Spring Boot
    • Package name: com.natanet.api
    • Packaging: Jar
    • Java: 23
  • Dependencies: Spring Web

Setelah itu silahkan klik generate untuk unduh project nya.

Deploy Java Spring Boot

Membuat subdomain untuk project java spring boot melalui menu domains pada cpanel.

Silahkan masuk ke file manager domain / subdomain yang akan dipakai untuk project java spring boot.

Silahkan upload project java spring boot kamu yang sebelumnya sudah di generate.

Setelah proses upload selesai silahkan extract file zip project tersebut seperti gambar dibawah ini.

Selanjutnya kita coba untuk membuat program api sederhana nya. kamu bisa masuk ke path berikut ini dan edit file utama nya. sesuaikan kata berceak tebal sesuai variabel project kamu.

java.natanet.my.id/api/src/main/java/com/natanet/api

Setelah masuk ke halaman editor, replace isinya dengan kode dibawah ini, jangan lupa sesuaikan kata bercetak tebal sesuai dengan nama package kamu.

package com.natanet.api;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;

@SpringBootApplication
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }

    @RestController
    @RequestMapping("/api")
    class HelloWorldController {
        
        @GetMapping("")
        public Map<String, String> sayHello() {
            return Map.of(
                "status", "success",
                "message", "API Index",
                "version", "1.0"
            );
        }
    }
}

Test Project

Masuk ke terminal di cpanel dan arahkan ke folder project kamu

Kita lakukan build dan menjalankan project java spring boot untuk test project yang sudah kita buat.

mvn spring-boot:run

Jika tampilan sudah seperti dibawah ini, artinya project java kamu sudah running.

Supaya bisa di akses melalui domain yang sudah dibuat, silahkan masuk ke halaman domain / subdomain kamu, kemudian buat file .htaccess

Isikan file .htaccess sesuai seperti berikut ini.

Options +FollowSymLinks -Indexes
IndexIgnore *
DirectoryIndex
 
<IfModule mod_rewrite.c>
 RewriteEngine on
  RewriteRule ^(.*)$ http://127.0.0.1:8080/$1 [P]
</IfModule>

Akses halaman domain / subdomain kamu, jika tampilan nya seperti ini maka deploy java spring boot sudah berhasil, namun karena halaman utama nya belum kita set maka menampilkan pesan eror seperti ini.

Kita coba untuk masuk ke path /api, nantinya hasilnya seperti ini. langkah berikutnya kita akan jalankan di port berbeda yang sebelumnya dijalankan dengan port default 8080

Untuk menjalankan / test project java dengan port custom, kamu bisa menggunakan perintah berikut.

mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090

Menjalankan Project

Untuk menjalankan project java spring boot di background, kita akan menggunakan immortal, berikut adalah perintah untuk menjalankan project java di background.

immortal mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090

Setelah dijalankan, kamu bisa cek kembali halaman website kamu.

Untuk menghentikan proses program di background kamu bisa menggunakan perintah berikut ini.

immortalctl stop mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090

Kesimpulan

Dalam tutorial ini, kita telah membahas cara deploy aplikasi Rest API Java Spring Boot di cPanel Natanetwork. Sekarang, aplikasi Spring Boot Anda telah berhasil di-deploy dan dapat diakses melalui domain yang Anda gunakan.

Muhammad Habib Ulil A Salah satu penulis CloudAJA, hobby programming, dan fokus juga di sistem administrator dengan pengalaman beberapa tahun di industri teknologi informasi. Keahlian saya mencakup pengembangan dan manajemen situs web, pemrograman dalam berbagai bahasa seperti PHP, C++, dan Python, serta pengelolaan infrastruktur IT.

Leave a Reply

Your email address will not be published. Required fields are marked *