[Lab 8.13] Nginx Virtual Host

Virtual Host ini merupakan fitur yang terdapat pada Apache Web Server, dengan fitur ini kita dapat memiliki dua situs WebSite yang berbeda domain tetapi dalam satu Server yang sama, saat server menerima permintaan http dari Client server juga akan melihat URL yang diakses oleh Client tersebut.  Virtual Host ini sangat berguna ketika kita memiliki beberapa domain yang berbeda dan ingin diterapkan dalam satu Server yang sama.

Kali ini saya akan mencontohkan konfigurasi VirtualHost pada Web Server dengan Nginx yang berjalan di sistem operasi CentOS, berikut ini adalah sedikit informasi server yang saya konfigurasi :
    Sistem Operasi:Linux CentOS 7
    IP Address:192.168.56.40 (enp0s3)
    Domain Name:www.centos.dz, web.centos.dz
  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.40
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Pertama kita aktifkan repositori EPEL terlebih dahulu pada server yang akan kita install nginx.
  • [root@dz-centos ~]# yum install wget
    [root@dz-centos ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
    [root@dz-centos ~]# rpm -ivh epel-release-7-9.noarch.rpm
  • Kemudian baru kita install aplikasi nginx.
  • [root@dz-centos ~]# yum --enablerepo=epel -y install nginx
  • Kita buka port untuk http dan https agar server dapat diakses oleh Web Browser.
  • [root@dz-centos ~]# firewall-cmd --permanent --add-port=80/tcp
    [root@dz-centos ~]# firewall-cmd --permanent --add-port=443/tcp
    [root@dz-centos ~]# firewall-cmd --reload
  • Kemudian aktifkan layanan nginx.
  • [root@dz-centos ~]# systemctl enable nginx
    [root@dz-centos ~]# systemctl start nginx
  • Lalu kita buat file konfigurasi vhost untuk masing-masing domain.
  • [root@dz-centos ~]# vi /etc/nginx/conf.d/virtual.host.conf

    server {
    listen 80;
    server_name www.centos.dz;

    location / {
    root /usr/share/nginx/www-site;
    index index.html;
    }
    }

    server {
    listen 80;
    server_name web.centos.dz;

    location / {
    root /usr/share/nginx/web-site;
    index index.html;
    }
    }
  • Restart layanan nginx untuk memperbarui konfigurasi.
  • [root@dz-centos ~]# systemctl restart nginx
  • Buat direktori yang akan diisi oleh konten masing-masing domain.
  • [root@dz-centos ~]# mkdir /usr/share/nginx/www-site
    [root@dz-centos ~]# mkdir /usr/share/nginx/web-site
  • Kemudian isi dengan file HTML yang merupakan konten dari web site.
  • [root@dz-centos ~]# vi /usr/share/nginx/www-site/index.html
    <H1>WWW.CENTOS.DZ</H1>
    <H4>Dzikra Fathin</H4>
    [root@dz-centos ~]# vi /usr/share/nginx/web-site/index.html
    <H1>WEB.CENTOS.DZ</H1>
    <H4>Dzikra Fathin</H4>
  • Baru buka dua domain tersebut lewat web browser.

Komentar