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.

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
- Akun Dalang.io
- Akun GitHub dengan repository aplikasi PHP
- 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 MySQLpdo_pgsql- Koneksi PostgreSQLgd- Manipulasi gambarzip- Handle file ZIPmbstring- String multibyteintl- 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
- Login ke dalang.io/dashboard
- Buka halaman Deployments
- Klik New Deployment atau Create
- Connect akun GitHub (jika belum)
- Pilih repository PHP kamu
- Pilih branch (biasanya
mainataumaster) - 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:
- Fork repository ke akun GitHub kamu
- Buka Dalang.io Deployments
- Pilih repository yang sudah di-fork
- 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 /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:
- Edit kode di lokal
git commitdangit push- 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:
- Siapkan Dockerfile - Pilih base image sesuai kebutuhan
- Push ke GitHub - Pastikan Dockerfile ada di root
- Deploy - Connect repo dan klik deploy
- Online - Aplikasi siap diakses
Tidak perlu ribet setup server. Fokus ke coding, biar deployment diurus platform.
Siap Deploy Aplikasi PHP?
Butuh bantuan? Hubungi [email protected]
Resource:
Artikel Terkait:
- Deploy Project XAMPP ke Internet - Khusus pengguna XAMPP Windows
- Cara Upload Project ke GitHub - Panduan Git untuk pemula
