Hello Semua. Pada kesempatan kali ini, saya akan berbagi tentang Cara instal WEB Server di Debian 10. Artikel ini merupakan bagian dari rangkain LAB Debian 10 menggunakan VirtualBox. Anda bisa mengikuti rangkaian LAB di link berikut: DEBIAN 10 – VirtualBox LAB : Overview.

Saya menggunkan Server yang sudah di konfigurasi pada LAB sebelumnya, jadi saya tinggal meremote Server tersebut dari laptop saya menggunakan putty. Berikut informasi ip yang dapat digunakan untuk meremote LAB environment pada LAB ini:

Debian RouterIP Address : 10.10.1.136
Debian ServerIP Address : 192.168.10.2
IP Link-forward : 10.10.1.137

Note!

  • Pada Debian Server, IP Link-forward merupakan hasil konfigurasi pada LAB sebelumnya untuk mengalihkan trafik dari IP Debian Router ke IP Debian Server. IP ini juga yang akan kita gunakan untuk meremote Debian Server dari Laptop kita.
  • Akses ini bisa digunakan untuk rangkaian LAB Debian 10 berikutnya.

Pengenalan WEB Server

Web Server merupakan sebuah software yang berfungsi untuk melayani permintaan client melalui browser, kemudian memberi tanggapan dalam bentuk halaman web. 

Istilah web server dapat merujuk pada perangkat keras atau perangkat lunak, atau keduanya bekerja sama.

  1. Di sisi perangkat keras, server web adalah komputer yang menyimpan perangkat lunak server web dan file komponen situs web. (misalnya, dokumen HTML, gambar, stylesheet CSS, dan file JavaScript) Server web terhubung ke Internet dan mendukung pertukaran data fisik dengan perangkat lain yang terhubung ke web.
  2. Di sisi perangkat lunak, server web menyertakan beberapa bagian yang mengontrol cara pengguna web mengakses file yang dihosting. Minimal, ini adalah server HTTP. Server HTTP adalah perangkat lunak yang memahami URL (alamat web) dan HTTP (protokol yang digunakan browser Anda untuk melihat halaman web). Server HTTP dapat diakses melalui nama domain situs web yang disimpannya, dan mengirimkan konten situs web yang dihosting ini ke perangkat Client.

Istilah-istilah yang sering digunakan dalam WEB Server:

  • Hosting File – Direktori pada Server yang digunakan untuk menyimpan file situs web, yaitu semua dokumen HTML dan aset terkait, termasuk gambar, stylesheet CSS, file JavaScript, font, dan video.
  • HTTP atau Hypertext Transfer Protocol – Sesuai namanya, HTTP menentukan cara mentransfer hypertext (dokumen web yang ditautkan) antara dua komputer.
  • URL atau Uniform Resource Locator – adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di Internet. 

Instal WEB Server

Untuk membuat WEB Server, kita bisa menggunakan paket nginx (dibaca: Enjin X). Selain nginx, ada beberapa paket yang digunakan untuk kebutuhan web server yang tidak kalah terkenal, yaitu apache2. Antara ke dua paket tersebut memiliki fungsi yang sama dengan konfigurasi yang sedikit berbeda. Untuk LAB kali ini, saya akan menginstal nginx untuk kebutuhan WEB Server.

Berikut langkah-langkah instalasi WEB Server.

1. Buka aplikasi Putty pada Laptop, masukkan IP dari Debian Server.

2. Masuk dengan user biasa yang sebelumnya sudah dibuat dan memiliki akses root, yaitu logsheha.

3. Jalankan perintah berikut untuk menginstal nginx dan depedensinya:

sudo apt-get install -y nginx

4. Karena kita menggunakan repositori dari DVD, maka setiap penginstalan paket perlu memasukkan iso DVD. Dari tampilan diatas, penginstalan paket memerlukan DVD Binary-1 yaitu DVD-1.iso. Untuk memasukkan DVD, bisa dengan buka console Debian Server pada Virtualbox, kemudian pada menu VirtualBox, pilih devices > Optical Drives > DVD-1.iso.

5. Setelah DVD dimasukkan, klik enter untuk menyelesaikan proses instalasi.

6. Cek status nginx dengan perintah berikut:

sudo /etc/init.d/nginx status

7. Setelah proses instalasi selesai dan nginx sudah berjalan dengan normal, kita bisa mengecek dari sisi Client. Buka console Debian Desktop dan buka Web Browser. Masukkan alamat IP Debian Server atau domain yang sudah dikonfigurasi pada LAB DNS Server sebelumnya:

Jika hasil web menunjukkan tampilan seperti diatas, berarti nginx sudah berhasil diinstal.

Instal PHP

PHP atau Hypertext Preprocessor adalah bahasa pemrograman yang dapat ditanamkan atau disisipkan kedalam html. PHP ini digunakan untuk memprogram situs web. Kita perlu menginstal PHP agar situs web yang ada di Web Server berjalan dengan normal.

Ikuti langkah berikut untuk menginstal PHP:

1. Jalankan perintah berikut untuk menginstal php dan depedensinya:

sudo apt-get install -y php-fpm php-mysql

2. Untuk menginstal paket php, memerlukan DVD-1.iso dan DVD-2.iso. Karena DVD-1.iso sudah di mount sebelumnya, maka proses akan di lanjutkan. Dari tampilan diatas, penginstalan paket memerlukan DVD Binary-2 yaitu DVD-2.iso. Untuk memasukkan DVD, bisa dengan buka console Debian Server pada Virtualbox, kemudian pada menu VirtualBox, pilih devices > Optical Drives > DVD-2.iso.

3. Setelah DVD dimasukkan, klik enter untuk melanjutkan proses instalasi.

4. Setelah proses instalasi selesai, langkah selanjutnya adalah mengkonfigurasi PHP pada file konfigurasi Nginx. FIle konfigurasi Nginx yang akan kita ubah berada di direktori /etc/nginx/sites-available/ dengan nama file default. Masukkan perintah berikut untuk mengedit file:

sudo nano /etc/nginx/sites-available/default

Ubah baris berikut:

...
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;
...

Menjadi seperti berikut:

...
        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;
...

Masih pada file yang sama, edit baris berikut:

...
        # location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
        #        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        #}
...
        #location ~ /\.ht {
        #        deny all;
        #}

Menjadi seperti berikut:

...
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }
...
        location ~ /\.ht {
                deny all;
        }

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

5. Cek konfigurasi Nginx dengan perintah berikut:

sudo nginx -t

Pastikan semuanya OK

6. Restart service Nginx dengan perintah berikut:

sudo /etc/init.d/nginx restart

7. Kita bisa lanjut untuk mengetes fungsi php. Untuk mengetesnya, kita bisa membuat file dengan ekstensi .php di direktori hosting. Direktori hosting secara default berada di /var/www/html/. Masukkan perintah berikut untuk membuat file php:

sudo touch /var/www/html/test.php

Edit file test.php dengan memasukkan perintah berikut:

sudo nano /var/www/html/test.php

Dari file yang kosong, masukkan baris seperti berikut:

<?php

phpinfo();

?>

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

8. Buka console Debian Desktop dan buka Web Browser. Masukkan alamat IP Debian Server atau domain yang sudah dikonfigurasi pada LAB DNS Server sebelumnya:

Jika hasil web menunjukkan tampilan seperti diatas, berarti php sudah berhasil diinstal pada Web Server.

Membuat Virtual Host

Virtual Host merupakan sebuah metode untuk menangi beberapa domain di dalam satu server yang sama. Jadi, Virtual Host memungkinkan satu server menjadi hosting untuk beberapa domain. Konten yang di-deploy tidak selalu sama, bisa berbeda CMS atau pun framework.

Virtual Host menggunakan domain untuk pemetaannya. Jadi kita perlu mengkonfigurasi DNS Server untuk menambahkan domain ke Debian Server. Jika kita tidak mengkonfigurasi domain, maka kita tidak akan bisa mengakses Virtual Host.

Ikuti langkah-langkah berikut untuk membuat VirtualHost.

1. Masih di console Debian Server, tambahkan konfigurasi DNS ke file db.forward. Misalnya kita akan membuat VirtualHost untuk domain site.logsheha.lab, maka lakukan perintah berikut untuk menambahkan record tersebut ke db.forward:

sudo nano /etc/bind/db.forward

Tambahkan baris berikut:

...
site.logsheha.lab.      IN      A       192.168.10.2

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

2. Setelah file forward di konfigurasi, jangan lupa untuk menambahkan juga di db.reverse untuk memetakan ip address dari Debian Server ke domain site.logsheha.lab. Edit file db.reverse dengan perintah berikut:

sudo nano /etc/bind/db.reverse

Tambahkan baris berikut:

...
2       IN      PTR     site.logsheha.lab.

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

3. Restart bind9 dengan perintah berikut:

sudo /etc/init.d/bind9 restart

4. Buat direktori hosting baru untuk site.logsheha.lab. Masukkan perintah berikut untuk membuatnya:

sudo mkdir -p /var/www/site.logsheha.lab/html

5. Berikan hak akses ke user dengan perintah berikut:

sudo chown -R $USER:$USER /var/www/site.logsheha.lab/html/
sudo chmod -R 755 /var/www/site.logsheha.lab/

6. Buat file index pada direktori hosting untuk site.logsheha.lab. File index ini merupakan halaman yang pertama kali di akses ketika mengetikkan domain site.logsheha.lab. Masukkan perintah berikut untuk membuat file index:

sudo touch /var/www/site.logsheha.lab/html/index.html

7. Edit file index dengan perintah berikut:

sudo nano /var/www/site.logsheha.lab/html/index.html

Masukkan baris berikut ke dalam file index.html:

<html>
    <head>
        <title>Selamat datang di site.logsheha.lab</title>
    </head>
    <body>
        <h1>Ini adalah halaman web site.logsheha.lab </h1>
    </body>
</html>

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

8. Konfigurasi VirtualHost pada Nginx. Copy konfigurasi default nginx ke file yang baru untuk site.logsheha.lab.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/site.logsheha.lab

9. Edit file nginx dengan perintah berikut:

sudo nano /etc/nginx/sites-available/site.logsheha.lab

Edit baris berikut:

...
        listen 80 default_server;
        listen [::]:80 default_server;
...

Menjadi seperti berikut:

...
        listen 80;
        listen [::]:80;
...

Masih pada file yang sama, edit baris berikut:

...
        root /var/www/html;
...
        server_name _;
...

Menjadi seperti berikut:

...
        root /var/www/site.logsheha.lab/html;
...
        server_name site.logsheha.lab;
...

Untuk menyimpannya bisa dengan ketik ctrl + O, untuk keluar ketik ctrl + X.

10. Cek konfigurasi Nginx dengan perintah berikut:

sudo nginx -t

Pastikan semuanya OK

11. Restart service Nginx dengan perintah berikut:

sudo /etc/init.d/nginx restart

12. Untuk mengetesnya, Buka console Debian Desktop dan buka Web Browser. Masukkan domain site.logsheha.lab pada url yang tersedia.

Jika hasil web menunjukkan tampilan seperti diatas, berarti kita sudah berhasil mengkonfigurasi Virtual Host pada Nginx.

Kesimpulan

Pada LAB kali ini, kita belajar 3 materi seputar WEB Server yaitu menginstal Web Server, menginstal PHP, dan mengkonfigurasi Virtual Host.

Jika ada bagian yang belum paham, anda bisa tanyakan di kolom komentar, atau menghubungi saya di halaman Contact. Anda bisa mengikuti rangkaian LAB ini di postingan berikutnya. Terimakasih.