Membuat vhost nginx pada ubuntu 16.04

virtualhost sangat berguna apabila kita ingin membuat 1 server dengan banyak domain sehingga bisa menurunkan biaya yang harus dikeluarkan, pada artikel ini kita akan membuat vhost pada nginx di ubuntu 16.04.

Membuat direktori untuk meletakkan file web:
root@localhost:/var/www/html# mkdir -p /var/www/html/example.com

Membuat owner/pemilik dari file tersebut jika owner root maka kita definisikan $USER sehingga akan membaca user yang saat ini login, tetapi bisa juga kita buat owner nya www-data yang lebih lazim.
root@localhost:/var/www/html# chown -R $USER:$USER /var/www/html/example.com

Seting file dan folder permissions nya:
root@localhost:/var/www/html# chmod -R 755 /var/www/html

Buat file index.php
root@localhost:/var/www/html# nano /var/www/html/example.com/index.php

Buat setingan site default/blok site dimana kita copy dari defaultnya
root@localhost:/var/www/html# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com

kita edit disesuaikan dengan nama domain yang kita buat:
root@localhost:/var/www/html# nano /etc/nginx/sites-available/example.com
[code]
server {
listen 80;
listen [::]:80;

root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;

server_name example.com www.example.com;

location / {
try_files $uri $uri/ =404;
}
}

[/code]
Enable your Server Blocks and Restart Nginx
Mengenabelkan/mengaktifkan setingan yang kita buat dengan membuat link ke situs yang available:
root@localhost:/var/www/html# ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Kita cek apakah setingan yang kita buat benar:
root@localhost:/var/www/html# nginx -t

Langkah selanjutnya restart nginx
root@localhost:/var/www/html# systemctl restart nginx

Kita perlu edit host dimana domain akan kita arahkan ip publik kita misalka ip publik kita 11.12.13.14 maka contohnya sebagai berikut:
root@localhost:/var/www/html# nano /etc/hosts
[code]
127.0.0.1 localhost
. . .

11.12.13.14 example.com www.example.com
[/code]
Selanjutnya kita arahkan domain kita ke ip publik tersebut, hal ini sangat mudah dimana kita belum/tidak membuat dns. Pada artikel berikutnya kita akan mempelajarinya.

sekarang kita bisa cek dan test melalui browser dengan membuka www.example.com

Mengubah enp0s17 menjadi eth0 pada ubuntu 16.04

Pada ubuntu versi ini ketika kita ketik ifconfig maka yang keluar selain localhost atau lo juga enp0s17 dan bukan eth0, di artikel ini kita akan coba mengubah kembali ke yang lama dari enp0s17 ke eth0 supaya kita mudah seting karena sudah terbiasa.
[code]
root@localhost:~# ifconfig
enp0s17 Link encap:Ethernet HWaddr 08:00:27:f7:44:f1
inet addr:192.168.2.3 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3085 errors:0 dropped:0 overruns:0 frame:0
TX packets:2838 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3831133 (3.8 MB) TX bytes:226243 (226.2 KB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:11840 (11.8 KB) TX bytes:11840 (11.8 KB)

root@localhost:~#

root@localhost:~# dmesg | grep -i eth
[ 3.874367] e1000 0000:00:11.0 eth0: (PCI:33MHz:32-bit) 08:00:27:f7:44:f1
[ 3.875394] e1000 0000:00:11.0 eth0: Intel(R) PRO/1000 Network Connection
[ 3.883459] e1000 0000:00:11.0 enp0s17: renamed from eth0
root@localhost:~#
[/code]
kita bisa lihat bahwa eth0 diubah menjadi enp0s17 melalui perintah dmesg, selanjutnya kita akan mengubah menjadi ethX kembali dengan cara edit grub
[code]
root@localhost:~# nano /etc/default/grub
GNU nano 2.5.3 File: /etc/default/grub

# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n ‘Simple configuration’

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=””
GRUB_CMDLINE_LINUX=””
[/code]

cari pada baris GRUB_CMDLINE_LINUX=”” yang kosong menjadi GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0″
Selanjutnya kita simpan dan kita generate grub yang baru dari perubahan yang sudah kita lakukan.
[code]
root@localhost:~# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-4.4.0-57-generic
Found initrd image: /boot/initrd.img-4.4.0-57-generic
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
done
root@localhost:~#
[/code]
Jika setingan jaringannya dhcp maka ubah seperti contoh berikut:
root@localhost:~# nano /etc/network/interfaces

Dari
[code]
auto enp0s17
iface enp0s17 inet dhcp
iface enp0s17 inet6 auto
[/code]
Menjadi
[code]
auto eth0
iface eth0 inet dhcp
iface eth0 inet6 auto
[/code]

apabila static diubah seperti cotoh berikut:
root@localhost:~# nano /etc/network/interfaces

kita ubah dari :
[code]
auto enp0s17
iface enp0s17 inet static
address 192.168.2.3
netmask 255.255.255.0
dns-nameservers 192.168.2.1
gateway 192.168.2.1
[/code]
Menjadi
[code]
auto eth0
iface eth0 inet static
address 192.168.2.3
netmask 255.255.255.0
dns-nameservers 192.168.2.1
gateway 192.168.2.1
[/code]
Selanjutnya kita restart dengan cara ketik

root@localhost:~# reboot
setelah selesai kita login kembali dan ketik ifconfig dan hasilnya adalah:

[code]
root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:f7:44:f1
inet addr:192.168.2.3 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:143 errors:0 dropped:27 overruns:0 frame:0
TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16337 (16.3 KB) TX bytes:14380 (14.3 KB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:11840 (11.8 KB) TX bytes:11840 (11.8 KB)

root@localhost:~#
[/code]

Sekian Semoga bermanfaat