Deploy Aplikasi Website Memakai CodeIgniter - Google Cloud Compute Engine
2023-10-01 | Technology

Disini kita akan mendeploy sebuah aplikasi (Frontend) memakai CodeIgniter 3 dan API (Backend) memakai Node.js. Dalam case ini kita membuat skenario seperti berikut :
Skenario
- Front-End Web ditulis menggunakan PHP dengan framework CodeIgniter versi 3.1.10.
- Back-End API ditulis menggunakan Node.js.
Arsitektur

Arsitektur
- Front-End akan di deploy memakai Google Cloud Compute Engine
- Back-End akan di deploy memakai Google App Engine
- Storage akan di deploy memakai Google Cloud Bucket Storage
- Database akan di deploy memakai Google Cloud SQL
Tutorial
Front-End
Setting Virtual Machine Seperti Berikut:
Semua settingan default kecuali pada bagian dibawah ini.
Aktifkan Firewall:
- Http
- Https
- Load Balancer and Health Check (Opsional)

Firewall
Konfigurasi Script Autorun:
- Pada menu Advanced Option, pilih Management
- Masukan script berikut:
sudo apt-get update
sudo apt-get install git -y
sudo apt install php libapache2-mod-php php-mysql php-mbstring php-zip php-gd php-json php-curl -y
sudo apt-get install apache2 -y
Keterangan:
- sudo apt-get update untuk update
- sudo apt-get install git untuk menginstall git (karena kita akan cloning dari github) dan -y untuk agree/setuju dalam menginstall tersebut (github opsional bisa memakai lainnya)
- sudo apt install php untuk menginstall php serta segala macam librarynya libapache2-mod-php php-mysql php-mbstring php-zip php-gd php-json php-curl dan -y untuk agree/setuju dalam menginstall tersebut (library opsional)
- sudo apt-get install apache2 untuk menginstall server yang akan kita gunakan, disini menggunakan apache2 dan -y untuk agree/setuju dalam menginstall tersebut

Autorun Script
Konfigurasi Server
-
File: 000-default.conf
Path: /etc/apache2/sites-available
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
-
File: .htaccess
Path: /var/www/html
RewriteEngine On #RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1
-
Ketikan pada terminal:
sudo a2ensite 000-default.conf sudo a2enmod rewrite sudo systemctl restart apache2
Keterangan:
- sudo a2ensite 000-default.conf untuk memastikan perubahan terhadap file 000-default.conf telah di terapkan
- sudo a2enmod rewrite untuk memastikan perubahan terhadap file .htaccess telah di terapkan
- sudo systemctl restart apache2 merestart server apache agar memperbaharui tampilan
Note
Pastikan Base URL pada CodeIgniter sudah benar dan jika memakai API Backend pastikan Endpoint/URL sudah benar.