Rumahweb Journal
Banner - Cara Setting Koneksi Database Flask di cPanel Hosting

Cara Setting Koneksi Database Flask di cPanel Hosting

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:

  1. Login ke cPanel
  2. Buka menu Setup Python App
  3. Klik Create Application
  4. Isi konfigurasi 
  5. 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

Pindah Hosting ke Rumahweb Gratis

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:

  1. Login ke cPanel hosting Anda.
  2. Klik menu Databases.
  3. Klik tombol create database, lalu masukkan nama database yang akan dibuat.
  4. Selanjutnya, buat user database dan masukkan password usernya.
  5. 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.

masuk ke mode virtual environment

Lalu masuk ke SSH dan jalankan command:

pip install flask pymysql
Install Library

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:

Setting Koneksi Database Flask

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.py

Menambahkan 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.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Rafik Gumelar Kuswara

Rafik Gumelar Kuswara, atau yang akrab disapa Rafik, adalah salah satu team technical support Rumahweb yang memiliki minat pada konten dan digital marketing. Melalui konten Video dan Journal, ia berharap dapat membantu Anda memahami penggunaan layanan di Rumahweb Indonesia secara lebih mudah.

banner pop up - Pindah Hosting ke Rumahweb