Konfigurasi Virtual Host atau Server Block di Web Server Nginx

Konfigurasi Server Block pada Web Server Nginx Centos 7

Konfigurasi Virtual Host atau Server Block di Web Server Nginx – Ketika anda menggunakan web server Nginx, Server Block berfungsi untuk menyembunyikan detail konfigurasi dan dapat menghosting lebih dari satu domain pada satu server yang sama. Hal ini tentu berguna untuk anda yang ingin melakukan penghematan agar tidak membeli hosting untuk website yang baru.

Pada kesempatan kali ini, tutorial ini akan membahas bagaimana cara mengkonfigurasikan web server Nginx yang sebelumnya sudah kita install. Pastikan anda sudah mengikutin tutorial sebelumnya

  1. Tutorial Install Web Server Nginx di Linux Centos 7
  2. Tutorial Install LEMP Stack (Linux, Nginx, MySql, dan PHP) di Centos 7

Jika anda sudah melakukan tutorial diatas maka anda dapat melanjutkan tutorial ini. Pada tutorial kali ini akan digunakan dua domain yaitu example.com dan test.com.

Pertama – Mengatur Direktori Root Dokumen Baru

Secara default, Web server Nginx di sistem operasi Centos 7 sudah mengizinkan server block. Lokasi direktori root untuk dokumen baru biasanya terletak pada /var/www/html. Tetapi dikarenakan kita akan menggunakan dua domain pada satu server maka harus ada perbedaan lokasi direktori root untuk dokumen setiap domainnya.

Untuk mempermudah dalam penataan dokumen maka kedua domain tersebut akan masing – masing dibuatkan folder yang berbeda yaitu

  • /var/www/example.com/html – untuk direktori root domain example.com
  • /var/www/test.com/html – untuk direktori root domain test.com

Untuk pembuatannya silahkan ketikkan perindah dibawah ini

sudo mkdir -p /var/www/example.com/html
sudo mkdir -p /var/www/test.com/html

Sekarang kita sudah memiliki dua direktori root untuk kedua domain kita, langkah selanjutnya adalah merubah hak kepemilikan dari folder tersebut. Dikarenakan sebelumnya kita menggunakan perintah sudo maka kepemilikan saat ini adalah milik user root.

Oleh karena itu untuk menjaga keamanan dan kemudahan pengeditan selanjutnya maka kita rubah kepemilikan folder tersebut menjadi user yang saat ini kita gunakan dengan menggunakan perintah dibawah ini

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/test.com/html

Perlu diperhatikan, $USER adalah user yang saat ini sedang kalian gunakan dan pastikan itu adalah bukan root .

Setelah selesai maka hak kepemilikan direktori root sekarang sudah berubah. Hal ini dapat anda pastikan dengan mengetikkan perintah dibawah ini

sudo chmod -R 755 /var/www

Direktori root untuk dokumen baru sudah selesai dikonfigurasi. Kita dapat melakukan langkah selanjutnya.

Baca Juga  Tutorial Install Web Server Nginx di Linux Centos 7

Kedua – Membuat tampilan sederhana untuk kedua domain

Ketika kedua dokumen root domain sudah siap digunakan, kita butuh sesuatu untuk memastikan semuanya berjalan dengan baik dan dapat menampilkan tampilan sederhana untuk kedua domain tersebut.

Buatlah sebuah file bernama index.html pada domain example.com dengan mengetikkan perintah dibawah ini

vi /var/www/example.com/html/index.html

Untuk memulai memasukkan text anda silahkan tekan tombol insert pada keyboard anda.

Apabila sudah selesai mengetikkan nama tekan esc kemudian ketikkan :wquntuk keluar dari editor vi. Anda juga langsung bisa membuat file html sederhana seperti dibawah ini

<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success!  The example.com server block is working!</h1>
    </body>
</html>

Kemudian untuk contoh tampilan sederhana domain test.com kita dapat melakukan copy pada file index.html yang sebelumnya kita buat untuk domain example.com.

cp /var/www/example.com/html/index.html /var/www/test.com/html/

Agar memiliki tampilan pada domain test.com berbeda maka kita rubah sedikit file index.html dengan menggunakan editor vi seperti sebelumnya sehingga menjadi seperti dibawah ini

<html>
    <head>
        <title>Welcome to Test.com!</title>
    </head>
    <body>
        <h1>Success!  The test.com server block is working!</h1>
    </body>
</html>

Sampai disini kita memiliki tampilan yang berbeda di kedua domain yang kita gunakan.

Ketiga – Membuat file untuk Server Block

File server block ini adalah file yang akan memisahkan dan menentukan konfigurasi situs yang berbeda dan menentukan bagaimana web server Nginx akan menanggapi berbagai permintaan domain tersebut.

Untuk memulai, kita perlu mengatur direktori yang akan disimpan oleh web server, serta direktori yang memberi tahu Nginx bahwa server block siap untuk melayani pengunjung. Direktori sites-available di situs akan menyimpan semua file server block, sementara direktori sites-enabled akan menyimpan tautan simbolik ke server block yang ingin kami publikasikan. Kita bisa membuat kedua direktori dengan mengetikkan

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

Selanjutnya, kita harus memberi tahu Nginx untuk mencari blok server di direktori sites-available. Untuk mencapai hal ini, kita akan mengedit file konfigurasi utama Nginx dan menambahkan baris yang menyatakan direktori opsional untuk file konfigurasi tambahan

sudo vi /etc/nginx/nginx.conf

kemudian tambahkan perintah dibawah ini pada baris akhir http {}

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Baris pertama pada perintah diatas adalah menginstruksikan web server Nginx untuk mencari server block di direktori site-enabled , sementara untuk baris kedua berfungsi untuk meningkatkan jumlah memori yang digunakan untuk pencarian nama domain (karena saat ini kita menggunakan dua domain).

Baca Juga  Yuk Belajar Install Ubuntu Server 18.04 di VirtualBox

Jika sudah melakukan perubahan tersebut maka keluar dengan menekan esc kemudian ketikkan :wq.

Membuat Server Block Pertama

Secara default, Web Server Nginx memiliki satu server block yang dinamakan default.conf yang mana dapat kita gunakan untuk template konfigurasi kita nantinya. Untuk mempermudah konfigurasi server block yang pertama maka akan kita gunakan template tersebut

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/example.com.conf

kemudian buka dan edit file example.com.conf

sudo vi /etc/nginx/sites-available/example.com.conf

Abaikan semua baris yang memiliki comment, sehingga isi file akan tampil seperti dibawah ini

server {
    listen  80;
    server_name localhost;

    location / {
        root  /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Hal yang pertama harus kita konfigurasikan adalah server_name yang mana berfungsi untuk memberitahukan Nginx dimana block server berada. Pada tutorial ini menggunakan example.com dan menambahkan alias untuk domain tersebut menjadi www.example.com hal ini bermanfaat agar tetap melayani pencarian baik menggunakan www maupun tidak.

server_name example.com www.example.com;

Pastikan anda menggunakan ; pada akhir perintah tersebut.

konfigurasi selanjutnya adalah lokasi direktori root yang sebelumnya sudah kita buat yaitu /var/www/example.com/html

root /var/www/example.com/html;

ketika kamu sudah selesai melakukan konfigurasinya maka akan tampil seperti dibawah ini

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Sampai disini konfigurasi server block pertama telah selesai dilakukan.

Membuat Server Block Kedua

Untuk mempermudah melakukan konfigurasi, kita akan mengcopy file server block pertama dan kemudian melakukan edit

sudo cp /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-available/test.com.conf

kemudian buka file server block kedua dengan menggunakan perintah vi

sudo vi /etc/nginx/sites-available/example2.com.conf

Lakukan konfigurasi seperti halnya server block pertama tetapi sesuaikan dengan kondisi saat ini yaitu berada pada server block kedua, sehingga akan menghasilkan file konfigurasi seperti dibawah ini

server {
    listen  80;

    server_name test.com www.test.com;

    location / {
        root  /var/www/test.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Setelah selesai melakukan perubahan, silahkan keluar dengan menekan tombol esc dan kemudian mengetikkan :wqagar keluar dari editor vi.

Keempat – Mengaktifkan File Server Block Baru

Langkah selanjutnya adalah mengaktifkan file server block yang baru saja kita buat sehingga web server Nginx bahwa pengunjung sudah dapat dilayani dan ditujukan ke server block yang tersedia.  ketikkan perintah dibawah ini untuk mengaktifkannya

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
sudo ln -s /etc/nginx/sites-available/test.com.conf /etc/nginx/sites-enabled/test.com.conf

Agar konfigurasinya berjalan silahkan restart services Nginx anda

sudo systemctl restart nginx

Kelima – Mengatur File Hosts Lokal (Opsional)

Jika anda melakukan tutorial ini pada webserver lokal anda maka pengaturan file hosts pada localhost anda perlu dilakukan sehingga anda dapat menjalankannya secara langsung tanpa harus membeli domain atau hosting yang tersedia di internet. silahkan rubah file hosts yang berada pada /etc/hosts dengan menggunakan editor vi

sudo vi /etc/hosts

kemudian tambahkan ip address server localhost anda dan nama dari kedua domain yang dilakukan pada tutorial kali ini, sehingga akan menjadi seperti dibawah ini

127.0.0.1   localhost
127.0.1.1   guest-desktop
server_ip_address example.com
server_ip_address test.com

Sehingga apabila anda ingin mengakses domain example.com maka akan dilarikan kealamat server_ip_address begitupun halnya ketika anda ingin mengakses domain test.com.

Baca Juga  Install Webmin di Linux CentOS 7

Keenam – Lihat Hasilnya

Setelah menjalani segala langkah – langkah konfigurasi server block diatas dengan baik dan benar maka seharusnya web server anda sudah dapat diakses dengan baik. Hal ini dibuktikan dengan apabila anda mengakses http://example.com pada alamat browser anda maka akan tampil seperti pada gambar dibawah ini

Konfigurasi Virtual Host atau Server Block di Web Server Nginx

Dengan demikian Konfigurasi Virtual Host atau Server Block di Web Server Nginx telah selesai dilakukan.

Bagikan :
Deni Rusdiaman

Author: Deni Rusdiaman

“Seseorang yang tidak pernah melakukan kesalahan tidak pernah mencoba sesuatu yang baru.” -Albert Einstein-