Deploy Aplikasi PHP

Sebelum melakukan deployment aplikasi PHP, ada beberapa hal yang harus anda siapkan, yaitu:

  • Akun Awanio
  • ssh public key yang sudah didaftarkan di halaman dahsboard Awanio
  • git url endpoint yang akan digunakan untuk push code. Formatnya adalah git@awan.io:TEAM/APP_NAME.git
  • file awan.yml yang diletakan pada top folder aplikasi

Setelah semua ini terpenuhi, berikutnya anda bisa memulai pembuatan aplikasi berdasarkan dari starter-kit yang bisa di-clone dari https://github.com/awanio/php-starter-kit

Awan menggunakan PHP versi 7 sebagai runtime. Untuk itu pastikan aplikasi anda sudah compatible dengan versi ini.

Untuk aplikasi berbasis PHP, isi file awan.yml adalah seperti berikut:

version: '1.0'
web:
  type: php
  version: 7.1
  doc_root: ./public

Jika kamu menggunakan Composer sebagai package manager, pastikan file composer.json dan file composer.lock disertakan ke dalam commit. Berikut contoh minimum isi file composer.json yang dibutuhkan:

{
  "name": "my-team/my-app-name"
}

Berikut contoh file awan.yml untuk PHP dengan composer:

version: '1.0'
web:
  type: php
  version: 7.1
  doc_root: ./public
  package_manager: composer

doc_root adalah informasi tentang entry point file php yang digunakan. Umumnya ini adalah lokasi di mana file index.php berada.

Adakalanya aplikasi kita memerlukan sebuah worker proses yang dijalankan sebelum atau berbarengan dengan aplikasi web, contohnya pada aplikasi Laravel yang memerlukan php artisan migrate dan php artisan queue:work. Maka contoh file awan.yml-nya adalah:

version: '1.0'
web:
  type: php
  version: 7.1
  doc_root: ./public
  package_manager: composer
  run: php artisan migrate --force & php artisan queue:work & apache2-foreground

Harap diperhatikan, pastikan perintah apache2-foreground selalu ada di akhir semua perintah worker.

Setelah aplikasi siap, tambahkan git remote Awanio ke dalam project:

git remote add awan git@awan.io:TEAM/APP_NAME.git

Setelah aplikasi siap, maka silahkan commit dan push ke git server ke Awanio

git push awan master

Setelah deployment selesai silahkan cek aplikasi anda pada https://app-name.awan.io

htaccess file

Awan menggunakan Apache Httpd sebagai runtime. Dengan demikian, anda bisa menambahkan file .htaccess pada folder doc_root aplikasi.