Knowledge Base Sistem Royalti Minhaj Pustaka Tutorial

Panduan Deployment

K
Knowledge Base
25 Desember 2025
2 views
Tutorial
Artikel untuk: Sistem Royalti Minhaj Pustaka
Aplikasi ini adalah Sistem Informasi Penerbitan & Royalti yang dibangun menggunakan bahasa pemrograman Python dengan framework Flask. Struktur kodenya menggunakan pola desain Modular (Blueprints), yang sangat baik untuk skalabilitas dan pemeliharaan

Cara Deploy Aplikasi Python Flask ke Shared Hosting (cPanel)

Banyak pengguna beranggapan bahwa aplikasi Python memerlukan VPS mahal. Padahal, Anda dapat menjalankan aplikasi seperti Minhaj Pustaka di Shared Hosting biasa yang memiliki fitur cPanel dan Setup Python App.

Ikuti panduan langkah demi langkah berikut untuk instalasi yang sukses.

Persiapan File Lokal

Sebelum mengunggah, pastikan struktur folder Anda bersih dari file sampah seperti __pycache__ atau venv. Struktur folder yang ideal adalah:

  • app/ (Folder aplikasi utama)
  • instance/ (Tempat database royalty.db)
  • requirements.txt
  • passenger_wsgi.py (File jembatan server)

Penting: Anda harus membuat file passenger_wsgi.py secara manual dengan isi sebagai berikut:

import sys, os

# Menambahkan direktori saat ini ke path python
sys.path.append(os.getcwd())

# Import fungsi create_app dari package app
from app import create_app

# Passenger mencari objek bernama 'application'
application = create_app()

Proses Instalasi di cPanel

  1. Upload File:
    Kompres folder proyek menjadi ZIP, upload ke File Manager cPanel (misal ke public_html), lalu ekstrak.
  2. Setup Python App:
    Cari menu "Setup Python App" di cPanel dan buat aplikasi baru:
  • Python Version: Pilih 3.9+ (sesuai requirements.txt).
  • App Root: Lokasi folder ekstrak tadi.
  • Startup File: passenger_wsgi.py
  • Entry Point: application
  1. Instalasi Dependencies:
    Setelah aplikasi dibuat, salin command virtual environment yang muncul di layar, buka Terminal di cPanel, tempel command tersebut, lalu jalankan:
    pip install -r requirements.txt

Konfigurasi Izin (Permissions)

Ini adalah langkah paling krusial untuk database SQLite. Jika terlewat, Anda akan mengalami Internal Server Error.

  • Buka folder instance.
  • Ubah izin file royalty.db menjadi 644 atau 664.
  • Ubah izin folder instance itu sendiri menjadi 755 atau 775.

Terakhir, lakukan Restart pada menu Python App, dan aplikasi Anda siap digunakan.

Terakhir diupdate: 25 Desember 2025