{"id":61067,"date":"2026-02-17T08:23:00","date_gmt":"2026-02-17T01:23:00","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=61067"},"modified":"2026-02-16T15:30:47","modified_gmt":"2026-02-16T08:30:47","slug":"cara-setting-koneksi-database-flask-di-cpanel","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/cara-setting-koneksi-database-flask-di-cpanel\/","title":{"rendered":"Cara Setting Koneksi Database Flask di cPanel Hosting"},"content":{"rendered":"\n<p>Menghubungkan aplikasi Flask ke database di hosting sering kali menjadi tantangan tersendiri, terutama bagi Anda yang baru pertama kali <em>deploy <\/em>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat Aplikasi Python di cPanel<\/h2>\n\n\n\n<p>Sebelum melakukan setting koneksi database Flask, langkah pertama yang perlu dilakukan adalah membuat aplikasi Python terlebih dahulu melalui fitur <em>Setup Python App<\/em> di cPanel. Fitur ini memungkinkan Anda menjalankan aplikasi berbasis Python (termasuk <a href=\"https:\/\/blog.rumahweb.com\/flask-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"flask adalah\">Flask<\/a>) langsung di hosting tanpa perlu konfigurasi server secara manual.<\/p>\n\n\n\n<p>Berikut langkah-langkah yang bisa Anda ikuti:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Login ke cPanel<\/li>\n\n\n\n<li>Buka menu Setup Python App<\/li>\n\n\n\n<li>Klik Create Application<\/li>\n\n\n\n<li>Isi konfigurasi&nbsp;<\/li>\n\n\n\n<li>Klik Create<\/li>\n<\/ol>\n\n\n\n<p>Setelah aplikasi dibuat, cPanel akan otomatis membuat virtual environment.<\/p>\n\n\n\n<p>Selengkapnya tentang cara membuat database di cPanel bisa Anda pelajari melalui link berikut : <a href=\"https:\/\/www.rumahweb.com\/journal\/setup-flask-python-framework-cpanel\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Cara setup Flask di cPanel<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat Database MySQL<\/h2>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Anda dapat membuat database melalui menu <strong>MySQL\u00ae Databases<\/strong> yang tersedia di cPanel. Berikut langkah-langkahnya:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.rumahweb.com\/journal\/cara-login-cpanel\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Login ke cPanel<\/a> hosting Anda.<\/li>\n\n\n\n<li>Klik menu Databases.<\/li>\n\n\n\n<li>Klik tombol create database, lalu masukkan nama database yang akan dibuat.<\/li>\n\n\n\n<li>Selanjutnya, buat user database dan masukkan password usernya.<\/li>\n\n\n\n<li>Langkah terakhir, berikan privilege user database.<\/li>\n<\/ol>\n\n\n\n<p>Selengkapnya tentang cara membuat database di cPanel bisa Anda pelajari melalui link berikut : <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-membuat-database\/\" target=\"_blank\" rel=\"noopener\" title=\"\">cara membuat database di cpanel<\/a><\/p>\n\n\n\n<p>Jangan lupa untuk menyimpan informasi berupa : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name Database<\/li>\n\n\n\n<li>Username<\/li>\n\n\n\n<li>Password<\/li>\n\n\n\n<li>Hostname (defaultnya menggunakan <code>localhost<\/code>)<\/li>\n<\/ul>\n\n\n\n<p>Dengan database dan user yang sudah dikonfigurasi, Anda sudah siap melanjutkan ke tahap setting koneksi database Flask di dalam file konfigurasi aplikasi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install Library yang Dibutuhkan<\/h2>\n\n\n\n<p>Langkah selanjutnya adalah menginstal library yang dibutuhkan oleh aplikasi Python Anda. Proses ini dapat dilakukan melalui akses <strong>SSH<\/strong> atau melalui menu <strong>Terminal<\/strong> yang tersedia di cPanel hosting.<\/p>\n\n\n\n<p>Sebelum melakukan instalasi, pastikan Anda mengetahui lokasi direktori aplikasi (Application Root). Informasi ini dapat dilihat pada halaman <strong>Setup Python App<\/strong> di cPanel, tepatnya pada bagian detail aplikasi yang telah Anda buat. Di sana akan terlihat <em>path <\/em>atau <em>source directory<\/em> yang digunakan oleh aplikasi tersebut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"346\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-1024x346.png\" alt=\"masuk ke mode virtual environment\" class=\"wp-image-61069\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-1024x346.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-300x101.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-768x259.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-370x125.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-270x91.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-570x192.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36-740x250.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-36.png 1526w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Lalu masuk ke SSH dan jalankan <em>command<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install flask pymysql<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-1024x443.png\" alt=\"Install Library \" class=\"wp-image-61070\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-1024x443.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-300x130.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-768x332.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-370x160.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-270x117.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-570x246.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37-740x320.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-37.png 1515w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Tunggu hingga proses instalasi Flask MySQL berhasil dan muncul tulisan Successfully installed pymysql-1.1.2.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat File konfigurasi<\/h2>\n\n\n\n<p>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. <\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from flask import Flask, render_template, request, redirect, url_for, session\nimport pymysql\n\napp = Flask(__name__)\napp.secret_key = 'secretkey123'\n\ndef get_db_connection():\n    return pymysql.connect(\n        host='localhost',\n        user='user database',\n        password='password database',\n        database='nama database',\n        cursorclass=pymysql.cursors.DictCursor\n    )\n\n@app.route('\/', methods=&#91;'GET', 'POST'])\ndef login():\n    if request.method == 'POST':\n        username = request.form&#91;'username']\n        password = request.form&#91;'password']\n\n        conn = get_db_connection()\n        cur = conn.cursor()\n        cur.execute(\n            \"SELECT * FROM users WHERE username=%s AND password=%s\",\n            (username, password)\n        )\n        user = cur.fetchone()\n        conn.close()\n\n        if user:\n            session&#91;'login'] = True\n            session&#91;'username'] = user&#91;'username']\n            return redirect(url_for('dashboard'))\n        else:\n            return 'Login gagal'\n\n    return render_template('login.html')\n\n@app.route('\/dashboard')\ndef dashboard():\n    if 'login' not in session:\n        return redirect(url_for('login'))\n    return render_template('dashboard.html', user=session&#91;'username'])\n\n@app.route('\/logout')\ndef logout():\n    session.clear()\n    return redirect(url_for('login'))\n<\/code><\/pre>\n\n\n\n<p>Nantinya pada bagian database yang di ubah:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"648\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-1024x648.png\" alt=\"Setting Koneksi Database Flask\" class=\"wp-image-61133\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-1024x648.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-300x190.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-768x486.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-370x234.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-270x171.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-570x360.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46-740x468.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/image-46.png 1058w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Menjalankan Flask Python di Hosting<\/h2>\n\n\n\n<p>Sebelum melanjutkan, silakan masuk terlebih dahulu ke folder aplikasi yang telah dibuat sebelumnya. Pada contoh ini, folder aplikasi tersebut diberi nama \u201ctemplates\u201d, sehingga perintah yang digunakan adalah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd templates\/<\/code><\/pre>\n\n\n\n<p>Setelah berada di dalam folder tersebut, unggah file <em>script <\/em>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:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python config.py<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Menambahkan Aplikasi di Passenger<\/h2>\n\n\n\n<p>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 (<em>Web Server Gateway Interface<\/em>), yang digunakan oleh Passenger.<\/p>\n\n\n\n<p>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.<br \/>Berikut adalah contoh konfigurasi passenger_wsgi.py yang digunakan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import sys\nimport os\n\nproject_home = '\/home\/sadr1605\/testing'\nif project_home not in sys.path:\n    sys.path.insert(0, project_home)\n\nactivate_env = '\/home\/sadr1605\/virtualenv\/testing\/3.9\/bin\/activate_this.py'\nwith open(activate_env) as f:\n    exec(f.read(), {'__file__': activate_env})\n\nfrom config import app as application\n<\/code><\/pre>\n\n\n\n<p>Pada konfigurasi di atas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Variabel project_home digunakan untuk menentukan lokasi direktori aplikasi Flask.<\/li>\n\n\n\n<li>Virtual environment diaktifkan agar aplikasi dapat menggunakan library Python yang telah diinstal sebelumnya<\/li>\n\n\n\n<li>Baris from config import app as application berfungsi untuk memanggil aplikasi Flask agar dapat dijalankan oleh Passenger<\/li>\n<\/ul>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Demikian artikel kami tentang cara setting koneksi database Flask di cPanel hosting, semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. [&hellip;]<\/p>\n","protected":false},"author":356,"featured_media":61991,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[142],"tags":[18,135,1446,202],"class_list":{"0":"post-61067","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips-dan-trik","8":"tag-cpanel","9":"tag-database","10":"tag-flask","11":"tag-koneksi-database"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/01\/Banner-Cara-Setting-Koneksi-Database-Flask-di-cPanel-Hosting.webp","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-fSX","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/61067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=61067"}],"version-history":[{"count":9,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/61067\/revisions"}],"predecessor-version":[{"id":62001,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/61067\/revisions\/62001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/61991"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=61067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=61067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=61067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}