Apa yang bisa kami bantu?

A. Pendahuluan

Strapi adalah headless CMS berbasis Node.js yang otomatis menghasilkan REST API dan GraphQL API dari konten yang kita buat. Dengan Strapi, pengembang bisa dengan cepat membangun backend dan API tanpa coding berulang. Kita juga bisa menulis controller, service, dan route custom dalam JavaScript/TypeScript untuk menambah logika sendiri. Strapi mendukung berbagai database (PostgreSQL, MySQL, MariaDB, SQLite) sehingga fleksibel untuk banyak kebutuhan.

System requirement utama (versi terbaru):

  • Node.js: versi LTS ≥ 18.x 
  • npm: ≥ 6 (biasanya terinstall bersama Node.js)
  • Database: SQLite (default), atau MySQL ≥ 5.7 / MariaDB ≥ 10.3 / PostgreSQL ≥ 12
  • RAM: minimal 2 GB untuk development, lebih besar untuk production
  • OS: Linux, macOS, atau Windows (64-bit)

Jadi pastikan Node.js LTS dan database yang sesuai sudah terpasang sebelum menjalankan Strapi.

 

B. Instalasi

1. Pastikan Anda melakukan update dan upgrade dependency ubuntu dahulu.

sudo su
apt update && apt upgrade -y

2. Lalu install nodejs versi 20 keatas.

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Gambar 1: Versi Nodejs

3. Lalu install database Mysql serta setup database untuk strapapi.

sudo apt install mysql-server -y
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE strapi_db;
CREATE USER 'strapi_user'@'localhost' IDENTIFIED BY 'passwordAnda';
GRANT ALL PRIVILEGES ON strapi_db.* TO 'strapi_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Gambar 2: Instalasi dan Setup Database

 

Gambar 3: Membuat database untuk strapapi

 

Catatan: Pada bagian passwordAnda dapat disesuaikan dengan password yang ingin digunakan.

 

4. Setelah pembuatan database selesai, Anda bisa menjalankan command untuk instalasi project strapapi, berikut command nya:

 

npx create-strapi@latest
Gambar 4: Setup project Strapapi

Berikut detail setup dan keterangannya:

  • Please log in or sign up : Melewati proses login/registrasi Strapi Cloud, hanya instalasi lokal.
  • Do you want to use the default database (sqlite)? : database yang ingin digunakan, karena pada panduan kali ini menggunakan Mysql, jadi pilih N
  • Choose your default database client : Memilih tipe database yang akan digunakan (di sini MySQL).
  • Database name : Nama database MySQL yang akan digunakan/dibuat Strapi.
  • Host : Alamat server database (misal 127.0.0.1 untuk lokal).
  • Port : Port koneksi database (default MySQL 3306).
  • Username : User MySQL yang digunakan Strapi untuk koneksi.
  • Password : Kata sandi pengguna MySQL tersebut.
  • Enable SSL connection : Menentukan apakah koneksi database memakai SSL/TLS (No = tidak) karena mysql hanya listen secara lokal.
  • Start with an example structure & data? : Mengaktifkan pembuatan struktur & data contoh bawaan Strapi.
  • Start with Typescript? : Menentukan apakah project dibuat dengan TypeScript (No = pakai JavaScript).
  • Install dependencies with npm? : Menginstruksikan npm untuk langsung menginstall semua dependensi.
  • Initialize a git repository? : Membuat repositori Git di folder project secara otomatis.
  • Participate in anonymous A/B testing (to improve Strapi)? : Menentukan apakah akan mengirim data penggunaan anonim untuk pengembangan Strapi (No = tidak).

5. Jika instalasi project strapapi sudah selesai, maka akan muncul tampilan berikut.

Gambar 5: Instalasi strapapi selesai

 

6. Jalankan command berikut ini untuk menjalankan strapapi mode develop untuk build app nya

npm run develop
http://IP_SERVER:1337/admin
Gambar 6: Profile admin strapi
Gambar 7: Detail project strapi pada developer mode

 

 

7. Jika Anda ingin menggunakan mode production, maka Anda perlu menginstall pm2 agar strapapi bisa berjalan di background dan nginx reverse proxy sebagai front end. Anda bisa masuk ke directory Project Strapapi lalu jalankan command berikut.

NODE_ENV=production npm run build
pm2 start npm --name strapi -- run start
Gambar 8.Status project strapapi

Jalankan comand berikut untuk instalasi certbot (lets encrypt) dan nginx

sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo systemctl enable nginx
sudo systemctl start nginx

Lalu konfigurasi serverblock nginx dahulu menggunakan struktur berikut di /etc/nginx/sites-available/strapi.conf

server {
    listen 80;
    server_name domainkamu.com www.domainkamu.com;

    location / {
        proxy_pass http://127.0.0.1:1337;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Catatan: Pada bagian servername bisa diubah menjadi nama domain Anda.

Save dan reload nginx nya dahulu.

sudo ln -s /etc/nginx/sites-available/strapi.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

 

Lalu jalankan command berikut untuk generate free ssl dari certbot (pastikan domain Anda sudah diarahkan ke layanan/VPS.

sudo certbot --nginx -d domainkamu.com --register-unsafely-without-email

Jika certbot berhasil ter-install, maka konfigurasi nginx akan otomatis ter-update menggunakan ssl dari certbot dan Anda bisa mengakses website strapi menggunakan http/https.

Gambar 9: Install certbot

 

Berikut adalah hasil akses form login admin dan dashboard strap api js menggunakan https.

Gambar 10: Form Login

 

Gambar 11: Dashboard strap api admin

C. Penutup

Strapi adalah headless CMS berbasis Node.js yang memudahkan pengembang membuat dan mengelola API dengan cepat dan fleksibel. Ia menyediakan antarmuka admin berbasis web untuk mengatur konten, autentikasi, dan relasi data, serta mendukung berbagai database (seperti MySQL, PostgreSQL, MongoDB, dan SQLite). Dengan pendekatan headless, Strapi hanya mengurus backend dan API, sehingga frontend bisa bebas dibangun dengan teknologi apa saja (React, Vue, Angular, dsb). Ini membuat Strapi populer untuk proyek modern yang butuh backend cepat, scalable, dan mudah dikustomisasi.

 

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567