Deployment Website dari Localhost ke Hosting Menggunakan InfinityFree
Apa Itu InfinityFree?
Ketika mempelajari pengembangan website, sebagian besar proses pembuatan dan pengujian dilakukan pada localhost. Pada tahap ini, website dijalankan langsung dari komputer pengembang sehingga seluruh fitur dapat diuji tanpa memerlukan koneksi internet. Lingkungan localhost sangat membantu dalam mengembangkan fitur, memperbaiki kesalahan (bug), serta memastikan seluruh fungsi website berjalan dengan baik sebelum dipublikasikan.
Namun, website yang berjalan di localhost hanya dapat diakses melalui komputer tempat website tersebut dijalankan. Pengguna lain tidak dapat mengakses website tersebut melalui internet. Oleh karena itu, agar website dapat diakses oleh siapa saja, kapan saja, dan dari berbagai perangkat, website harus dipublikasikan ke sebuah web hosting.
Web hosting adalah layanan yang menyediakan ruang penyimpanan pada server yang selalu terhubung ke internet. Seluruh komponen website, seperti file HTML, CSS, JavaScript, PHP, gambar, serta database, disimpan pada server tersebut sehingga website dapat diakses melalui nama domain atau alamat website menggunakan browser.
Salah satu layanan web hosting gratis yang banyak digunakan untuk kebutuhan pembelajaran adalah InfinityFree. InfinityFree merupakan penyedia layanan hosting gratis yang memungkinkan pengguna mempublikasikan website tanpa harus membeli paket hosting. Layanan ini mendukung berbagai teknologi web yang umum digunakan, seperti HTML, CSS, JavaScript, PHP, dan MySQL, sehingga sangat cocok digunakan untuk mempelajari proses deployment website.
Selain menyediakan ruang penyimpanan, InfinityFree juga menawarkan berbagai fitur yang mendukung proses deployment, antara lain:
- File Manager, untuk mengelola file website secara langsung melalui browser.
- MySQL Database, untuk menyimpan data yang digunakan oleh aplikasi website.
- phpMyAdmin, untuk membuat dan mengelola database MySQL.
- FTP (File Transfer Protocol), untuk mengunggah file website dalam jumlah besar dengan lebih mudah.
- SSL Gratis, yang memungkinkan website diakses menggunakan protokol HTTPS sehingga komunikasi data menjadi lebih aman.
Bagi mahasiswa yang sedang mempelajari pengembangan web, InfinityFree merupakan media belajar yang sangat baik karena memberikan pengalaman menggunakan layanan hosting yang mendekati lingkungan produksi (production environment). Melalui layanan ini, mahasiswa dapat mempelajari cara memindahkan website dari localhost ke server, menghubungkan aplikasi dengan database, serta memastikan website dapat diakses secara online.
Proses memindahkan aplikasi dari lingkungan pengembangan (development environment) ke server yang dapat diakses melalui internet dikenal sebagai deployment. Deployment merupakan salah satu tahapan penting dalam pengembangan perangkat lunak karena pada tahap inilah aplikasi mulai dapat digunakan oleh pengguna.
Sebagai layanan hosting gratis, InfinityFree memiliki beberapa keterbatasan dibandingkan layanan hosting berbayar, seperti kapasitas penyimpanan, sumber daya server, serta ketersediaan fitur lanjutan yang lebih terbatas. Meskipun demikian, untuk kebutuhan praktikum, tugas perkuliahan, portofolio, maupun proyek website berskala kecil, layanan ini sudah lebih dari cukup sebagai sarana belajar memahami proses deployment.
Pada materi ini, kalian akan mempelajari langkah demi langkah penggunaan InfinityFree, mulai dari membuat akun, membuat layanan hosting, membuat database, menghubungkan website dengan database, mengunggah file website ke server, hingga memastikan website dapat diakses secara online. Setelah menyelesaikan seluruh materi, diharapkan kalian mampu memahami dan menerapkan proses deployment secara utuh, yaitu memindahkan website dari localhost ke server sehingga dapat diakses oleh pengguna melalui internet.

Persiapan Sebelum Deployment Website
Sebelum mempublikasikan website ke internet, terdapat beberapa langkah persiapan yang perlu dilakukan. Tahap ini sering dianggap sederhana, tetapi memiliki peran penting dalam menentukan keberhasilan proses deployment. Website yang belum dipersiapkan dengan baik berpotensi mengalami berbagai permasalahan ketika dijalankan di server, seperti halaman yang tidak dapat diakses, kegagalan koneksi database, maupun tampilan website yang tidak sesuai dengan saat dijalankan di localhost. Apabila kalian belum memahami cara menggunakan localhost, silakan baca terlebih dahulu artikel mengenai penggunaan localhost yang telah disediakan sebelum melanjutkan ke tahap deployment.
Langkah pertama adalah memastikan bahwa website telah berjalan dengan baik di localhost. Sebelum diunggah ke server, lakukan pengujian terhadap seluruh fitur yang telah dikembangkan. Pastikan setiap halaman dapat diakses dengan baik, menu navigasi berfungsi sebagaimana mestinya, formulir dapat digunakan, serta seluruh proses, seperti login, menambah data, mengubah data, dan menghapus data, berjalan tanpa kesalahan. Jika masih ditemukan bug atau kesalahan, lakukan perbaikan terlebih dahulu sebelum melanjutkan ke tahap deployment.
Selanjutnya, periksa struktur folder proyek website. Pastikan seluruh file yang diperlukan berada dalam satu folder proyek dengan susunan yang rapi dan terorganisasi. Sebagai contoh, file utama seperti index.php atau index.html sebaiknya berada pada folder utama (root project), sedangkan file CSS, JavaScript, gambar, dan aset lainnya ditempatkan pada folder sesuai fungsinya. Struktur folder yang baik akan memudahkan proses unggah sekaligus mengurangi kemungkinan terjadinya kesalahan saat website dijalankan di server.
Apabila website menggunakan MySQL, lakukan ekspor database ke dalam file berformat .sql. File ini berisi struktur tabel beserta data yang nantinya akan diimpor ke database yang dibuat di InfinityFree. Tanpa melakukan ekspor database, website mungkin tetap dapat diakses, tetapi fitur yang bergantung pada database, seperti autentikasi pengguna, penyimpanan data, maupun pengelolaan informasi, tidak akan berfungsi dengan baik.
Selain itu, identifikasi file konfigurasi koneksi database yang digunakan oleh aplikasi. Pada tahap ini, konfigurasi belum perlu diubah, tetapi penting untuk mengetahui lokasi file tersebut agar proses penyesuaian konfigurasi menjadi lebih mudah setelah database di InfinityFree selesai dibuat. Pada aplikasi berbasis PHP, file konfigurasi ini umumnya bernama config.php, koneksi.php, database.php, atau nama lain yang memiliki fungsi serupa.
Sebelum proses unggah dilakukan, bersihkan folder proyek dari file maupun folder yang tidak lagi diperlukan, seperti file cadangan (backup), folder hasil percobaan, atau dokumen yang tidak berkaitan dengan aplikasi. Langkah ini akan mengurangi ukuran proyek, mempercepat proses unggah, serta menjaga struktur file tetap rapi dan mudah dikelola.
Sebagai langkah terakhir, kompres seluruh folder proyek menjadi satu file berformat ZIP. Mengunggah satu file ZIP lebih praktis dibandingkan mengunggah banyak file secara terpisah. Setelah file ZIP berhasil diunggah ke hosting, file tersebut dapat diekstrak langsung melalui fitur File Manager yang disediakan oleh InfinityFree. Cara ini lebih cepat, lebih efisien, serta mengurangi risiko adanya file yang terlewat selama proses unggah.
Dengan seluruh persiapan tersebut, website telah siap untuk dipublikasikan ke internet. Pada pembahasan berikutnya, kalian akan mempelajari cara membuat akun InfinityFree sebagai langkah awal untuk membuat layanan hosting gratis. Setelah akun berhasil dibuat, proses deployment dapat dilanjutkan dengan membuat hosting, menyiapkan database, mengunggah file website, serta melakukan konfigurasi hingga website dapat diakses secara online.

Membuat Akun InfinityFree
Setelah website siap untuk dipublikasikan, langkah berikutnya adalah membuat akun InfinityFree. Akun ini digunakan untuk mengelola layanan hosting, database, domain, serta berbagai fitur yang disediakan oleh InfinityFree. Proses pendaftarannya relatif mudah dan umumnya hanya memerlukan beberapa menit hingga akun siap digunakan. Perlu diperhatikan bahwa tampilan antarmuka InfinityFree dapat berubah sewaktu-waktu. Apabila terdapat sedikit perbedaan tampilan, sesuaikan dengan menu atau tombol yang memiliki fungsi yang sama.
Buka browser, kemudian kunjungi website resmi InfinityFree. Setelah halaman utama terbuka, klik tombol Sign Up untuk memulai proses pendaftaran akun.
InfinityFree menyediakan beberapa metode pendaftaran yang dapat dipilih, yaitu menggunakan akun Google, GitHub, atau alamat email beserta password. Kalian dapat memilih metode yang paling sesuai dengan kebutuhan dan preferensi masing-masing.

Pada materi ini, proses pendaftaran menggunakan akun Google karena lebih praktis dan tidak memerlukan pembuatan password baru. Apabila kalian memilih metode pendaftaran lain, langkah-langkah yang dilakukan secara umum tetap serupa. Setelah memilih Sign up with Google, akan ditampilkan daftar akun Google yang tersedia pada browser. Pilih akun Google yang akan digunakan untuk membuat akun InfinityFree. Jika akun yang diinginkan belum tersedia, klik Gunakan akun lain, kemudian masuk menggunakan akun Google tersebut.

Selanjutnya, Google akan menampilkan halaman persetujuan akses. Pada tahap ini, InfinityFree meminta izin untuk mengakses informasi dasar dari akun Google, seperti nama dan alamat email. Informasi tersebut digunakan untuk membuat akun serta mempermudah proses autentikasi saat login di kemudian hari.
Periksa kembali informasi yang ditampilkan. Jika sudah sesuai, klik tombol Lanjutkan untuk memberikan izin dan menyelesaikan proses pendaftaran.

Setelah proses autentikasi berhasil, kalian akan diarahkan kembali ke website InfinityFree dan masuk ke halaman Dashboard. Dashboard merupakan halaman utama yang digunakan untuk mengelola seluruh layanan pada akun InfinityFree, seperti membuat hosting baru, mengakses Control Panel, mengelola database, serta mengelola website yang dimiliki.

Apabila halaman Dashboard berhasil ditampilkan, berarti proses pembuatan akun telah selesai dan akun InfinityFree siap digunakan. Pada pembahasan berikutnya, kalian akan mempelajari cara membuat layanan hosting gratis yang akan digunakan sebagai tempat menyimpan file website sehingga website dapat dijalankan dan diakses melalui internet.
Membuat Hosting Gratis
Setelah berhasil membuat akun dan masuk ke Dashboard InfinityFree, langkah berikutnya adalah membuat layanan hosting. Hosting merupakan tempat penyimpanan seluruh file website, database, dan berbagai aset aplikasi sehingga website dapat diakses melalui internet. Tanpa hosting, website yang telah dibuat hanya dapat dijalankan di localhost dan belum dapat diakses oleh pengguna lain.
Untuk membuat hosting baru, klik tombol Create Account yang terdapat pada Dashboard InfinityFree. Menu ini digunakan untuk membuat akun hosting yang nantinya memiliki ruang penyimpanan, database, serta alamat website (subdomain) sendiri.

Setelah memilih menu Create Account, InfinityFree akan menampilkan beberapa pilihan paket hosting yang tersedia, mulai dari paket gratis hingga paket berbayar. Pada materi ini, gunakan paket InfinityFree dengan harga $0 karena paket tersebut sudah menyediakan berbagai fitur yang dibutuhkan untuk proses pembelajaran, seperti ruang penyimpanan, bandwidth, dukungan PHP, MySQL, serta subdomain gratis. Untuk melanjutkan proses pembuatan hosting, klik tombol Create Now pada paket InfinityFree.

Setelah halaman pembuatan hosting terbuka, masukkan nama subdomain yang diinginkan pada kolom yang tersedia. Nama subdomain akan menjadi bagian dari alamat website yang digunakan untuk mengakses aplikasi melalui internet. Oleh karena itu, pilihlah nama yang singkat, mudah diingat, serta sesuai dengan nama proyek atau aplikasi yang dikembangkan.

Selanjutnya, pilih salah satu ekstensi Free Subdomain yang disediakan oleh InfinityFree, seperti rf.gd, great-site.net, atau ekstensi lain yang tersedia. Kombinasi antara nama subdomain dan ekstensi domain tersebut akan membentuk alamat website yang nantinya dapat diakses melalui browser.
Sebagai contoh, apabila nama subdomain yang dipilih adalah portfolio dan ekstensi domain yang digunakan adalah rf.gd, maka alamat website yang dihasilkan adalah portfolio.rf.gd.

Setelah nama subdomain dan ekstensi domain dipilih, InfinityFree akan memeriksa ketersediaan alamat website tersebut. Jika alamat yang dipilih telah digunakan oleh pengguna lain, sistem akan meminta kalian memilih nama subdomain lain hingga diperoleh alamat yang masih tersedia.
Setelah halaman Additional Information ditampilkan, periksa kembali seluruh informasi yang tersedia. Pada halaman ini terdapat beberapa pengaturan yang berkaitan dengan akun hosting, seperti Account Label, Account Username, Account Password, dan Email Consent. Sebagian informasi telah diisi secara otomatis oleh sistem, sedangkan beberapa bagian dapat disesuaikan sesuai kebutuhan. Pastikan seluruh data telah sesuai sebelum melanjutkan ke tahap berikutnya.
Apabila seluruh informasi telah diperiksa, klik tombol Create Account untuk mulai membuat akun hosting. InfinityFree akan melakukan proses konfigurasi secara otomatis. Proses ini biasanya hanya memerlukan beberapa menit hingga hosting berhasil dibuat.

Setelah proses konfigurasi selesai, akun hosting akan muncul pada daftar hosting di Dashboard InfinityFree. Hal ini menunjukkan bahwa layanan hosting telah berhasil dibuat dan siap digunakan. Meskipun demikian, website belum dapat diakses karena file aplikasi dan database belum diunggah maupun dikonfigurasi pada server.

Deployment Website Menggunakan Control Panel (VistaPanel)
Setelah hosting berhasil dibuat, langkah berikutnya adalah melakukan proses deployment website melalui Control Panel (VistaPanel). VistaPanel merupakan panel kontrol yang disediakan oleh InfinityFree untuk mengelola seluruh layanan hosting. Melalui halaman ini, kalian dapat mengunggah file website, membuat dan mengelola database MySQL, mengakses phpMyAdmin, serta melakukan berbagai konfigurasi yang diperlukan agar website dapat berjalan dengan baik di server.
Untuk membuka Control Panel, kembali ke Dashboard InfinityFree, pilih akun hosting yang telah dibuat, kemudian klik tombol Control Panel. Setelah beberapa saat, halaman Overview akan ditampilkan.

Pada halaman Overview tersedia berbagai menu untuk mengelola hosting. Namun, pada praktikum ini kalian hanya akan menggunakan tiga menu utama, yaitu File Manager untuk mengunggah dan mengelola file website, MySQL Databases untuk membuat database, serta phpMyAdmin untuk mengimpor dan mengelola database. Ketiga menu tersebut merupakan komponen utama dalam proses deployment website.
Mengunggah File Website
Langkah pertama dalam proses deployment adalah mengunggah seluruh file website ke server. Pilih menu File Manager pada Control Panel.

Setelah File Manager terbuka, akan terlihat beberapa folder bawaan hosting. Folder yang digunakan sebagai direktori utama website adalah htdocs. Seluruh file website yang akan dipublikasikan harus ditempatkan di dalam folder tersebut. Apabila file disimpan di luar folder htdocs, website tidak akan dapat diakses melalui browser.

Masuk ke dalam folder htdocs, kemudian klik tombol Upload untuk mulai mengunggah file website. InfinityFree mendukung proses unggah file secara langsung maupun dalam bentuk file ZIP. Apabila menggunakan file ZIP, ekstrak file tersebut setelah proses unggah selesai. Pastikan seluruh file website, seperti HTML, PHP, CSS, JavaScript, gambar, dan aset lainnya, telah berhasil diunggah.

Setelah proses unggah selesai, periksa kembali isi folder htdocs. Pastikan file utama website, seperti index.php atau index.html, berada langsung di dalam folder htdocs, bukan di dalam subfolder. Jika file utama berada di dalam subfolder, website tidak akan ditampilkan sebagaimana mestinya saat diakses melalui domain.

Membuat Database MySQL
Apabila website menggunakan MySQL, langkah berikutnya adalah membuat database baru. Dari halaman Control Panel, pilih menu MySQL Databases.

Masukkan nama database yang diinginkan, kemudian klik tombol Create Database. Setelah proses selesai, InfinityFree akan menampilkan informasi koneksi database yang terdiri atas MySQL Host, Database Name, Username, dan Password.
Simpan seluruh informasi koneksi tersebut karena akan digunakan pada saat menghubungkan website dengan database di server. Perlu diperhatikan bahwa informasi koneksi database pada InfinityFree berbeda dengan konfigurasi database yang digunakan saat website dijalankan di localhost.

Mengonfigurasi Koneksi Database
Setelah database berhasil dibuat, buka kembali menu File Manager, kemudian cari file konfigurasi database pada website, misalnya config.php, koneksi.php, database.php, atau file lain yang digunakan untuk mengatur koneksi database.

Klik Edit, kemudian ubah konfigurasi koneksi yang sebelumnya mengarah ke localhost agar sesuai dengan informasi database yang diberikan oleh InfinityFree. Sesuaikan nilai MySQL Host, Database Name, Username, dan Password, kemudian simpan perubahan yang telah dilakukan.

Mengimpor Database ke phpMyAdmin
Setelah konfigurasi koneksi database diperbarui, langkah berikutnya adalah mengimpor database yang sebelumnya telah diekspor dari localhost. Buka menu phpMyAdmin melalui halaman MySQL Databases atau langsung dari Control Panel.

Pada saat pertama kali dibuka, database masih kosong karena belum memiliki tabel maupun data.

Pilih menu Import, kemudian klik Choose File dan pilih file database.sql yang telah diekspor sebelumnya dari localhost. Setelah file dipilih, klik tombol Import dan tunggu hingga proses selesai.

Apabila proses impor berhasil, seluruh tabel beserta struktur database akan ditampilkan pada panel sebelah kiri phpMyAdmin. Hal ini menunjukkan bahwa database telah berhasil dipindahkan ke server dan siap digunakan oleh website.

Setelah seluruh file website berhasil diunggah, database selesai diimpor, dan konfigurasi koneksi database telah diperbarui, proses deployment telah selesai dilakukan. Selanjutnya, buka browser dan akses alamat website sesuai subdomain yang telah dibuat, misalnya https://namasubdomain.free.nf atau domain lain yang digunakan.