Cara Deploy Aplikasi Berbasis Python di Shared Hosting cPanel
Pengantar
Tren penggunaan aplikasi berbasis Python di dunia web hosting semakin meningkat. Python dikenal sebagai bahasa pemrograman yang sederhana, fleksibel, dan memiliki banyak framework populer seperti Flask dan Django. Banyak developer memilih Python karena proses pengembangannya cepat serta didukung oleh ribuan library yang siap pakai untuk berbagai kebutuhan, mulai dari web application hingga data processing.
Saat ini, banyak layanan shared hosting berbasis cPanel sudah mendukung Python melalui fitur Setup Python App. Dengan adanya fitur ini, pengguna tidak perlu lagi menyewa VPS hanya untuk menjalankan aplikasi Python sederhana. Deploy aplikasi Python di cPanel menjadi lebih mudah, praktis, dan ramah untuk pemula, asalkan mengikuti langkah konfigurasi yang benar.
Mengenal Fitur Python di cPanel
Setup Python App adalah fitur bawaan cPanel yang digunakan untuk menjalankan aplikasi berbasis Python pada layanan hosting. Fitur ini bekerja dengan bantuan Phusion Passenger, sehingga pengguna dapat menjalankan aplikasi Python tanpa perlu melakukan konfigurasi server secara manual.
Melalui Setup Python App, pengguna dapat memilih versi Python yang ingin digunakan, membuat virtual environment secara otomatis, serta mengatur lokasi aplikasi dan domain melalui tampilan visual di cPanel. Fitur ini sangat membantu terutama bagi pengguna shared hosting yang memiliki keterbatasan akses sistem.
Versi Python yang tersedia di cPanel bergantung pada penyedia hosting masing-masing. Umumnya, versi yang disediakan berada pada rentang Python 3.7 hingga Python 3.10. Semakin baru versi cPanel dan sistem hosting yang digunakan, biasanya semakin lengkap pula pilihan versi Python yang tersedia.
Meskipun sudah menyediakan beberapa modul bawaan, perlu diketahui bahwa fitur Python di cPanel memiliki keterbatasan. Tidak semua package Python dapat diinstall, khususnya library yang membutuhkan akses sistem, compiler tambahan, atau dependensi level server. Oleh karena itu, aplikasi Python yang dijalankan di shared hosting sebaiknya bersifat ringan dan tidak terlalu kompleks.
Agar fitur Python dapat digunakan dengan optimal, terdapat beberapa kebutuhan minimum hosting yang harus dipenuhi. Hosting harus menggunakan versi cPanel terbaru, mendukung fitur Setup Python App, serta idealnya memiliki akses SSH. Meskipun SSH bersifat opsional, keberadaannya sangat membantu dalam proses instalasi library dan troubleshooting aplikasi Python.
Persiapan Sebelum Setup
- Akses cPanel aktif
Pastikan akun hosting kamu aktif dan bisa login ke cPanel tanpa kendala. - Menyiapkan source code aplikasi Python
Siapkan source code aplikasi Python yang sudah berjalan secara lokal, baik itu Flask atau Djang - Struktur folder aplikasi
Contoh struktur sederhana:- app/
- app.py
- requirements.txt
- passenger_wsgi.py
- static/
- templates/
- app/
- Menentukan domain atau subdomain
Disarankan menggunakan subdomain khusus, misalnya:- python.domainkamu.com
agar lebih rapi dan mudah dikelola.
- python.domainkamu.com
Cara Membuat Python App di cPanel
-
Masuk ke menu Setup Python App
Login ke cPanel, lalu cari menu Setup Python App di bagian Software.
- Pilih Create Application
Untuk Menjalankan Application phyton bisa klik Create Apllication terlebih dahulu
-
Memilih versi Python
Pilih versi Python yang kompatibel dengan aplikasi kamu.
-
Menentukan application root
Application root adalah folder utama aplikasi, misalnya:
-
Menentukan application URL
Pilih domain atau subdomain yang sudah kamu siapkan sebelumnya.
- Tampilan Jika proses pembuatan berhasil
Jika proses pembuatan berhasil, di bagian atas halaman akan muncul instruksi untuk masuk ke environment Python yang telah dibuat.Hasil
- Setelah instalasi Python selesai,
coba akses URL Python yang telah dikonfigurasi.
Jika Python sudah terpasang dengan benar, halaman akan menampilkan tampilan seperti pada screenshot berikut.
Penjelasan : Phyton berhasil berjalan
Deploy Aplikasi Flask di cPanel
-
Masuk ke Virtual Environment Python
Buka menu Setup Python App di cPanel, lalu salin perintah untuk masuk ke virtual environment Python.
Paste perintah tersebut ke terminal SSH lalu tekan Enter.
-
Akses Server Menggunakan SSH

-
Upgrade pip
pip install --upgrade pip -
Install Flask
pip install flask -
Cek Instalasi Flask
python -c "import flask; print(flask.__version__)" -
Membuat File Aplikasi Flask
Buat file app.py :nano /home/username-cpanel/nama-aplikasi-python/app.pyIsi dengan contoh berikut:
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hello World. Ini adalah aplikasi Flask di cPanel" if __name__ == "__main__": app.run() -
Konfigurasi passenger_wsgi.py untuk Flask
Edit file passenger_wsgi.py:nano /home/username-cpanel/nama-aplikasi-python/passenger_wsgi.pyIsi dengan konfigurasi berikut:
import sys sys.path.insert(0, "/home/username-cpanel/nama-aplikasi-python") from app import app as application -
Restart Aplikasi Python
Kembali ke menu Setup Python App lalu klik tombol Restart.
-
Akses Domain di Browser
Buka domain aplikasi di browser:
Deploy Aplikasi Django di cPanel
-
Masuk ke Virtual Environment Python
Buka menu Setup Python App di cPanel, lalu salin perintah untuk masuk ke virtual environment Python yang sudah dibuat.
Paste perintah tersebut ke terminal SSH, lalu tekan Enter.
Perintah ini bertujuan agar semua instalasi Django dilakukan di environment Python yang benar.
- Akses Server Menggunakan SSH

- Upgrade pip
Setelah masuk ke virtual environment, masuk kedalam terminal kemudian jalankan perintah berikut untuk memperbarui pip:
pip install --upgrade pip -
Install Django
Jika proses upgrade pip selesai, lanjutkan dengan menginstall Django menggunakan perintah:pip install django -
Cek Instalasi Django
Untuk memastikan Django berhasil terinstall, jalankan perintah:python -m django --version -
Membuat Project Django
-
Membuat Project Baru
Setelah Django terinstall, buat project baru dengan perintah:django-admin startproject nama_projectPastikan nama project tidak menggunakan spasi.
-
- Konfigurasi passenger_wsgi.py untuk Django
-
Edit File passenger_wsgi.py
Agar Django bisa dijalankan di cPanel, kita perlu menyesuaikan file passenger_wsgi.py.
Edit file tersebut dengan perintah:nano /home/username-cpanel/nama-aplikasi-python/passenger_wsgi.py -
Isi file dengan konfigurasi berikut (sesuaikan path dan nama project):
import sys sys.path.insert(0, "/home/username-cpanel/nama-aplikasi-python/nama_project") import os os.environ['DJANGO_SETTINGS_MODULE'] = 'nama_project.settings' from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
-
- Konfigurasi Django Settings
- Edit File settings.py
Masuk ke file settings.py dengan perintah:
nano /home/username-cpanel/nama-aplikasi-python/nama_project/nama_project/settings.py - Ubah dan sesuaikan bagian berikut:
ALLOWED_HOSTS = ['nama-domain-anda'] STATIC_URL = '/' - Tambahkan konfigurasi berikut di bagian paling bawah:
STATIC_ROOT = '/home/username-cpanel/nama-aplikasi-python/nama_project/public/'
- Edit File settings.py
- Collect Static File
- Masuk ke folder project Django, lalu jalankan perintah:
python manage.py collectstaticPerintah ini berfungsi untuk mengumpulkan file static Django ke folder yang sudah ditentukan.
- Masuk ke folder project Django, lalu jalankan perintah:
- Contoh Aplikasi Django Sederhana
- Membuat View Hello World
Edit file views.py dengan perintah:
nano /home/username-cpanel/nama-aplikasi-python/nama_project/nama_project/views.py - Isi dengan contoh berikut:
from django.http import HttpResponse def index(request): return HttpResponse("Hello World. Ini adalah aplikasi Django di cPanel")
- Membuat View Hello World
- Konfigurasi URL Django
- Edit file urls.py:
nano /home/username-cpanel/nama-aplikasi-python/nama_project/nama_project/urls.py - Untuk Django versi di bawah 4:
from django.conf.urls import url from django.contrib import admin from . import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index, name='index'), ] - Untuk Django versi 4 ke atas:
from django.urls import re_path as url from django.contrib import admin from . import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index, name='index'), ] - jalankan perintah berikut di folder /home/username-cpanel/nama-aplikasi-python/nama-project untuk melakukan migrations Django
python manage.py migrate - kemudian kembali kedalam app phyton klik restart

- Kemudian akses Domain di browser

- Edit file urls.py:
Troubleshooting
Dalam proses deploy aplikasi Python (Flask atau Django) di cPanel, beberapa error sering terjadi terutama bagi pemula. Berikut adalah error yang paling umum beserta penyebab dan solusi yang bisa dilakukan.
- Internal Server Error (500)
Error ini biasanya muncul ketika aplikasi gagal dijalankan oleh server.Penyebab:
- Kesalahan pada file passenger_wsgi.py
- Error pada settings.py (Django)
- Library belum terinstall
- Salah path folder aplikasi
Solusi:
- Cek file log error melalui:
- cPanel → Metrics → Errors
- File eror_log di folder aplikasi
- Pastikan isi passenger_wsgi.py sudah benar, contoh:
import sys sys.path.insert(0, "/home/username/appname") from app import app as application - Module Not Found (ImportError / ModuleNotFoundError)
Biasanya muncul pesan seperti:ModuleNotFoundError: No module named 'django'Penyebab:
- Library belum terinstall di virtual environment
- Install package di environment yang salah
Solusi:
- Aktifkan virtual environment terlebih dahulu:
source /home/username/virtualenv/appname/3.8/bin/activate- Install ulang dependency:
pip install django - Permission Denied
Error ini terjadi karena file atau folder tidak memiliki izin akses yang benar.Penyebab:
- Permission file terlalu ketat
- Folder tidak bisa diakses oleh web server
Solusi:
- Set permission standar:
find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;Pastikan folder aplikasi dan file passenger_wsgi.py bisa dibaca server.
- Salah Konfigurasi passenger_wsgi.py
File passenger_wsgi.py adalah kunci agar Python bisa dijalankan oleh cPanel (Phusion Passenger).Kesalahan Umum:
- Path folder salah
- Nama project tidak sesuai
- Typo pada nama module
Contoh konfigurasi Django yang benar:
import sys import os sys.path.insert(0, "/home/username/appname/nama_project") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "nama_project.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() - Dependency Gagal Terinstall
Tidak semua library Python bisa diinstall di shared hosting.Penyebab:
- Package membutuhkan compiler
- Butuh akses root
- Tidak didukung di shared hosting
Solusi:
- Gunakan library yang ringan
- Hindari package sistem level (TensorFlow, OpenCV, dll)
- Gunakan perintah berikut:
pip install --user nama_package
Penutup
Deploy aplikasi Python di shared hosting cPanel kini semakin mudah berkat fitur Setup Python App. Dengan fitur ini, pengguna tidak perlu lagi menyewa VPS hanya untuk menjalankan aplikasi Python sederhana. Proses deploy meliputi pembuatan environment Python di cPanel, pengaturan domain dan folder aplikasi, instalasi dependency menggunakan pip, konfigurasi file passenger_wsgi.py, hingga menjalankan aplikasi langsung melalui browser. Beberapa framework Python yang direkomendasikan untuk digunakan di shared hosting antara lain Flask yang ringan dan sederhana, Django yang lengkap dan stabil untuk web application, serta FastAPI (dengan keterbatasan tertentu) untuk membangun API sederhana.
Namun perlu diingat bahwa shared hosting memiliki keterbatasan resource. Oleh karena itu, sangat penting untuk melakukan maintenance aplikasi secara berkala, memperbarui dependency demi menjaga keamanan, serta memantau error log dan performa aplikasi. Jika aplikasi sudah berkembang dan membutuhkan resource yang lebih besar, disarankan untuk migrasi ke VPS atau cloud server agar performa dan fleksibilitas pengelolaan aplikasi menjadi lebih optimal. Dengan konfigurasi yang tepat dan pemahaman dasar tentang Python hosting di cPanel, kamu sudah dapat menjalankan aplikasi Python secara online dengan aman dan stabil.


