Coretan,  macOS,  Server

Domain Lokal menggunakan Virtual Host di Apache

Apache Web Server
Apache Web Server

Web developer pastinya tidak asing lagi dengan alamat 127.0.0.1 a.k.a localhost. 127.0.0.1 maupun localhost merujuk pada suatu alamat pada mesin komputer kita, atau biasa disebut dengan host, disanalah si Apache biasanya bersarang.

Untuk project yang sifatnya masih development biasanya akan menggunakan alamat tersebut.
Hanya saja akan ada kendala dimana dalam satu host berisi lebih dari satu project atau aplikasi. Jika demikain tentu kita akan mengakses project tersebut secara nested.

http://localhost/project-A/subproject-A1/child-project-A11

Panjang? Tentunya.

Beberapa tahun terakhir saya selalu menggunakan alias pada domain lokal saat development.

http://a11.local atau https://a11.local

Tentunya lebih singkat dan mudah untuk diketik.

Jika diperhatikan, konsep tersebutlah yang sebetulnya digunakan pada server website ketika mengelola banyak website pada satu web server.

Apache mendukung virtual host, atau yang lebih sering disingkat sebagai vhost.

<VirtualHost api.lrsoft.local:80>
    ServerAdmin ma@lrsoft.org
    DocumentRoot "/Users/zaf/Sites/lrsoft/lrsoft-api"
    ServerName api.lrsoft.local
    ServerAlias www.api.lrsoft.local
    ErrorLog "/private/var/log/apache2/api.lrsoft.local.err"
    CustomLog "/private/var/log/apache2/api.lrsoft.local.log" common
    <Directory  "/Users/zaf/Sites/lrsoft/lrsoft-api">
      Require all granted
    </Directory>
</VirtualHost>

Menggunakan konfigurasi diatas memungkinkan project kita untuk diakses di api.lrsoft.local, singkat kan?

Jika anda seorang node developer, alias juga bisa digunakan untuk custom port.

<VirtualHost node.local:80>
    ServerName node.local
    ServerAlias www.node.local
    ProxyPreserveHost On
    ProxyPass "/" "http://127.0.0.1:3000/"
    ProxyPassReverse "/" "http://127.0.0.1:3000/"
</VirtualHost>

Menggunakan proxy, konfigurasi diatas memungkinkan kita untuk mengakses 127.0.0.1:3000 melalui hanya node.local.

Perlu diperhatikan bahwa semua konfigurasi diatas dapat bekerja saat host alias tersebut diarahkan ke host lokal melalui /etc/hosts.

127.0.0.1         api.lrsoft.local
127.0.0.1         node.local

Satu Komentar

Tinggalkan Balasan