Cara deploy Aplikasi Web Laravel di Heroku

Irfan Rafif
wripolinema
Published in
5 min readDec 23, 2020

Laravel adalah sebuah framework untuk aplikasi web berbasis PHP. Laravel menyediakan struktur yang sangat baik dan menjadi framework terbaik pada tahun ini*.

kalian selalu menginginkan hosting gratis dengan performa yang lumayan baik. Saya sendiri kalau masalah hosting selalu menggunakan Heroku. Heroku adalah sebuah hosting gratis yang cukup menyediakan banyak add ons, dan juga tidak banyak iklan juga. Jadi tidak terlalu mengganggu untuk dipakai presentasi :)

Lalu bagaimana cara deploy di heroku? Berikut langkah-langkahnya.

1. Menyiapkan alat dan bahan (project and tools)

Yang pertama adalah menyiapkan alat dan bahan untuk deploy. Untuk alat yang kalian butuhkan adalah :

  • PHP & Composer (untuk laravel nya sendiri)

PHP dan Composer adalah hal utama dalam development Laravel. Tanpa PHP dan composer, kalian tidak bisa buat project laravel, meski kalian clone project dari github, tapi tetap aplikasi tersebut tidak akan berjalan.

  • Heroku CLI

Heroku CLI adalah tools dari Heroku untuk melakukan interaksi antara Heroku dengan PC kalian. Seperti login, lalu membuat project, logging, dan melakukan command / perintah php seperti migrasi dapat kalian lakukan di Heroku CLI. Untuk menginstall Heroku CLI dapat dilihat di link ini : The Heroku CLI | Heroku Dev Center

  • Git

Git dibutuhkan untuk mengupload project kalian ke Heroku. Jadi untuk mengupload project ini, kalian membutuhkan Git.

Untuk bahan yang kalian gunakan adalah :

  • Sebuah Project laravel (baru atau sudah berjalan sama saja)

Sudah jelas kalau kalian ingin upload project laravel, ya projectnya harus ada :) kalian bisa membuat project baru atau project lama kalian.

  • Akun Heroku

Untuk membuat akun Heroku, bisa buat akunnya di halaman utama mereka.

2. Membuat App di Heroku

Untuk membuat App di heroku, kalian bisa membuka halaman dashboard dari heroku, lalu klik New, maka terdapat dropdown, lalu klik Create New App. Maka akan muncul halaman seperti dibawah ini.

Penjelasan :

  • App name adalah nama dari App kalian. App name juga akan berpengaruh pada domain kalian.
  • Region adalah server dimana App tersebut di deploy. Pilihannya hanya ada 2. United States dan Europe.

3. Mengatur htaccess

Di folder root / utama Laravel tidak terdapat index.php dan file tersebut terdapat di folder public. HtAccess adalah sebuah mod untuk server (setau saya untuk apache web server) untuk mengubah tindakan ketika user membuka web itu. Dalam hal ini, HtAccess tersebut adalah mod agar saat kalian membuka aplikasi web ini, maka akan di redirect / file yang dituju adalah public/index.php.

Maka untuk mengubah htaccess, kalian perlu membuat file tersebut di folder root / utama di project laravel. Sebagai contoh seperti gambar berikut

Kodenya seperti ini :

<IfModule mod_rewrite.c>RewriteEngine onRewriteRule ^$ public/ [L]RewriteRule (.*) public/$1 [L]</IfModule>

4. Menambahkan add ons

Heroku menyediakan berbagai macam add ons seperti database, analytics tools, dll. Pada hal ini, kalian akan membutuhkan database untuk menyimpan data di laravel kalian. Untuk laravel, kalian dapat menggunakan MySQL Database (JawsDB Maria, JawsDB MySQL, ClearDB MySQL) dan PostgreSQL (Heroku Postgres). Tetapi untuk MySQL, kalian perlu memasukkan kartu credit (tetapi tidak ditarik biaya) dan itu pasti ribet. Maka kita menggunakan Heroku PostgreSQL.

Pasti kalian bertanya “Loh kak. Saya biasa pake MySQL. Saya ga bisa pake PostgreSQL”. Tenang saja. Kalo kalian developmentnya benar, seperti menggunakan Eloquent Model, maka kode tersebut akan menyesuaikan database yang kalian gunakan.

Klik pada Heroku Postgres, lalu muncul halaman berikut, klik Install Heroku Postgres

Muncul halaman seperti ini, kalian tidak usah takut masalah biaya. Heroku Postgres tidak akan menagih biaya. Pada kolom App to Provision To, pilih App yang baru kalian buat. Dan klik Submit Order Form.

5. Mengupload project ke Heroku

Sebenarnya untuk tutorial upload project sudah ada di halaman deploy. Berikut adalah footage nya

Yang pertama, kita melakukan login. Untuk melakukan login dapat menggunakan command “heroku login”, maka akan muncul halaman berikut.

Berikut adalah footage saat inisialisasi git, menambah remote(repositori git)heroku, lalu commit.

Berikut adalah footage saat melakukan push. Pada saat melakukan push, mereka sekaligus menginstal kebutuhan (dependencies) yang ada pada project laravel.

Setelah aplikasi tersebut selesai di push, coba kalian buka aplikasinya. Pasti akan muncul 500 Error. Itu karena env kalian belum benar. Laravel memiliki env didalam projectnya. sehingga jika env tersebut tidak ada maka muncul error.

6. Mengubah env di heroku

Karena itu, kalian perlu setting beberapa environment. Seperti app key, lalu app url, nama database, username yang digunakan di database, dll. Untuk mengatur hal hal seperti itu, kalian bisa pergi ke halaman settings, lalu klik reveal config vars. Dan kalian bisa mulai untuk mengubah env kalian. Env yang aku pake seperti ini :

  • Untuk APP_ENV, kalian gunakan production agar tidak muncul error dan bug fix nya.
  • Untuk APP_URL, kalian gunakan link app untuk membuka web nya. Contohnya seperti diatas.
  • Untuk APP_KEY, kalian bisa gunakan APP_KEY yang ada di local kalian, atau bisa juga generate menggunakan heroku CLI
  • Untuk DB_CONNECTION, kalian isi pgsql karena kalian menggunakan Heroku Postgres
  • Untuk pengaturan database, kalian buka juga halaman credential dari Heroku Postgres. Caranya dengan pergi ke halaman Resources, lalu klik Heroku Postgres, lalu tunggu loading yang agak lama. Saat sudah sampai, kalian klik settings, lalu klik View Credentials…
  • Untuk DB_USERNAME, DB_HOST, DB_PASSWORD, dan DB_DATABASE, kalian isi dengan data yang ada di halaman settings.

7. Migrasi database

Semisal kalian menggunakan proyek lama, maka kalian perlu untuk mengubah ubah database seperti membuat tabel (migration), lalu seeding, dll. Kalian dapat menggunakan command

heroku run (command yang biasa digunakan)//contoh
heroku run php artisan migrate

Sebagai contoh adalah hal migration seperti dibawah

8. Aplikasi siap digunakan

Setelah semua kegiatan sudah dilakukan, coba buka aplikasi kalian. Dan Tadaaaaaa. Aplikasi sudah siap dipakai.

Jadiii. Itulah beberapa cara untuk upload project ke Heroku. Terimakasih sudah mau membaca artikel yang banyak gambar ini. Semoga membantu. Kalo ada pertanyaan silahkan bertanya di kolom komentar. Saya suka bacanya kok :)

--

--