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.
jadi 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 WEB SERVER APACHE
Sebelum memulai instalasi, update terlebih dahulu apt cache dengan perintah:
1 | # apt update && apt upgrade |
Untuk melakukan instalasi web server, ketikkan perintah berikut:
1 | # apt install apache2 |
Gambar di atas menunjukkan bahwa sevice apache2 sudah terinstall.
Cek versi apache2 dengan perintah:
1 | # apache2 -v |
Cek hostname atau IP address server dengan perintah:
1 | # 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:
1 | # systemctl start apache2.servive |
Sedangkan untuk mematikan layanan web server dapat menggunakan perintah:
1 | # systemctl stop apache2.servive |
Untuk melihat status layanan web server dapat menggunakan perintah berikut:
1 | # 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:
1 | # apt install ufw |
Konfigurasi firewall dengan mengetikkan perintah berikut:
1 2 | # ufw allow 80/tcp # ufw allow 443/tcp |
Ketikkan perintah berikut untuk mengaktifkan layanan ufw:
1 | # ufw enabled |
Cek status ufw dengan perintah:
1 | # 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:
1 | # mkdir -p /var/www/contoh.com |
1 2 | # chmod -R 755 /var/www/contoh.com # chown -R abugaza: var/www/contoh.com |
Ganti abugaza dengan nama user, atau dapat juga ditambahkan user terlebih dahulu dengan perintah:
1 | # adduser nama_user |
#3 Untuk membuat struktur atau kerangka dasar web, tambahkan file index.html pada directory contoh.com, seperti berikut:
1 | # nano /var/www/contoh.com/index.html |
Tambahkan script html sederhana berikut ini:
1 2 3 4 5 6 7 8 | <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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!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>© 2021 - Abu Gaza</p> </div> </div> </body> </html> |
1 | # nano /var/www/contoh.com/style.css |
Lalu copy paste code CSS di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | /* 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; } |
1 | # cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/contoh.com.conf |
Buka file virtual host di atas:
1 | # nano /etc/apache2/sites-available/contoh.com.conf |
Lalu tambahkan sintag berikut:
1 2 3 4 | 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:
1 | # a2ensite contoh.com.conf |
#6 Nonaktifkan konfigurasi apache default dengan perintah berikut:
1 | # a2dissite 000-default.conf |
#7 Terakhir restart layanan apache dengan perintah:
1 | # systemctl restart apache2 |
Untuk mengetahui apakah hostname error, ketikkan perintah berikut:
1 | # apache2ctl configrest |
Pesan di atas menunjukkan bahwa hostname error, untuk mengatasinya, buatlah file servername.conf pada directory /etc/apache2/conf-available/ dengan perintah berikut:
1 | # nano /etc/apache2/conf-available/servername.conf |
Tambahkan alamat host contoh.com lalu simpan:
1 | ServerName contoh.com |
Aktifkan konfigurasi server name dengan perintah:
1 | # a2enconf servername |
Cek kembali apakah hostname masih error atau tidak:
1 | # 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.
Sebelum memulai instalasi, terlebih dahulu lakukan update daftar pembaharuan sistem:
1 | # apt update |
Install layanan PHP dan ekstensinya dengan perintah berikut:
1 | # apt-get install php-mysql php libapache2-mod-php php-cli |
Untuk melihat daftar modul PHP yang diinstall ketikkan perintah berikut:
1 | php -m |
Perintah di bawah ini untuk mengecek versi PHP:
1 | 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):
1 | # nano /var/www/smkbisa.com/info.php |
Tambahkan script berikut:
1 2 3 | <?php phpinfo() ?> |
Untuk menerapkan instalasi PHP, silahkan restart layanan apache2 dengan perintah:
1 | # 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.
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.
Instalasi dan Konfigurasi Web Server di Debian 11
Apache, juga dikenal sebagai Server HTTP Apache, telah menjadi salah satu aplikasi server web yang paling banyak digunakan secara global selama beberapa dekade terakhir. Secara default, Apache diinstal, dan pada repositori Debian 11 Bullseye; namun, dengan Debian, versi stabil sebagian besar tidak berubah kecuali untuk keamanan atau pembaruan bug yang mendesak untuk menjaga judul “stabil”, yang mereka ketahui. Oleh karena itu, Apache dapat kehilangan fitur dan peningkatan baru serta perbaikan bug yang tidak terkait dengan keamanan, terutama karena penundaan waktu antara rilis Debian stabil yang hanya beberapa tahun di antaranya.
Apache tersedia dalam repositori perangkat lunak default Debian, sehingga memungkinkan untuk menginstalnya menggunakan alat manajemen paket konvensional.
Selanjutnya lakukan proses install Apache2 di Debian 11 Bullseye dengan perintah: apt install apache2
Jika muncul tampilan seperti di atas ketikkan y lalu tekan enter
Tunggu progress nya hingga selesai
Langkah selanjutnya melakukan tes apakah proses instalasi apache2 telah berhasil.
Kita akan menggunakan browser dengan tampilan CLI. Lynx Browser adalah Browser yang menggunakan sistem berbasis UNIX dan DOS dan browser ini menggunakan non Grafik pada browser nya,yang artinya tidak menggunakan tampilan yang enak diliat bagi orang biasa.Lynx sendiri merupakan salah satu solusi bagi kalian yang ingin browsing (menjelajahi) dengan kuota/penggunaan data yang dikit karena browser ini tidak menampilkan gambar dan elemen kode seperti html,css,js,cookie,dan lain-lain.Dan browser ini hanya menampilkan text saja
Lantas bagaimana cara install atau pemasangan untuk browser lynx ini, yaitu dengan mengetikkan perintah : apt install lynx
Jika muncul tampilan seperti di atas ketikkan y lalu tekan enter
Tunggu sampai proses instalasi selesai
Langkah berikutnya adalah melalukan tes apache2 yang sudah kita install berhasil atau tidak meggunakan browser lynx yang sudah kita install dengan menggunakan perintah : lynx_ip address
sebagai contoh, ip address saya pada debian 11 adalah 192.168.100.1, maka perintahnya adalah : lynx 192.168.100.1
kemudian tekan enter, maka tampilannya kurang lebih akan seperti di bawah ini
Arti nya proses instalasi apache2 pada debian 11 telah berhasil
Untuk keluar dari tampilan browser lynx ketikkan huruf q
Kemudian tekan huruf y, maka kita akan keluar dari tampilan browser lynx
Sekarang debian 11 telah berhasil terinstal, Kita memiliki banyak opsi untuk jenis konten yang dapat dilayani dan teknologi yang dapat digunakan untuk menciptakan pengalaman yang lebih baik
Edit halaman Website
Gunakan perintah berikut untuk mengedit halaman website
Hapus semua isi dari website tersebut dan diganti seperti gambar di bawah ini
Kemudian restart service apache2 dengan perintah
Lanjut dengan pengujian kembali apakah berhasil meng-edit halamat website dengan perintah
Maka hasil akan seperti di bawah ini
atau jika di browser komputer host/klien seperti berikut
Selamat mencoba dan selalu semangat belajar