Set up a meeting
ARTICLE

Cara Hosting Aplikasi PHP di Dalang.io

Panduan lengkap deploy aplikasi PHP menggunakan App Hosting Dalang.io. Dari setup Dockerfile hingga aplikasi online - tanpa ribet konfigurasi server.

September 20, 2025
Cara Hosting Aplikasi PHP di Dalang.io

Hosting Aplikasi PHP di Dalang.io

Punya aplikasi PHP dan ingin online dengan cepat? Dengan App Hosting Dalang.io, kamu bisa deploy aplikasi PHP dari GitHub dalam hitungan menit.

Tidak perlu:

  • Setup server dari nol
  • Install dan konfigurasi Apache/Nginx
  • Manage PHP-FPM
  • Urus SSL certificate

Cukup siapkan Dockerfile, push ke GitHub, dan deploy.


Yang Kamu Butuhkan

  1. Akun Dalang.io
  2. Akun GitHub dengan repository aplikasi PHP
  3. Dockerfile di repository

Itu saja. Mari kita mulai.


Langkah 1: Siapkan Dockerfile

Dockerfile adalah β€œresep” untuk membangun aplikasi kamu menjadi container. Untuk PHP, ada beberapa pendekatan:

Opsi A: PHP Built-in Server (Paling Simpel)

Cocok untuk aplikasi sederhana, prototyping, atau development.

FROM php:8.3-cli-alpine

WORKDIR /app

# Copy semua file aplikasi
COPY . .

# Expose port
EXPOSE 8000

# Jalankan PHP built-in server
CMD ["php", "-S", "0.0.0.0:8000", "-t", "/app"]

Kelebihan:

  • Image kecil (~50MB)
  • Setup cepat
  • Cocok untuk aplikasi ringan

Opsi B: PHP dengan Apache

Cocok untuk aplikasi yang butuh .htaccess atau mod_rewrite.

FROM php:8.3-apache

# Enable mod_rewrite untuk URL routing
RUN a2enmod rewrite

# Copy aplikasi ke document root
COPY . /var/www/html/

# Set permission
RUN chown -R www-data:www-data /var/www/html

EXPOSE 80

CMD ["apache2-foreground"]

Kelebihan:

  • Support .htaccess
  • Familiar untuk yang biasa pakai Apache
  • Cocok untuk Laravel, CodeIgniter, dll

Opsi C: PHP dengan Nginx + PHP-FPM

Cocok untuk aplikasi production yang butuh performa tinggi.

FROM php:8.3-fpm-alpine

# Install nginx
RUN apk add --no-cache nginx

# Copy konfigurasi nginx
COPY nginx.conf /etc/nginx/http.d/default.conf

# Copy aplikasi
COPY . /var/www/html/

# Set permission
RUN chown -R www-data:www-data /var/www/html

EXPOSE 80

# Jalankan nginx dan php-fpm
CMD php-fpm -D && nginx -g 'daemon off;'

File nginx.conf:

server {
    listen 80;
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Langkah 2: Tambahkan Extension PHP (Opsional)

Butuh extension seperti MySQL, GD, atau ZIP? Tambahkan di Dockerfile:

FROM php:8.3-cli-alpine

# Install extension yang dibutuhkan
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN apk add --no-cache libpng-dev && docker-php-ext-install gd
RUN apk add --no-cache libzip-dev && docker-php-ext-install zip

WORKDIR /app
COPY . .
EXPOSE 8000
CMD ["php", "-S", "0.0.0.0:8000", "-t", "/app"]

Extension umum:

  • pdo_mysql / mysqli - Koneksi MySQL
  • pdo_pgsql - Koneksi PostgreSQL
  • gd - Manipulasi gambar
  • zip - Handle file ZIP
  • mbstring - String multibyte
  • intl - Internationalization

Langkah 3: Push ke GitHub

Pastikan struktur repository kamu seperti ini:

my-php-app/
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ index.php
β”œβ”€β”€ src/
β”‚   └── ... (file PHP lainnya)
└── public/
    └── ... (assets, CSS, JS)

Push ke GitHub:

git add .
git commit -m "Add Dockerfile for deployment"
git push origin main

Langkah 4: Deploy di Dalang.io

  1. Login ke dalang.io/dashboard
  2. Buka halaman Deployments
  3. Klik New Deployment atau Create
  4. Connect akun GitHub (jika belum)
  5. Pilih repository PHP kamu
  6. Pilih branch (biasanya main atau master)
  7. Klik Deploy

Tunggu beberapa menit. Sistem akan:

  • Clone repository
  • Build image dari Dockerfile
  • Deploy container
  • Generate subdomain

Setelah selesai, aplikasimu online di:

https://nama-app.svc.dalang.io

Contoh: Deploy Aplikasi PHP Sederhana

Kami sudah menyiapkan contoh repository yang bisa langsung kamu fork dan deploy:

Repository: github.com/dalang-io/example-app-php

Demo: example-app-php.svc.dalang.io

Aplikasi contoh ini menggunakan:

  • PHP 8.3 dengan built-in server
  • HTMX untuk interaktivitas
  • DaisyUI + Tailwind CSS untuk styling

Cara Deploy Contoh Ini:

  1. Fork repository ke akun GitHub kamu
  2. Buka Dalang.io Deployments
  3. Pilih repository yang sudah di-fork
  4. Deploy

Dalam beberapa menit, kamu punya aplikasi PHP yang running.


Tips untuk Berbagai Framework

Laravel

FROM php:8.3-cli-alpine

# Install dependencies
RUN apk add --no-cache 
    git 
    curl 
    libpng-dev 
    oniguruma-dev 
    libxml2-dev 
    zip 
    unzip

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

WORKDIR /app
COPY . .

# Install dependencies
RUN composer install --no-dev --optimize-autoloader

# Generate key dan cache
RUN php artisan config:cache
RUN php artisan route:cache

EXPOSE 8000
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]

Catatan: Untuk production Laravel, disarankan pakai Nginx + PHP-FPM.


CodeIgniter 4

FROM php:8.3-cli-alpine

RUN docker-php-ext-install intl

WORKDIR /app
COPY . .

EXPOSE 8000
CMD ["php", "spark", "serve", "--host", "0.0.0.0", "--port", "8000"]

WordPress

FROM wordpress:php8.3-apache

# Copy custom themes/plugins jika ada
COPY wp-content/themes/my-theme /var/www/html/wp-content/themes/my-theme
COPY wp-content/plugins/my-plugin /var/www/html/wp-content/plugins/my-plugin

EXPOSE 80

Catatan: WordPress butuh database MySQL. Kamu bisa pakai database external atau deploy MySQL di VPS terpisah.


Auto-Update dengan Git Push

Setiap kali kamu push perubahan ke GitHub, App Hosting bisa otomatis rebuild dan deploy ulang aplikasimu.

Workflow:

  1. Edit kode di lokal
  2. git commit dan git push
  3. Aplikasi ter-update otomatis

Tidak perlu SSH ke server atau manual deploy lagi.


Environment Variables

Butuh menyimpan konfigurasi seperti database credentials atau API keys?

Kamu bisa set environment variables di dashboard saat membuat deployment. Variables ini akan tersedia di aplikasi PHP via $_ENV atau getenv().

<?php
$dbHost = getenv('DB_HOST');
$dbUser = getenv('DB_USER');
$dbPass = getenv('DB_PASS');

Penting: Jangan hardcode credentials di kode. Selalu gunakan environment variables.


Custom Domain

Subdomain gratis (nama.svc.dalang.io) sudah cukup untuk testing dan development.

Untuk production, kamu bisa menggunakan domain sendiri (seperti www.tokoku.com) dengan mengaktifkan fitur Custom Domain di dashboard.


FAQ

Q: PHP versi berapa yang didukung?

A: Kamu bebas pilih versi PHP di Dockerfile. Rekomendasi: PHP 8.1, 8.2, atau 8.3.

Q: Bisa pakai Composer?

A: Tentu! Install Composer di Dockerfile dan jalankan composer install saat build.

Q: Bagaimana dengan database?

A: Gunakan database external (seperti PlanetScale, Supabase, atau database di VPS terpisah). Simpan credentials di environment variables.

Q: Aplikasi error setelah deploy?

A: Cek build logs di dashboard. Biasanya masalah ada di Dockerfile atau missing dependencies.

Q: Bisa upload file?

A: Bisa, tapi file yang di-upload akan hilang jika container di-restart. Untuk persistent storage, gunakan external storage seperti S3 atau Cloudflare R2.


Kesimpulan

Deploy PHP di Dalang.io itu simpel:

  1. Siapkan Dockerfile - Pilih base image sesuai kebutuhan
  2. Push ke GitHub - Pastikan Dockerfile ada di root
  3. Deploy - Connect repo dan klik deploy
  4. Online - Aplikasi siap diakses

Tidak perlu ribet setup server. Fokus ke coding, biar deployment diurus platform.


Siap Deploy Aplikasi PHP?

Deploy Sekarang

Butuh bantuan? Hubungi [email protected]


Resource:

Artikel Terkait: