Instalasi dan Konfigurasi Web Server pada Linux Debian 11

Web server merupakan perangkat lunak (software) dalam server yang berfungsi untuk menerima permintaan (request) berupa halaman web melalui protokol HTTP dan atau HTTPS dari client yang lebih dikenal dengan nama browser, kemudian mengirimkan kembali (respon) hasil permintaan tersebut ke dalam bentuk halaman-halaman web yang pada umumnya berbentuk dokumen HTML.

Dari pengertian diatas, dapat disimpulkan bahwa web server merupakan pelayan (pemberi layanan) bagi web client (browser) seperti Mozilla, Chrome, Internet Explorer, Opera, Safari dan lain sebagainya, supaya browser dapat menampilkan halaman atau data yang kita minta.

Fungsi Web Server

Fungsi utama dari web server adalah untuk mentransfer atau memindahkan berkas yang diminta oleh pengguna melalui protokol komunikasi tertentu. Oleh karena dalam satu halaman web biasanya terdiri dari berbagai macam jenis berkas seperti gambar, video, teks, audio, file dan lain sebagainya, maka pemanfaatan web server berfungsi juga untuk mentransfer keseluruhan aspek pemberkasan dalam halaman tersebut, termasuk teks, gambar, video, audio, file dan sebagainya.

Pada saat kita ingin mengakses sebuah halaman website, biasanya kita mengetik halaman tersebut di browser seperti mozilla, chrome dan lain-lain. Setelah kita meminta (biasanya dengan menekan enter) untuk dapat mengakses halaman tersebut, browser akan melakukan permintaan ke web server. Disinilah web server berperan, web server akan mencarikan data yang diminta browser, lalu mengirimkan data tersebut ke browser atau menolaknya jika ternyata data yang diminta tidak ditemukan.

HTTP (Hypertext Transfer Protocol) adalah protokol yang digunakan oleh web server dan web browser untuk dapat berkomunikasi antara satu sama lain. Sedangkan HTTPS (Hypertext Transfer Protocol Secure) adalah merupakan versi aman (secure) dari HTTP. Biasanya protokol HTTP menggunakan port 80 dan protokol HTTPS menggunakan port 443. Untuk mengenal dan membedakanWE keduanya, anda bisa lihat pada saat anda mengakses suatu halaman website apakah berwalan http:// atau https://. Salah satu contoh web server yang paling banyak digunakan adalah apache2.

Pada kesempatan kali ini, saya akan membagikan cara instalasi dan konfigurasi web server pada distro linux Debian menggunakan layanan apache2.

Instalasi dan Konfigurasi Apache

Instalasi web server Apache

Sebelum memulai instalasi, update terlebih dahulu apt cache dengan perintah:

sudo apt update && sudo apt upgrade

Untuk melakukan instalasi web server, ketikkan perintah berikut:

sudo apt install apache2

Gambar di atas menunjukkan bahwa sevice apache2 sudah terinstall.

Cek versi apache2 dengan perintah:

sudo apache2 -v

Cek hostname atau IP address server dengan perintah:

sudo hostname -I

Untuk melihat halaman default apache, dapat mengetikkan alamat IP di atas atau localhost pada url bar web browser.

Mengaktifkan Layanan Web Server

Menjalankan layanan web server menggunakan perintah:

$sudo systemctl start apache2.servive

Sedangkan untuk mematikan layanan web server dapat menggunakan perintah:

$sudo systemctl stop apache2.servive

Untuk melihat status layanan web server dapat menggunakan perintah berikut:

$sudo systemctl status apache2.servive

Konfigurasi Firewall

Firewall merupakan tools yang digunakan untuk memfilter lalu lintas jaringan ke dan/ atau dari server. Dengan kata lain firewall berfungsi untuk mengizinkan atau memblokir lalu lintas data pada suatu jaringan. Layanan yang dapat digunakan untuk menjalankan fungsi ini adalah UFW (Uncomplicated Firewall).

Terlebih dahulu kita install layanan UFW dengan perintah berikut:

sudo apt install ufw

Konfigurasi firewall dengan mengetikkan perintah berikut:

sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp 

Ketikkan perintah berikut untuk mengaktifkan layanan ufw:

sudo ufw enable

Cek status ufw dengan perintah:

sudo ufw status

Konfigurasi Web Server Apache

#1 Tambahkan direktori pada path /var/www/ yang nantinya akan digunakan untuk menyimpan dokumen atau file web. Misalnya kita membuat sebuah direktori contoh.com, ketikkan perintah berikut:

sudo mkdir -p /var/www/contoh.com

#2 Tambahkan konfigurasi hak akses (permission) dan kepemilikan (ownership) direktori dengan perintah berikut:

sudo chmod -R 755 /var/www/contoh.com
sudo chown -R abugaza: /var/www/contoh.com

Ganti abugaza dengan nama user, atau dapat juga ditambahkan user terlebih dahulu dengan perintah:

sudo adduser nama_user

#3 Untuk membuat struktur atau kerangka dasar web, tambahkan file index.html pada directory contoh.com, seperti berikut:

sudo nano /var/www/contoh.com/index.html

Tambahkan script html sederhana berikut ini:

<html>
 <head>
   <title>Selamat Datang di website contoh.com</title>
 </head>
 <body>
   <h1>Ini contoh halaman website sederhana tanpa CSS</h1>
 </body>
</html>

Atau dapat menggunakan script html yang sudah saya buat seperti di bawah ini:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Belajar HTML</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="container">
        <div class="header">
            <h1 class="judul">Membuat Website</h1>
            <p class="tagline">Membuat Layout HTML 1 Kolom</p>
            <ul class="menu">
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </div>
        <div class="content">
            <h2>Judul Artikel</h2>
            <p class="author">Oleh <a href="#">Rino Safrizal</a> pada 17 November 2021</p>
            <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id, quia dolores excepturi. Ad voluptatem nesciunt provident commodi beatae. Voluptatum alias ab ipsa atque vitae odio iure accusamus laboriosam quibusdam, assumenda reprehenderit aperiam, adipisci nostrum fugit. Voluptas quas ipsum officiis dolor, numquam quos, unde ducimus odio animi repudiandae, temporibus alias praesentium esse delectus magnam nihil et est, error ad fuga. Laudantium obcaecati quis officiis est mollitia quibusdam explicabo fugit vel veniam esse non assumenda nisi facere ab, similique molestiae nulla nemo iusto alias quam quisquam nihil quod ratione in. Aliquam, inventore repudiandae tempora nihil in unde adipisci officia. Recusandae, eos perspiciatis!</p>
            <p>Lorem ipsum dolor, sit, amet consectetur adipisicing elit. Voluptate obcaecati possimus eaque fugiat, labore assumenda sed eligendi repellat omnis, libero sequi in vel nesciunt enim, nisi aliquid! Quasi voluptatem ipsa quo recusandae vero, maxime eligendi, optio! Dolorum cupiditate laborum quae, quidem neque consequuntur quam iusto optio nam unde porro explicabo tenetur illo blanditiis ducimus voluptate voluptatem animi possimus est. Tempora, aut accusamus. Doloremque consectetur distinctio impedit maiores, sit atque maxime odio inventore libero nisi voluptate nam eaque ad laboriosam eum corrupti, numquam voluptas dolorem reprehenderit tempora vero minima, aspernatur. Natus, dicta accusantium consequuntur dolores, porro ipsum quibusdam veniam minima asperiores.</p>
        </div>
        <div class="footer">
            <p>&copy; 2021 - Abu Gaza</p>
        </div>
    </div>
</body>
</html>

Agar tampilan web lebih menarik, tambahkan file style.css pada directory contoh.com:

sudo nano /var/www/contoh.com/style.css

Lalu copy paste code CSS di bawah ini:

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: ;
    padding: ;
    border: ;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: ;
}
 
/* Style */
 
body {
    font-family: arial, sans-serif;
    background-color: #f3f3f3;
    color: #555;
}
.container {
    width: 900px;
    margin: auto;
    background-color: #fff;
}
.header {
    background-color: aquamarine;
    padding: 30px;
} 
.header .judul {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 10px;
}
.header .tagline {
    font-size: 18px;
    margin-bottom: 40px;
}
.header ul li {
    display: inline-block;
}
.header a {
    text-decoration: none;
    font-size: 16px;
    color: white;
    padding: 7px;
    background-color: dodgerblue;
} 
.header a:hover {
    background-color: tomato;
    color: white;
}
.content {
    background-color: lightcyan;
    padding: 30px;
}
.content h2 {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 15px;
}
.content .author {
    font-size: 10px;
    margin-bottom: 15px;
}
.content p {
    font: 13px/18px courier, monospace;
    margin-bottom: 10px;
}
.footer {
    padding: 10px 0px 10px 0px;
    background-color: darkgrey;
    color: black;
    text-align: center;
}

#4 Buat file virtual host dengan cara mengcopy file 000-default.conf menjadi contoh.com.conf pada directory /etc/apache2/sites-available:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/contoh.com.conf

Buka file virtual host di atas:

sudo nano /etc/apache2/sites-available/contoh.com.conf

Lalu tambahkan sintag berikut:

ServerAdmin emailkalian@email.com
DocumentRoot /var/www/contoh.com
ServerName contoh.com
ServerAlias www.contoh.com

#5 Jalankan perintah berikut untuk mengaktifkan file virtual host di atas:

sudo a2ensite contoh.com.conf

#6 Nonaktifkan konfigurasi apache default dengan perintah berikut:

sudo a2dissite 000-default.conf

#7 Terakhir restart layanan apache dengan perintah:

sudo systemctl restart apache2

Untuk mengetahui apakah hostname error, ketikkan perintah berikut:

sudo apache2ctl configtest

Pesan di atas menunjukkan bahwa hostname error, untuk mengatasinya, buatlah file servername.conf pada directory /etc/apache2/conf-available/ dengan perintah berikut:

sudo nano /etc/apache2/conf-available/servername.conf

Tambahkan alamat host contoh.com lalu simpan:

ServerName contoh.com

Aktifkan konfigurasi server name dengan perintah:

sudo a2enconf servername

Cek kembali apakah hostname masih error atau tidak:

sudo apache2ctl configrest

Pengujian web server Apache

Konfigurasi web server dengan apache2 dapat diuji melalui web browser server maupun client dengan mengetikkan localhost maupun IP address:

Untuk mengakses web server dari komputer client dengan sistem operasi windows, terlebih dahulu harus mensetting IP address dengan mengakses konfigurasi IP address pada LAN/ethernet via Control Panel > Network and Internet >  Network and Sharing Center > Change adapter settings > Ethernet > Properties > Internet Protocol version 4 > Properties, tambahkan alamat IP client agar satu jaringan dengan komputer server. Selanjutnya masukkan alamat IP server seperti berikut:

Instalasi dan Konfigurasi PHP

Jika ingin membuat website yang interaktif dan dinamis, maka butuh bahasa pemrograman salah satunya adalah PHP. Sebagian besar suatu halaman web saat ini menggunakan bahasa pemrograman PHP dikarenakan kemampuannya dalam menciptakan interaktivitas yang hebat dengan berbagai macam fitur yang tersedia.

Secara default layanan server Apache hanya mendukung file dengan ekstensi .html saja, bukan PHP. Untuk mendapatkan dukungan layanan PHP ini, kita perlu menginstall paket layanan PHP beserta ekstensinya agar MariaDB dapat terhubung dengan database.

Sebelum memulai instalasi, terlebih dahulu lakukan update daftar pembaharuan sistem:

sudo apt update

Install layanan PHP dan ekstensinya dengan perintah berikut:

sudo apt-get install php-mysql php libapache2-mod-php php-cli

Untuk melihat daftar modul PHP yang diinstall ketikkan perintah berikut:

php -m

Perintah di bawah ini untuk mengecek versi PHP:

php -v

Akses layanan PHP dengan menulis kode sederhana yang disimpan dengan nama info.php pada direktori root web (untuk tutorial apache di atas direktori yang dimaksud adalah contoh.com dan akan kita ganti menjadi smkbisa.com):

sudo nano /var/www/smkbisa.com/info.php

Tambahkan script berikut:

<?php
phpinfo()
?>

Untuk menerapkan instalasi PHP, silahkan restart layanan apache2 dengan perintah:

sudo systemctl restart apache2.service

Pengujian PHP

Akses halaman PHP dengan mengetikkan alamat localhost/info.php atau IP_ADDRESS/info.php pada url bar browser:

Demikian pembahasan singkat terkait dengan instalasi dan konfigurasi web server pada distro Linux Debian 11 dengan layanan apache2, semoga tulisan ini dapat membantu rekan.

Belum ada Komentar untuk "Instalasi dan Konfigurasi Web Server pada Linux Debian 11"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel