Deployment Wordpress

Initial Project

Berikut adalah tahapan untuk membuat project dengan aplikasi berbasis Wordpress.

Download wordpress terbaru dari halaman ini https://wordpress.org/latest.zip

Extract dan masuk ke folder wordpress. Di dalam folder tersebut buat sebuah file awan.yml Isi file awan.yml seperti berikut ini:

version: '1.0'
web:
    type: php
    version: 7.1
    doc_root: ./
    storage_dir: /code/wp-content/uploads

Init sebuah git repo di dalam folder tersebut dengan perintah: git init

Tambahkan Awanio repo git ke project tersebut dengan perintah: git remote add awan git@awan.io:TEAM/APP.git

Rename file wp-config-sample.php menjadi wp-config.php

Buka file wp-config.php dan edit bagian berikut ini:

$dbName = getenv('DB_NAME') ?? 'wordpress';
define('DB_NAME', $dbName);

/** MySQL database username */
$dbUser = getenv('DB_USER') ?? 'root';
define('DB_USER', $dbUser);

/** MySQL database password */
$dbPassword = getenv('DB_PASSWORD') ?? '';
define('DB_PASSWORD', $dbPassword);

/** MySQL hostname */
$dbHost = getenv('DB_HOST') ?? 'localhost';
define('DB_HOST', $dbHost);

Masih di file wp-config.php, silahkan edit pada bagian Authentication Unique Keys and Salts. Ini penting untuk meningkatkan keamanan aplikasi Wordpress anda.

define('AUTH_KEY',         'SILAHKAN GANTI NILAI INI');
define('SECURE_AUTH_KEY',  'SILAHKAN GANTI NILAI INI');
define('LOGGED_IN_KEY',    'SILAHKAN GANTI NILAI INI');
define('NONCE_KEY',        'SILAHKAN GANTI NILAI INI');
define('AUTH_SALT',        'SILAHKAN GANTI NILAI INI');
define('SECURE_AUTH_SALT', 'SILAHKAN GANTI NILAI INI');
define('LOGGED_IN_SALT',   'SILAHKAN GANTI NILAI INI');
define('NONCE_SALT',       'SILAHKAN GANTI NILAI INI');

Semua aplikasi di Awanio adalah SSL termination. Ini artinya dari user ke balancer Awan transfer data via https. Sementara dari balancer ke aplikasi anda, jalur komunikasi menggunakan http. Ini akan menimbulkan issue karena Wordpress akan menganggap aplikasi dijalankan via http. Untuk itu silahkan tambahkan dua variable berikut di bawah setting konstanta WP_DEBUG pada file wp-config.php

if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
    $_SERVER['HTTPS'] = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}

Add semua file untuk persiapan commit: git add . -v

Commit project untuk pertama kali: git commit -m ‘Inital commit’

Push project tersebut ke repo Awanio dengan perintah: git push awan master

Setelah proses deployment selesai buka url https://my-web-name.diawan.id

Selanjutnya silahkan jalankan proses install Wordpress seperti biasa.