Menghubungkan aplikasi Flask ke database di hosting sering kali menjadi tantangan tersendiri, terutama bagi Anda yang baru pertama kali deploy ke server cPanel. Kesalahan konfigurasi sedikit saja bisa menyebabkan aplikasi gagal berjalan atau muncul error koneksi. Karena itu, memahami cara setting koneksi database Flask dengan benar menjadi langkah penting agar aplikasi dapat berjalan sesuai kebutuhan.
Dengan konfigurasi yang tepat, Anda tidak hanya memastikan aplikasi terhubung ke database MySQL dengan aman, tetapi juga mengoptimalkan performanya di server produksi. Dalam artikel ini, kami akan membahas langkah demi langkah cara melakukan setting koneksi database Flask di cPanel Hosting secara jelas dan mudah dipahami.
Membuat Aplikasi Python di cPanel
Sebelum melakukan setting koneksi database Flask, langkah pertama yang perlu dilakukan adalah membuat aplikasi Python terlebih dahulu melalui fitur Setup Python App di cPanel. Fitur ini memungkinkan Anda menjalankan aplikasi berbasis Python (termasuk Flask) langsung di hosting tanpa perlu konfigurasi server secara manual.
Berikut langkah-langkah yang bisa Anda ikuti:
- Login ke cPanel
- Buka menu Setup Python App
- Klik Create Application
- Isi konfigurasi
- Klik Create
Setelah aplikasi dibuat, cPanel akan otomatis membuat virtual environment.
Selengkapnya tentang cara membuat database di cPanel bisa Anda pelajari melalui link berikut : Cara setup Flask di cPanel
Membuat Database MySQL
Setelah aplikasi Python berhasil dibuat di cPanel, langkah berikutnya adalah menyiapkan database yang akan digunakan oleh Flask. Database ini berfungsi sebagai tempat penyimpanan data aplikasi, seperti data user, produk, transaksi, dan lainnya.
Anda dapat membuat database melalui menu MySQL® Databases yang tersedia di cPanel. Berikut langkah-langkahnya:
- Login ke cPanel hosting Anda.
- Klik menu Databases.
- Klik tombol create database, lalu masukkan nama database yang akan dibuat.
- Selanjutnya, buat user database dan masukkan password usernya.
- Langkah terakhir, berikan privilege user database.
Selengkapnya tentang cara membuat database di cPanel bisa Anda pelajari melalui link berikut : cara membuat database di cpanel
Jangan lupa untuk menyimpan informasi berupa :
- Name Database
- Username
- Password
- Hostname (defaultnya menggunakan
localhost)
Dengan database dan user yang sudah dikonfigurasi, Anda sudah siap melanjutkan ke tahap setting koneksi database Flask di dalam file konfigurasi aplikasi.
Install Library yang Dibutuhkan
Langkah selanjutnya adalah menginstal library yang dibutuhkan oleh aplikasi Python Anda. Proses ini dapat dilakukan melalui akses SSH atau melalui menu Terminal yang tersedia di cPanel hosting.
Sebelum melakukan instalasi, pastikan Anda mengetahui lokasi direktori aplikasi (Application Root). Informasi ini dapat dilihat pada halaman Setup Python App di cPanel, tepatnya pada bagian detail aplikasi yang telah Anda buat. Di sana akan terlihat path atau source directory yang digunakan oleh aplikasi tersebut.

Lalu masuk ke SSH dan jalankan command:
pip install flask pymysql
Tunggu hingga proses instalasi Flask MySQL berhasil dan muncul tulisan Successfully installed pymysql-1.1.2.
Membuat File konfigurasi
Untuk menghubungkan aplikasi Flask dengan database MySQL di hosting, diperlukan sebuah file konfigurasi database. File ini berfungsi untuk menyimpan informasi koneksi database yang akan digunakan oleh aplikasi.
Apabila sebelumnya sudah tersedia file konfigurasi database, kamu dapat menyesuaikannya dengan kebutuhan aplikasi Flask. Beberapa data penting yang harus disiapkan meliputi host database, username database, password database, serta nama database. Pada panduan ini, file konfigurasi database akan dibuat dengan nama config.py.
from flask import Flask, render_template, request, redirect, url_for, session
import pymysql
app = Flask(__name__)
app.secret_key = 'secretkey123'
def get_db_connection():
return pymysql.connect(
host='localhost',
user='user database',
password='password database',
database='nama database',
cursorclass=pymysql.cursors.DictCursor
)
@app.route('/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
conn = get_db_connection()
cur = conn.cursor()
cur.execute(
"SELECT * FROM users WHERE username=%s AND password=%s",
(username, password)
)
user = cur.fetchone()
conn.close()
if user:
session['login'] = True
session['username'] = user['username']
return redirect(url_for('dashboard'))
else:
return 'Login gagal'
return render_template('login.html')
@app.route('/dashboard')
def dashboard():
if 'login' not in session:
return redirect(url_for('login'))
return render_template('dashboard.html', user=session['username'])
@app.route('/logout')
def logout():
session.clear()
return redirect(url_for('login'))
Nantinya pada bagian database yang di ubah:

Menjalankan Flask Python di Hosting
Sebelum melanjutkan, silakan masuk terlebih dahulu ke folder aplikasi yang telah dibuat sebelumnya. Pada contoh ini, folder aplikasi tersebut diberi nama “templates”, sehingga perintah yang digunakan adalah:
cd templates/Setelah berada di dalam folder tersebut, unggah file script aplikasi Flask Python ke folder tersebut. Proses upload dapat dilakukan menggunakan FileZilla (FTP) atau melalui File Manager yang tersedia di hosting. Pastikan juga untuk menjalankan file konfigurasi database yang telah dibuat sebelumnya. Proses menjalankan file tersebut dapat dilakukan dengan perintah berikut:
python config.pyMenambahkan Aplikasi di Passenger
Setelah seluruh file aplikasi berhasil diunggah ke hosting, langkah selanjutnya adalah menyesuaikan file passenger_wsgi.py agar dapat menjalankan aplikasi Flask yang telah dibuat. File ini berfungsi sebagai penghubung antara aplikasi Python dengan web server melalui antarmuka WSGI (Web Server Gateway Interface), yang digunakan oleh Passenger.
Pada contoh kali ini, aplikasi Flask berada di dalam file config.py, sehingga objek app dari file tersebut perlu dipanggil pada passenger_wsgi.py. Penyesuaian ini dilakukan agar Passenger mengetahui aplikasi Python mana yang harus dijalankan.
Berikut adalah contoh konfigurasi passenger_wsgi.py yang digunakan:
import sys
import os
project_home = '/home/sadr1605/testing'
if project_home not in sys.path:
sys.path.insert(0, project_home)
activate_env = '/home/sadr1605/virtualenv/testing/3.9/bin/activate_this.py'
with open(activate_env) as f:
exec(f.read(), {'__file__': activate_env})
from config import app as application
Pada konfigurasi di atas:
- Variabel project_home digunakan untuk menentukan lokasi direktori aplikasi Flask.
- Virtual environment diaktifkan agar aplikasi dapat menggunakan library Python yang telah diinstal sebelumnya
- Baris from config import app as application berfungsi untuk memanggil aplikasi Flask agar dapat dijalankan oleh Passenger
Setelah seluruh konfigurasi selesai dan data koneksi sudah disesuaikan, langkah berikutnya adalah melakukan restart aplikasi. Caranya, silakan masuk ke menu Setup Python App di cPanel hosting Anda, kemudian klik tombol Restart pada aplikasi yang bersangkutan. Tunggu hingga proses restart selesai.
Setelah itu, coba akses domain atau URL aplikasi Anda melalui browser. Jika halaman dapat ditampilkan tanpa error, berarti setting koneksi database Flask telah berhasil dan aplikasi sudah terhubung dengan database dengan benar. Apabila masih muncul error, silakan periksa kembali konfigurasi database (hostname, username, password, dan nama database) serta pastikan seluruh library sudah terinstal dengan baik.
Penutup
Melalui panduan ini, Anda sudah belajar cara membangun aplikasi Flask yang terhubung ke database MySQL di hosting cPanel, mulai dari setup dasar sampai menyesuaikan koneksi databasenya.
Ke depannya, aplikasi ini bisa dikembangkan lagi dengan menambahkan fitur keamanan seperti enkripsi password dan validasi input. Dengan dukungan Python App (Passenger) di cPanel, Flask bisa jadi solusi yang ringan dan fleksibel untuk belajar maupun langsung dipakai di server hosting.
Demikian artikel kami tentang cara setting koneksi database Flask di cPanel hosting, semoga bermanfaat.


