BAB V. INSTALLASI dan KONFIGURASI WEB SERVER 5.1. Prerequisites Installasi dan Konfigurasi Web Server Web server adalah salah satu server yang paling banyak digunakan oleh masyarakat. Sehingga service server ini benar – benar akan menguras banyak sekali pembahasan dari penulis. Namun, untuk membangun server ini penulis mengatakan sangat mudah sekali. Orang awampun jika mengikut tahapa – tahapan berikut ini akan dapat membangun sebuha web server dengan baik. Untuk dapat membangun web server dalam praktikum kali ini penulis mengharapkan anda untuk memenuhi beberapa persyaratan wajib berikut ini : VM Linux Debian sudah terkoneksi dengan jaringan internet. VM Linux Debian sudah melakukan update repository. VM Linux Debian sudah dilakukan konfigurasi IP Address. Memiliki VM Windows 7 (sistem operasi client) yang akan digunakan untuk uji coba. Service web server ini biasanya berhubungan erat dengan database server. Namun penulis ingin mengupas masing – masing server dengan tuntas maka database server penulis bahas secara sendiri.
5.2. Dasar Teori Web Server Sebelum kita masuk kedalam pembahasan materi server web atau web server perlu diketahui bahwa web server dan web browser adalah sesuatu hal yang berbeda. Letak perbedaanya akan penulis bahas pada pembahasan dibawah ini. Apa itu web server ? mari kita sejenak mendengarkan beberapa pendapat tentang definisi web server baru selanjutnya kita akan mengambil sebuah kesimpulan. 1. A Web server is a program that uses HTTP (Hypertext Transfer Protocol) to serve the files that form Web pages to users, in response to their requests, which are forwarded by their computers' HTTP clients. Dedicated computers and appliances may be referred to as Web servers as well. Web servers often come as part of a larger package of Internet- and intranet-related programs for serving email, downloading requests for File Transfer Protocol (FTP) files, and building and publishing Web pages. Considerations in choosing a Web server include how well it works with the operating system and other servers, its
72
ability to handle server-side programming, security characteristics, and the particular publishing, search engine and site building tools that come with it.11. 2. A web server is a system that delivers content or services to end users over the internet. A web server consists of a physical server, server operating system (OS) and software used to facilitate HTTP communication. A web server is also known as an internet server12. 3. Web servers are computers that deliver (serves up) Web pages. Every Web server has an IP address and possibly a domain name. For example, if you enter the URL http://www.webopedia.com/index.html in your browser, this sends a request to the Web server whose domain name is webopedia.com. The server then fetches the page named index.html and sends it to your browser. Any computer can be turned into a Web server by installing server software and connecting the machine to the Internet. There are many Web server software applications, including public domain software and commercial packages 13. 4. Server web atau peladen web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web dalam layanan ke pengguna dengan menggunakan aplikasi tertentu seperti peramban web. (Wikipedia) 5. Server atau Web server adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser (Mozilla Firefox, Google Chrome) dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML. (idcloudhost) Cukup banyak juga referensi definisi dari webserver yang penulis berikan kepada anda sekalian. Bagaimana, apakah anda sudah dapat menyimpulkan dengan bahasa anda sendiri. Apakah yang dimaksut dengan web server ?. Penulis mengambil kesimpulan dari beberapa pendapat diatas bahwa web server adalah sebuah service server (software) yang dilakukan installasi di dalam komputer server, dan berfungsi untuk menerima permintaan (request HTTP) client untuk mendapatkan isi konten yang 11
https://whatis.techtarget.com/definition/Web-server diakses tanggal 23 Juni 2018 https://www.techopedia.com/definition/4928/web-server diakses tanggal 23 Juni 2018 13 https://www.webopedia.com/TERM/W/Web_server.html diakses tanggal 23 Juni 2018 12
73
dibutuhkan. Anda dapat memiliki pendapat sendiri tidak harus sesuai dengan yang penulis sampaikan disini. Apakah anda masih kesulitan dalam memahami definisi tersebut ?. Coba penulis bahas kembali secara bertahap. Apakah anda pernah mengunjungi situs https://facebook.com. Selanjutnya jika kita akses URL
14tersebut
kita akan disuguhkan konten login facebook atau profile dari facebook milik kita. Pernahkah anda berfikir dimana letak file untuk memanggil konten dari facebook.com tersebut. Konten dari facebook disimpan dalam sebuah komputer server, yang didalamnya dilakukan installasi service web server. Sehingga seluruh komputer yang terhubung dengan jaringan dapat melihat isi dari konten server dari facebook tersebut. Fungsi utama Web server adalah untuk melakukan atau akan mentransfer berkas permintaan pengguna melalui protokol komunikasi yang telah ditentukan sedemikian rupa. halaman web yang diminta terdiri dari berkas teks, video, gambar, file dan banyak lagi. pemanfaatan web server berfungsi untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web termasuk yang di dalam berupa teks, video, gambar dan banyak lagi. Web Server bekerja dengan menerima permintaan dari HTTP atau HTTPS pada klien yang biasanya kita kenal dengan nama web browser (Mozilla Firefox, Google Chrome) dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML. Web Server bekerja atas permintaan HTTP atau HTTPS yang direquest oleh client.Apa itu HTTP atau HTTPS ?. Sebelum penulis bahas itu, diatas penulis menuliskan tentang URL. Pada aplikasi berbasis web, terdapat URL (Uniform Resource Locator) yang merupakan identifikasi unik untuk menentukan alamat suatu layanan web. Suatu URL memuat empat buah komponen dalam penulisannya, yaitu : 1. Protokol yang digunakan Pada WWW dan HTTP, protokol yang dituju adalah protokol HTTP itu sendiri (dan pada beberapa kasus bisa jadi ke protokol HTTPS). Sehingga URL harus secara jelas mencantumkan protokol apa yang digunakannya didalam melakukan koneksi. Misalnya jika anda ingin mengambil sebuah file dari FTP Server milik anda maka yang harus anda gunakan adalah protokol ftp sehingga yang biasanya anda mengetikkan http://namadomain ketika akan mengambil
14
URL adalah adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di Internet.
74
sebuah file dari ftp yang anda ketikkan adlah ftp://alamatserverftp. Bagaimana jika anda mengetikkan http://ftp://alamatservertujuan maka yang akan keluar adalah menampilkan layanan FTP Server yang diakses dari lingkungan web browser. 2. Host (komputer) yang dituju URL harus mencantumkan alamat dari komputer server yang akan dituju maupun komputer pemberi layanan. Misalkan anda akan mengakses situs facebook.com maka yang anda ketikkan pada URL haruslah lengkap https://facebook.com. Anda tidak akan dapat masuk ketampilan facebook.com jika hanya mengetikkan protokol yang digunakan saja (https://). Atau nama domain yang anda masukkan dapat diganti dengan IP Address dari situs facebook.com 3. Port yang digunakan Port memberikan peranan penting di dalam koneksi pada jaringan komputer dan komunikasi di dalamnya. Server akan membukakan port koneksi, sehingga semua client dapat terhubung dengannya. Port standart yang digunakan dalam web server ada dua yaitu port milik dari protokol http yaitu 80 atau 8080, sedangkan untuk https menggunakan nomor port 443. 4. Path Path adalah sebuah direktory atau subdirektory tempat dimana file atau konten dari website yang kita kunjungi berada. Misalnya ketika anda mengakses https://detik.com dan https://detik.com/health akan menghasilkan halaman yang berbeda. Jika anda mengetikkan https://detik.com/health maka anda akan dibawa kedalam berita – berita yang berhubungan dengan kesehatan. Sedangkan jika mengakses https://detik.com anda akan ditampilkan semua berita dari detik. Tambahan perintah dibelakang domain utama ....../health inilah yang disebut dengan path. Fungsi dan definisi dari sebuah web server sudah penulis uraikan, sekarang apa saja aplikasi yang dapat digunakan dalam membangun sebuah web server di dalam sistem operasi linux. Ada beberapa aplikasi yang dapat anda gunakan untuk membangun web server di linux, tentunya dengan kelebihan dan kekurangan masing – masing antara lain adalah :
75
1. Apache Web Server
Gambar 5.1. Logo Web Server Apache Apache adalah sebuah nama web server yang bertanggung jawab pada requestresponse HTTP dan logging informasi secara detail(kegunaan basicnya). Selain itu, Apache juga diartikan sebagai suatu web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Kelebihan web server apache antara lain adalah :
Apache termasuk dalam kategori freeware.
Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti NCSA, IIS, dan lain-lain.
Mampu beroperasi pada berbagai paltform sistem operasi.
Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file konfigurasi.
Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya.
Setelah kita membahas kelebihan maka yang namanua aplikasi buatan manusia pasti memiliki kelemahan. Web server apache memiliki beberapa kelemahan antara lain :
web server Apache tidak memiliki kemampuan mengatur load seperti IIS, sehingga akan terus mem-fork proses baru hingga Nilai MaxClients tercapai atau hingga batas yang diizinkan oleh OS. Ini tentunya menguntungkan penyerang karena habisnya RAM akan lebih cepat tercapai.
Apache tidak memproses karakter kutip dalam string Referrer dan User-Agent yang dikirimkan oleh Client. Ini berarti Client dapat memformulasi inputnya secara hati-hati untuk merusak format baris log akses
Terganggunya proses upload data, yang bisa menyebabkan software salah dalam menerjemahkan ukuran data yang masuk.
76
2. NginX Web Server
Gambar 5.2. Logo Web Server Nginx Nginx (baca: engine x) adalah server HTTP dan Proxy dengan kode sumber terbuka yang bisa juga berfungsi sebagai proxy IMAP/POP3. Kode sumber nginx ditulis oleh seorang warga negara Rusia yang bernama Igor Sysoev pada tahun 2002 dan dirilis ke publik pada tahun 2004. Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim mengonsumsi sumber daya. Nginx juga memiliki fitur seperti reverse proxy multiple protocols (HTTP, Memcached, PHP‑FPM, SCGI, uwsgi), Stream HTTP video (FLV, HDS, HLS, MP4) serta HTTP/2 gateway. Berikut adalah kelebihan dan kekurangan web server Nginx : 1. Performanya yang tinggi, stabil, memiliki banyak fitur 2. Mudah dikonfigurasi 3. Menggunakan hanya sedikit sumberdaya pada server 4. Tidak bergantung kepada thread untuk melayani klien 5. Belum support IPV6 6. Update/patchnya versi terbarunya lama keluar 7. Fast-CGInya tidak berfungsi maximal 8. Pemakainya tidak sebanyak Apache atau IIS (komunitasnya tidak sebanyak Apache atau IIS) 3. Lighttpd Web Server Lighttpd adalah webserver untuk OS Unix, Linux, BSD, dan Windows. Lighttpd merupakan alternatif pilihan disamping webserver yang sudah terkenal semacam apache / httpd. Lighthttpd dijuluki juga si Lighty.
77
Lighttpd di desain untuk keamanan, kecepatan, fleksibel dan memenuhi standar international serta bisa diaplikasikan kedalam mesin produksi. Lighttpd sangat ringan dibandingkan webserver lainnya (kebutuhan kinerja cpu kecil), sangat cocok untuk server yang mempunyai beban besar. Masih cukup banyak aplikasi web server yang bisa anda gunakan, namun penulis tidak akan membahas keseluruhan karena keterbatasan waktu. Ketiga aplikasi web server tersebut adalah sebuah aplikasi web server yang paling banyak digunakan oleh masyarakat terutama adalah apache. Pada tutorial kali ini penulis akan menggunakan web server yang sangat populer dikalangan masyarakat yaitu apache web server. Aplikasi apache web server dapat anda unduh dan gunakan secara gratis. Serta kompatibilatasnya dengan banyak platform dan plugin serta modul yang banyak akhirnya penulis memutuskan menggunakan web server ini. Untuk web server yang lain akan penulis bahas pada pembahasan yang berbeda. Apache web server di linux debian diberikan kode paket apache2. Agar web server bekerja dengan optimal penulis menyandingkan apache dengan php. PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum (wikipedia). PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net. Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan halaman web bersifat tetap. Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah situs web yang bisa menyesuaikan tampilan konten tergantung situasi. Website dinamis juga bisa menyimpan data ke dalam database, membuat halaman yang berubah-ubah sesuai input dari user, memproses form, dll. Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML. Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script. Untuk melakukan installasi paket web server (apache2 dan PHP) pada linux debian 9 anda dapat dengan mudah, ketikkan perintah : apt install apache2 php
78
Setelah anda melakukan installasi web server apache langsung dapat anda lakukan konfigurasi (dibahas dalam bagian praktikum). Namun, jika anda ingin melakukan beberapa konfigurasi juga dipersilahkan kita akan bahas juga disini nantinya. Cukup mudah bukan ?.
5.3. Proses Installasi dan Konfigurasi Web Server Apache dan PHP Setelah panjang lebar penulis uraikan tentang web server apache dan apa itu web server beserta dengan fungsinya, sekarang kita akan mencoba untuk menerapkan web server apache digabungkan dengan PHP di dalam server milik kita. Bagi anda yang baru saja menyewa server VPS sendiri semua tahapan yang ada di sini juga dapat dilakukan. Sehingga anda dapat memanageme VPS milik anda secara mandiri tanpa harus menyewa orang untuk melakukan konfigurasi server. Penulis kembali mengingatkan sebelum melakukan praktikum ini anda harus menyiapkan persyaratan yang dituliskan dibagian prerequisites. Jika semua sudah anda persiapkan maka tahapan selanjutnya ikutilah langkah – langkah berikut ini untuk melakukan installasi dan konfigurasi : 1. Tahapan pertama silahkan anda lakukan update terlebih dahulu seluruh aplikasi server anda dengan menggunakan perintah apt-get update. Selanjutnya silahkan anda masuk kedalam super user didalam terminal debian milik anda.
Gambar 5.3. Login kedalam superuser 2. Selanjutnya silahkan lakukan installasi paket aplikasi web server yang terdiri dari apache web server dengan php. Untuk PHP disini linux debian sudah di support oleh php 7.0. Silahkan anda gunakan perintah apt install apache2 php dan tekan Enter untuk melakukan proses installasi.
Gambar 5.4. Perintah installasi paket aplikasi apache dan php
79
3. Jika ada konfirmasi dari linux debian silahkan anda langsung menekan tombol Enter untuk melanjutkan. Tunggu proses download aplikasi yang anda minta beserta file pendukung (dependensi file), dan sistem juga akan melakukan installasi secara otomatis.
Gambar 5.5. Proses download dan installasi paket apache dan php 4. Jika proses installasi selesai dilakukan oleh sistem, kita lanjut langsung membuat sebuah file yang nantinya akan menampilkan versi dari php yang kita gunakan dan sekaligus menguji coba apakah php yang kita gunakan dan web server
apache
sudah
jalan
atau
belum.
Gunakan
perintah
nano
/var/www/html/info.php dan tekan tombol Enter untuk melanjutkan.
Gambar 5.6. Membuat sebuah file info.php 5. Buatlah sebuah file dengan format seperti pada gambar 5.7 berikut ini. Jika sudah silahkan anda simpan konfigurasi anda (Ctrl + X, Y, Enter).
Gambar 5.7. Script untuk mengecek php
80
5.4. Uji Coba Konfigurasi Web Server Apache dan PHP Setelah dilakukan installasi dan sedikit konfigurasi maka sekarang saatnya kita melakukan ujicoba. Uji coba disini hanya untuk mengetahui apakah web server apache dan PHP dapat berjalan atau tidak seperti itu saja. Untuk konfigurasi lebih lanjut kita bahas pada pembahasan yang lain dalam tutorial kali ini juga. Untuk kesempatan kali ini kita tidak akan banyak melakukan uji coba, silahkan anda ikuti tahapan berikut ini untuk melakukan beberapa ujicoba. 1. Silahkan anda aktifkan VM dari Client yang anda gunakan. Disini penulis menggunakan client VM Windows 7 Ultimate SP 1 32bit. Pastikan VM Client sudah terhubung dengan jaringan VM debian 9 (interface ke 2). Jika sudah silahkan anda akses web browser anda dan ketikkan IP Address dari web server (IP Address interface 2). Jika konfigurasi yang anda lakukan benar maka anda akan mendapatkan tampilan seperti berikut ini.
Gambar 5.8. Web Server apache dapat berjalan di client
81
2. Selanjutnya kita ujicoba pula apakah php yang kita install juga dapat berjalan. Silahkan anda ketikkan alamat berikut di URL anda 192.168.1.1/info.php. Sesuiakan dengan IP Address yang anda gunakan. Jika sudah muncul seperti pada gambar 5.9 berikut maka php yag anda install sudah berjalan.
Gambar 5.9. Tampilan PHP Info
Sampai pada tahapan ini anda sudah selesai dalam melakukan installasi dan konfigurasi web server disertai dengan php. Anda tinggal mengisikan konten yang anda inginkan. Dokumen utama web server pada linux debian 9 ini default ada di /var/www/html/. Sehingga jika anda ingin menempatkan konten untuk website anda silahkan letakkan disana. Atau anda dapat menggantinya sesuai dengan yang anda inginkan. Namun, jika anda mengganti letak direktory default tersebut anda harus melakukan konfigurasi virtualhost. Apa itu virtualhost ?, silahkan bersabar karna pasti akan penulis bahas pada tutorial kali ini.
82