• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Dynamic Subdomain dengan PHP Apache 2.4

Last Updated on 20 February 2020 By tommy Leave a Comment

Contoh kasus yang sering digunakan adalah tiap member sebuah situs memiliki subdomain sendiri, atapun reseller menggunakan username sebagai subdomain. Magicnya ada di tiga bagian, pertama di DNS, kedua di VHOST, ketiga di script.

DNS WILDCARD

Set DNS Wildcard, bisa untuk domain ataupun subdomain, contohnya

*.web.jaranguda.com    IN    A    192.168.1.1

Di Cloudflare caranya seperti gambar dibawah
setting dns wildcard cloudflare

Setting VHOST APACHE

Webserver yang digunakan tidak terlalu berpengaruh, selama dia bisa menghandle wildcard. Disini saya menggunakan Apache 2.4 di Fedora 31. File konfigurasinya berada di /etc/httpd/conf.d/vhost.conf isinya

<VirtualHost *:80>
  DocumentRoot /home/tommy/git/php-vhost/
  ServerName web.jaranguda.com
  ServerAlias *.jaranguda.com
 
  <Directory "/home/tommy/git/php-vhost">
    Options -Indexes
    Options FollowSymLinks
    AllowOverride All
    Require all granted
  </Directory>
 
</VirtualHost>

cara ini tidak hanya untuk subdomain, tetapi bisa juga untuk domain. Sebagai contoh anda domainer, ingin menampilkan nama domain, dan harga yang ditentukan di setiap domain, cukup dengan satu script ratusan bahkan ribuan domain langsung bisa dihandle.

Script PHP

Logika untuk scriptnya, kita membuat beberapa domain yang diijinkan, bisa dari database atau dibuat dalam array. Bila user mengunjungi subdomain yang tidak diijikan akan ditampilkan pesan error. Script inilah yang bertugas menampilkan situs sesuai dengan peruntukannya. Saya namai script ini index.php (/home/tommy/git/php-vhost/index.php) begini scriptnya

<?php
// subdomain yang diijinkan
$allowedSubdomain = ['email', 'ftp', 'payment'];
$subdomain = explode('.web.jaranguda.com', $_SERVER['HTTP_HOST']);
 
if(in_array($subdomain[0], $allowedSubdomain)) {
    echo "<b>$subdomain[0]</b> allowed!";
} else {
    echo "<b>$subdomain[0]</b> rejected! not in whitelist domain!";
}
 
var_dump($_SERVER['HTTP_HOST']);

Coba buka namaasal.web.jaranguda.com, akan muncul tampilan
subdomain not whitelisted
sekarang buka email.web.jaranguda.com
subdomain allowed

Tulisan menarik lainnya

  • Membuat Kalender dengan PHP

    Buat sebuah file dengan nama kalender.php lalu tambahkan script dibawah ini Minggu Senin Selasa Rabu…

  • Validasi Email dengan PHP

    Tutorial ini bisa dijalankan di PHP 5 >= 5.2.0 Validasi email dengan PHP, dengan validasi…

  • Tutorial Koneksi PHP dengan MySQL

    Dibawah ini akan dijelaskan mengenai cara untuk mengkoneksikan PHP ke database MySQL. Tulis script dibawah…

  • Membuat Perulangan dengan Satu Kali Looping di PHP

    Hasil yang diinginkan # # # # # # # # # # # #…

Filed Under: PHP

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.3k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.9k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.2k views
  • Cara Reset Password ZTE F609 Indihome 147.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.6k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java