BAB II
LANDASAN TEORI
2. 1 Tinjauan Pustaka
2.1.1 iMedia Linux
iMedia Linux LAMP System adalah salah satu distro yang di
kembangkan oleh imedialinux.com yang khusus di kembangkan untuk
embedded hardware. Distro ini menggunakan OS Linux berbasis Gentoo,
Apache Webserver, MySQL database, dan php, perl serta python untuk
kelengkapannya. Dengan ukuran iso mencapai 126 Mbyte distro ini hanya
memasukkan pustaka dasar saja selain itu karena di tujukan untuk
hardware embedded maka pustaka hardwarenya pun sangat terbatas.
(imedialinux.com)
Kelemahan iMedia Linux adalah ketergantungan terhadap remote
admin dengan teknologi ssh, satu-satunya GUI admin hanyalah melalui
webmin, sehingga admin harus benar-benar menguasai perintah-perintah
CLI untuk dapat melakukan administrasi server secara efisien.
2.1.2 Eisfair Project
Eisfair Project di kembangkan oleh Frank Meyer
<frank [at] eisfair [dot] org> merupakan distro khusus untuk webserver
yang sangat kecil, hanya berukuran 90 Mbyte untuk eisfair-2, sedangkan
7
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
8
eisfair-1 hanya 50 Mbyte. Dalam websitenya di sebutkan bahwa untuk
instalasi eisfair di sarankan diletakkan di belakang router atau firewall,
karena distro ini tidak memiliki paket routing dan iptables. Web admin
yang digunakan bukanlah webmin namun interface khusus yang
dikembangkan sendiri.
Aplikasi yang disertakan sebenarnya cukuplah lengkap diantaranya;
webserver, ftp server, mail server dan lain sebagainya, namun hampir
kesemuanya harus di konfigurasikan melalui interface ncurses sedangkan
web admin nya sendiri tidak lah selengkap versi CUI based. Selain itu
kernel yang di gunakan adalah versi lama yaitu Kernel 2.4.35
(http://www.eisfair.org)
2. 2 Sistem Operasi
2.2.1 Pengertian Sistem Operasi.
Pengertian sistem operasi adalah perangkat lunak yang berfungsi
sebagai antar muka untuk perangkat keras, menjadwalkan kegiatan,
mengalokasikan media penyimpanan dan menyediakan antarmuka default
kepada pengguna pada saat tidak ada aplikasi yang sedang dijalankan.
Secara umum, Sistem Operasi adalah software pada lapisan pertama
yang ditaruh pada memori komputer pada saat komputer dinyalakan.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi
berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
9
software-software itu. Layanan inti umum tersebut seperti akses ke disk,
manajemen memori, skeduling task, dan antar-muka user. Sehingga
masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum
tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian
kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan
dengan "kernel" suatu Sistem Operasi.
2.2.2 Fungsi Sistem Operasi
Berikut ini adalah beberapa fungsi dasar dari sebuah system operasi
(netman.vn) :
1. Memproses input dari papan ketik dan/atau mouse.
2. Menampilkan hasil operasi ke layar monitor.
3. Melacak keberadaan dokumen dan direktori pada harddisk.
4. Mengendalikan perangkat keras seperti harddisk dan printer.
5. Menjadwalkan proses untuk dijalankan.
6. Mengalokasikan memori untuk digunakan oleh sebuah aplikasi.
7. Menyediakan antarmuka standar bagi pengguna komputer.
Masih menurut sumber yang sama, sebuah sistem operasi juga harus
memiliki fungsi untuk melakukan hal-hal sebagai berikut :
1. Bertindak sebagai pengatur lalu lintas data dan program yang
dijalankan.
2. Memastikan berbagai macam aplikasi yang dijalankan pengguna
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
10
komputer tidak saling terganggu.
3. Memastikan tidak diakses oleh pengguna yang tidak berhak.
4. Menentukan waktu yang dialokasi untuk aplikasi sebelum aplikasi
yang lain mendapat giliran.
2.2.3 Kelompok Sistem Operasi
Sistem operasi pada kelompok modern dapat dibagi menjadi 3
kelompok. Berikut ini adalah penjelasan singkat mengenai masing-masing
kelompok sistem operasi yang ada pada sistem komputer modern
berdasarkan informasi yang dipublikasi oleh netnam.vn.
1. Batch
Pada sistem operasi batch ini, pengguna komputer mendaftarkan
operasi yang ingin dilakukan ke komputer pusat dimana semua operasi
akan dikumpulkan dan diurutkan berdasarkan waktu masuknya dan
dijalankan pada saat tertentu berdasarkan urutan masuknya (metode
antrian). Dalam hal ini, pengguna komputer tidak berinteraksi dengan
operasi tersebut pada saat operasi tersebut dijalankan.
2. Time-Shared
Pada sistern operasi yang bersifat time-shared ini, sebuah komputer
digunakan untuk melayani operasi-operasi dari banyak
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
11
pengguna.Dalam hal ini, semua pengguna komputer menggunakan
prosesor, memory dan sumber daya lainnya dari komputer tersebut
yang difasilitasi, dikendalikan dan dimonitor oleh sistem operasi.
Dalam sistem operasi bersifat time-shared ini, pengguna komputer
berinteraksi dengan aplikasi pada saat operasi dijalankan.
3. Real Time
Sistem operasi yang bersifat real-time ini dirancang untuk melayani
aplikasi-aplikasi yang memerlukan response-time yang cepat untuk
mencegah terjadinya kesalahan.Contoh dari sistem operasi yang
bersifat real-time ini adalah sistem-sistem yang mengatur sistem
penerbangan dan sistem yang memonitor stasiun tenaga nuklir.
2.2.4 Karakteristik Sistem Operasi
Berikut ini adalah beberapa karakteristik yang dapat dijumpai pada
sistem operasi yang ada pada saat sekarang ini (webopedia.com, 2003)
1. Multi-user
Yang dimaksud dengan multi-user adalah suatu keadaan dimana lebih
dari satu pengguna sistem operasi dapat memasuki sistem dan
melakukan berbagai macam operasi serta menjalankan berbagai
macam aplikasi pada saat yang bersamaan.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
12
2. Multi-processing
Sedangkan yang dimaksud dengan multi-processing adalah lebih dari
satu processor dapat digunakan untuk menjalankan suatu aplikasi
dan/atau melakukan suatu operasi.
3. Multi-tasking
Multi-tasking adaiah suatu keadaan dimana sistem operasi tersebut
dapat melakukan berbagai macam tugas pada saat yang bersamaan,
seperti menjalankan suatu aplikasi atau melakukan suatu operasi.
4. Protected
Adapun yang dimaksud dengan protected adalah suatu karakteristik
sistem operasi yang dapat mencegah suatu aplikasi untuk mengakses
perangkat keras secara langsung.
2.2.5 Komponen-komponen Sistem Operasi
Seperti yang telah diketahui bahwa sistem operasi yang menjalankan
berbagai aplikasi untuk melakukan berbagai macam operasi. Antarmuka
yang disediakan oleh sistem operasi itu terbentuk dari berbagai macam
komponen-komponen kecil dengan antarmuka yang telah dibuat
sebelumnya. Berikut ini adalah penjelasan mengenai komponen-komponen
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
13
tersebut berdasarkan artikel yang diterbitkan oleh netnam.vn.
2. 2.5.1 Manajemen Proses (Process Management)
Yang dimaksud dengan proses adalah suatu operasi yang
dihasilkan dari aplikasi yang dijalankan oleh pengguna komputer.
Setiap proses akan memerlukan sumber daya yang ada seperti memori
dan dokumen untuk menyelesaikan tugasnya. Perlu diketahui, suatu
aplikasi bukanlah suatu proses. Satu proses atau lebih dapat dihasilkan
dari satu apiikasi yang sama dan proses-proses tersebut dibedakan
sebagai proses yang berbeda.
Sistem operasi bertanggung jawab untuk hal-hal berikut dalam
hal kaitannya dengan manajemen proses:
1. Pembuatan dan penghapusan proses-proses yang dihasilkan oleh
pengguna komputer dan sistem.
2. Menetapkan mekanisme penanggulangan deadlock.
2. 2.5.2 Manajemen Memori (Memory Management)
Memori merupakan pusat operasi pada sistem komputer
modern.Memori adalah sekumpulan larik (array) berukuran byte atau
word yang didifenisikan dengan alamat masing-masing. Dalam
menjalankan suatu operasi, hal yang dilakukan adalah serangkaian
operasi baca dan tulis ke alamat memori tertentu.CPU mengambil data
dari dan menyimpan data ke memori. Agar sebuah aplikasi dapat
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
14
dijalankan,aplikasi tersebut hams dimasukkan ke dalam memori.
Untuk meningkatkan kerja CPU dalam menjalankan berbagai operasi,
beberapa proses harap tetap disimpan dalam memori.
Sistem operasi bertanggungjawab untuk hal-hal berikut dalam
hal kaitannya dengan manajemen memori :
1. Menyimpan informasi tentang bagian mana yang sedang
digunakan dan oleh siapa bagian tersebut digunakan.
2. Menentukan proses yang mana yang dimasukan ke memori jika
ada tempat yang tersedia.
3. Mengalokasikan tempat dalam memori dengan baik dan benar.
2. 2.5.3 Manajemen Media Penyimpanan (Storage Management)
Tujuan utama dari adanya sebuah sistem komputer adalah
menjalankan aplikasi untuk melakukan kegiatan tertentu. Aplikasi-
aplikasi tersebut beserta data-data yang digunakan harus berada pada
memori pada saat aplikasi-aplikasi tersebut dijalankan. Karena
kapasitas memori terlalu kecil untuk menampung semua aplikasi dan
data tersebut secara permanen, maka digunakanlah media
penyimpanan lainnya untuk mendukung memori yang ada. Sistem
komputer yang ada pada saat sekarang ini menggunakan harddisk
untuk penyimpanan aplikasi dan data. Sebagian aplikasi seperti
compiler, assembler, editor dan lainnya disimpan dalam media
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
15
penyimpanan tersebut sampai aplikasi tersebut dimasukan kedalam
memori. Oleh karena itu, media penyimpanan yang benar merupakan
suatu aspek yang penting dalam sebuah sistem komputer. Sistem
operasi bertanggungjawab untuk hal-hal berikut dalam hal kaitannya
dengan media penyimpanan :
1. Manajemen sisa ruang yang ada pada media penyimpanan.
2. Alokasi penyimpanan.
2. 2.5.4 Manajemen Sistem Masukan/Keluaran (I/O Management)
Salah satu tujuan dari dibuatnya sebuah. sistem operasi yang
tidak kalah penting adalah untuk menyembunyikan kerumitan
penggunaan perangkat keras yang ada dari pengguna komputer.
Sebagai contoh, dalam sistem operasi UNIX dan sejenisnya, semua
kerumitan tersebut disembunyikan oleh sistem I/O. Sistem I/O yang
dimaksud meliputi:
1. Sistem buffer caching.
2. Kode driver untuk perangkat keras yang digunakan secara umum.
2. 2.5.5 Management Dokumen (File Management)
Manajemen dokumen adalah salah satu jenis layanan yang
paling nyata terlihat dari sebuah sistem operasi. Penyimpanan
informasi dapat dilakukan pada berbagai bentuk media penyimpanan.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
16
Setiap media penyimpanan tersebut mempunyai karakteristik dan
metode pengorganisasian dokumen tersendiri. Pada umumnya,
dokumen dapat berbentuk program dan data. Dokumen data dapat
berbentuk numerik, alfabetik ataupun alfanumerik.
Sistem operasi bertanggungjawab untuk hal-hal berikut dalam
hal kaitannya dengan manajemen dokumen:
1. Pembuatan dan penghapusan dokumen.
2. Pembuatan dan penghapusan direktori.
3. Kemampuan manipulasi dokumen dan direktori.
2. 2.5.6 Sistem Proteksi (Protection System)
Proses-proses yang ada dalam sebuah sistem operasi harus
terlindungi agar tidak terjadi kesalahaan dalam memproses operasi
yang diinginkan. Berbagai mekanisme digunakan untuk memastikan
bahwa dokumen, segmen memori, prosesor dan sumber daya lainnya
hanya dapat digunakan oleh proses yang telah ditentukan oleh sistem
operasi.
2. 2.5.7 Jaringan (Networking)
Jaringan adalah sistem terdistribusi, yang merupakan kumpulan
dari berbagai komputer yang saling terhubung dan dapat
berkomunikasi.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
17
2. 2.5.8 Sistem Penerjemah Perintah (Command Interpeter System)
Salah satu komponen utama dalam sebuah sistem operasi adalah
penerjemah perintah, yang merupakan antarmuka utama antara
pengguna dengan sistem. Peritah-perintah tersebut tentu saja
berhubungan dengan manajemen proses, manajemen I/O, manajemen
media penyimpanan, manajemen memori, manajemen dokumen,
proteksi sistem dan jaringan. Dalam sistem operasi UNIX-like, sistem
ini dikenal dengan sebutan shell atau DOS pada sistem operasi
Microsoft Windows.
2. 3 Proyek GNU
2.3.1 Sejarah Proyek GNU
Dalam situs http: //www.gnu.org. disebutkan bahwa Proyek GNU
dipelopori oleh Richard Stallman, seorang hacker yang bekerja di
laboratorium Artificial Intelligence sebuah lembaga pendidikan,
Massachusets Institute of Technology (MIT). Proyek ini bermula dari
semakin banyaknya perangkat lunak berpemilik yang muncul dan
mengikat kebebasan seseorang untuk saling membagi dan memodifikasi
suatu perangkat lunak. Richard Stallman menganggap bahwa seorang
pengguna komputer harus memiliki kebebasan untuk memodifikasi suatu
perangkat lunak menjadi sesuai dengan kebutuhannya dan kebebasan
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
18
untuk membagi perangkat lunak tersebut.
Proyek GNU ini adalah suatu proyek yang dibuat untuk
menghasilkan berbagai macam perangkat lunak bebas berkualitas sebagai
alternatif dari perangkat lunak berpemilik yang ada.GNU itu sendiri adalah
singkatan dari GNU's- Not Unix.
Proyek GNU kemudian membuat dan mengembangkan berbagai
macam perangkat lunak bebas mulai dari compiler, pengolah kata,
program manipulasi gambar dan banyak lagi lainnya. Kemudian,
keseluruhan perangkat lunak bebas tersebut membentuk suatu sistem
perangkat lunak bebas yang lengkap dan sistem tersebut dinamakan GNU.
Kata bebas pada kata perangkat lunak bebas merujuk pada kebebasan
melakukan sesuatu terhadap perangkat lunak dan bukan pada harga (bebas
biaya). Seseorang mungkin memiliki perangkat lunak bebas yang dibuat
oleh Proyek GNU dengan dua cara, yaitu dengan membelinya ataupun
mendapatkannya secara gratis. Terlepas dari cara mendapatkannya,
pemilik perangkat lunak bebas memiliki tiga kebebasan dalam
menggunakannya. Kebebasan-kebebasan yang dimaksud adalah:
1. Memperbanyak perangkat lunak tersebut dan menyebarluaskannya.
2. Memodifikasi perangkat lunak tersebut.
3. Mendistribusikan kembali hasil modifikasi perangkat lunak tersebut,
baik dengan memungut biaya ataupum secara cuma-cuma.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
19
2.3.2 Tujuan Utama Proyek GNU
Tujuan utama dari Proyek GNU ini adalah menciptakan perangkat
lunak bebas yang diperlukan untuk mendapatkan suatu sistem operasi
lengkap yang bebas. Untuk mencapai tujuan tersebut, Proyek GNU
membuat berbagai perangkat lunak mulai dari perangkat lunak yang
bersifat utility (membantu) hingga yang digunakan untuk development
(pengembangan).
2.3.3 Perangkat Lunak Bebas GNU Project
Perangkat lunak bebas yang dihasilkan Proyek GNU sangat banyak,
berikut ini adalah beberapa perangkat lunak bebas yang dihasilkan oleh
Proyek GNU:
1. GNU C Compiler (gcc), compiler bahasa C dan C++.
2. Boume-Again Shell (bash), command interpreter seperti DOS.
3. GNU Ernacs, aplikasi teks editor.
4. GNU Image Manipulation Program (GIMP),aplikasi pengolah gambar.
2. 4 Linux.
2.4.1 Sejarah Linux
Menurut Tom Schenk , Linux mulai dikembangkan oleh Linus
Bennedict Torvalds, seorang mahasiswa Universitas Helsinki, Finlandia,
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
20
pada tahun 1991. Linux adalah sebuah kernel, inti dan bagian yang selalu
ada dalam sebuah sistem operasi. Linux ditulis dengan tujuan untuk
mendapatkan suatu sistem operasi yang mendukung multi-user, multi-
tasking, multi-processings dan protected yang pada dasamya hampir
menyerupai Unix. Linux versi 0.01 kemudian disebarluaskan pada
pertengahan bulan September 1991 di bawah lisensi GNU General Public
License (GPL) melalui internet. Linux mendapatkan sambutan yang luar
biasa biasa dari para programmer, developer dan hacker di seluruh dunia.
Hasilnya, source code Linux di-download, dicoba, dikembangkan
dan dikirimkan kembali ke Linus. Tidak lama kemudian setelah kerja
sama dari semua pihak yang membantu, Linux versi 0.02 didistribusikan
pada tanggal 5 Oktober dan Linux juga sudah mulai menggunakan
perangkat lunak yang dibuat oleh Proyek GNU yang pada saat itu sudah
menciptakan banyak sekali perangkat lunak bebas. Beberapa minggu
kemudian, Linux versi 0.03 resmi diluncurkan ke publik.Hingga bulan
Desember, versi 0.10 dari Linux dipublikasikan dan pada saat itu masih
belum begitu sempurna. Pada bulan yang sama, versi 0.11 didistribusikan
dan versi yang ini telah berkembang jauh lebih baik. Linux versi 0.11 ini
mendukung penggunaan berbagai macam keyboard, floppy disk, VGA,
EGA, dan lainnya. Setelah pengembangan, versi 0.12 diiuncurkan dan
setelah. Itu versi yang digunakan adalah versi 0.95 dan selanjutnya dengan
alasan bahwa Linux telah lebih stabil dan siap digunakan.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
21
2.4.2 Linux dan GNU/LINUX
Linux sendiri hanyalah sebuah kernel, dan hal itu tidak menjadikan
Linux sebagai sebuah sistem - operasi karena sebuah sistem operasi terdiri
dari kernel sebagai aplikasi pengatur dan sekumpulan aplikasi lainnya
untuk melakukan tagas-tugas tertentu. Agar Linux dapat menjadi sebuah
sistem operasi yang lengkap, maka Linux kemudian. dipaketkan dengan
berbagai macam perangkat lunak bebas yang dibuat oleh Proyek GNU,
yang pada akhimya membentuk suatu sistem operasi yang lengkap.
Karena sistem operasi yang dihasilkan adalah gabungan dari kernel
Linux dan berbagai perangkat lunak bebas dari GNU, pihak GNU melalui
situsnya menyatakan bahwa cara yang benar untuk menyebut nama sistem
operasi tersebut adalah GNU/Linux, bukan Linux. Menurut Richard
Stallman, salah satu vendor yang mendistribusikan sistem operasi
GNU/Linux menyebutkan. bahwa paket perangkat lunak bebas GNU
adalah satu kesatuan paket yang terbesar, menggunakan 28% daya
tampung sebuah CD, Dan beberapa perangkat lunak yang ada pada paket
tersebut adalah perangkat lunak yang sangat penting, yang dapat
menyebabkan sistem operasi GNU/Linux tidak dapat berfungsi jika
perangkat lunak tersebut tidak ada.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
22
2.4.3 Kelebihan dan Kekurangan GNU/LINUX
Seperti semua OS yang ada, GNU/LINUX pun memiliki kelebihan
dan kekurangan diantaranya.
Kelebihannya antara lain;
◦ Full Multitasking,memungkinkan user dapat menjalankan banyak
aplikasi pada saat bersamaan.
◦ Full Multiuser,memungkinkan banyak user dapat melakukan login di
sebuah komputer secara bersama-sama.
◦ Mendukung implementasi lengkap TCP/IP (Transmission Control
Protocol/Internet Protocol) yang memungkinkan suatu komputer
terhubung dengan jaringan dan internet.
◦ Dapat menyimpan data dalam berbagai jenis sistem file.
◦ Memiliki banyak aplikasi pendukung yang diciptakan oleh GNU.
◦ Perkembangannya cepat dan berkesinambungan.
◦ Lebih murah.Dapat diperoleh secara bebas.
◦ Lebih stabil (tidak cepat crash).
◦ Tingkat keamanan data lebih terjamin
◦ Mendukung memori virtual. Memungkinkan program menggunakan
library secara bersama-sama,sehingga file executable dapat lebih
sedikit menggunakan ruang disk.
◦ Mendukung untuk multiconsole dimana pada saat bersamaan di depan
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
23
komputer langsung tanpa harus melalui jaringan dan memungkinkan
lebih dari satu user masuk ke sistem.
Sedang kelemahannya antara lain;
◦ Karena Linux merupakan peranti lunak bebas,tidak seorangpun dapat
menjamin Linux dapat berjalan pada suatu perangkat komputer.
◦ Masih banyak peranti keras yang tidak didukung sistem operasi Linux.
Jadi,kita harus mengunduh driver melalui internet atau menguttak-atik
kernel dan mengompilasinya.
◦ Kurangnya aplikasi pendukung multimedia, khususnya game.
2. 5 Webserver
Fungsi utama dari sebuah server web adalah memberikan halaman web
untuk klien. Ini berarti pengiriman dokumen HTML dan konten tambahan yang
mungkin termasuk oleh dokumen, seperti gambar, lembar kerja dan javascripts.
Sebuah klien, biasanya browser web atau web crawler, memulai
komunikasi dengan membuat permintaan untuk suatu sumber daya tertentu
menggunakan HTTP dan server merespon dengan isi yang sumber daya, atau
pesan kesalahan jika tidak dapat melakukannya. Sumber daya biasanya file nyata
pada memori sekunder server, tapi ini belum tentu demikian dan tergantung pada
bagaimana web server diimplementasikan.
Banyak web server generik juga mendukung server-side scripting,
misalnya, Apache HTTP Server dan PHP. Ini berarti bahwa perilaku dari server
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
24
web dapat ditulis dalam file terpisah, sedangkan perangkat lunak server yang
sebenarnya tetap tidak berubah. Biasanya, fungsi ini digunakan untuk membuat
dokumen HTML on-the-fly yang merupakan kebalikan untuk dokumen tetap.
Web server tidak selalu digunakan untuk melayani world wide web, bukan
mereka juga dapat ditemukan tertanam di perangkat seperti printer, router,
Webcam dan melayani hanya jaringan lokal. Web server kemudian dapat
digunakan sebagai bagian dari sistem untuk pemantauan dan/atau
pengadministrasian perangkat tersebut. Hal ini biasanya berarti bahwa tidak ada
software tambahan harus diinstal pada komputer klien, karena hanya browser
web yang diperlukan diperlukan yang biasanya sudah terpasang pada OS modern
2.5.1 Apache Web Server
Apache HTTP Server, biasa disebut sebagai Apache, adalah
perangkat lunak server web terkenal dan memainkan peran kunci dalam
pertumbuhan awal dari World Wide Web Sebagian besar web server yang
menggunakan Apache juga menjalankan sistem operasi mirip Unix,
walaupun apache juga tersedia untuk platform windows.
Apache dikembangkan dan dipelihara oleh komunitas FOSS
dibawah naungan Apache Software Foundation. Aplikasi ini tersedia
untuk berbagai sistem operasi, termasuk Unix, GNU, FreeBSD, Linux,
Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS / 2, TPF,
dan eComStation. Dirilis di bawah Lisensi Apache, Apache ditandai
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
25
sebagai perangkat lunak open source.
Sejak April 1996 Apache telah menjadi perangkat lunak server
HTTP yang paling populer digunakan. Pada Februari 2010 Apache
melayani lebih dari 54,46% dari semua situs web dan lebih dari 66% dari
satu juta webserver tersibuk.
2.5.2 Instalasi Apache WebServer secara umum
Hampir semua distro linux telah menyertakan Apache sebagai
default aplikasi Web Server. Untuk menginstalasi paket Apache di distro
Linux Debian, gunakan fasilitas apt-get.
root@WebServer:# apt-get install apache2Reading package lists … DoneBuilding dependency tree…DoneThe following extra packages will be installed:apache2-mpm-worker apache2.2-commonSuggested packages:www-browser apache2-docThe following NEW packages will be installed:apache2 apache2-mpm-worker apache2.2-common0 upgraded, 3 newly installed, 0 to remove and 61 notupgraded.Need to get 1444kB of archives.After unpacking 4170kB of additional disk space will be used.Do you want to continue [Y/n]?y
Untuk mengetahui apakah Web Server telah jalan, masukkan url
http://localhost di Web browser Anda.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
26
2. 6 Apache WebServer pada Ubuntu 9.10
Ada cara mudah untuk melakukan instalasi web server di Ubuntu Server
9.10. Langkahnya adalah sebagai berikut. Pada command line prompt ketikkan
sudo apt-get install drupal6
Dengan perintah ini semua dependency dalam membuat sebuah web server
yang menggunakan Apache, PHP, dan MYSQL akan terinstall, plus kita akan
mendapatkan CMS Drupal sebagai tambahannya.
Permasalahan ketika membuat sebuah web server di ubuntu adalah
perbedaan cara mengkonfigurasi apache web server dengan yang terdapat pada
Fedora atau CentOS. Berikut adalah beberapa cara mengkonfigurasi web server
dalam ubuntu.
2.6.1 Restart Service
Merestart Service
1. Merestart service apache web server ketikkan sudo /etc/init.d/apache2
restart atau sudo service apache2 restart.
2. Merestart service mysql server ketikkan sudo /etc/init.d/mysql
restart atau sudo service mysql restart.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
27
3. Secara default kedua service tersebut akan aktif secara otomatis pada
saat start up, namun bila anda ingin memodifikasinya anda dapat
memberikan perintah
sudo update-rc.d apache2 disable
untuk mendisable service apache saat startup atau
sudo update-rc.d apache2 enable
untuk untuk mengenable service apache saat startup.
sudo update-rc.d mysql disable
untuk mendisable service mysql saat startup atau
sudo update-rc.d mysql enable
untuk untuk mengenable service mysql saat startup.
2.6.2 Konfigurasi php.ini
File php.ini terdapat pada /etc/php5/apache2/php.ini. gunakan editor,
misalnya vim atau nano. Jangan lupa untuk selalu merestart service apache
setelah selesai mengkonfigurasi file ini.
2.6.3 Mengaktifkan https
Terdapat setting default HTTPS pada apache di Ubuntu, hanya saja
setting ini belum diaktifkan. Untuk mengaktifkannya ketikkan perintah
berikut:
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
28
1. Masuklah ke dalam direktori konfigurasi virual host apache : cd
/etc/apache2/sites-enabled/
2. Buat link ke file kongurasi HTTPS default dari apache : sudo ln -s
../sites-available/default-ssl 000-default-ssl
3. Masukkan ke dalam direktori modul aktif : cd /etc/apache2/mods-
enabled/
4. Buat link ke modul dan konfigurasi ssl, ketikkan : sudo ln -s ../mods-
available/ssl.conf ssl.conf dan sudo ln -s ../mods-available/ssl.load ssl.load
5. Restart service apache : sudo service apache2 restart
Dengan cara ini web server anda dapat diakses menggunakan http maupun
https.
2.6.4 Mengubah default root apache
Untuk mengubah default document root apache yang semua berapa
di /var/www ke tempat lain langkah-langkahnya adalah sebagai berikut:
1. Buka file konfigurasi virtual host apache, dengan editor semisal vim
atau nano : sudo vim /etc/apache2/sites-available/default
2. Ubahlah semua nilai /var/www ke direktori lain yang anda inginkan,
misal pada vim ketikkan : :%s/var\/www/home\/www/g
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
29
3. Simpan dan keluarlah dari editor, misal pada vim ketikkan : :wq
4. Restart service apache : sudo service apache2 restart
2.6.5 Mengaktifkan rewrite engine
Untuk dapat mengaktifkan fungsi RewriteEngine apache langkah-
langkah yang harus dilakukan adalah sebagai berikut:
1. Edit file httpd.conf : sudo vim /etc/apache2/httpd.conf
2. Tambahkan baris : RewriteEngine On
3. Masukkan ke dalam direktori modul aktif : cd /etc/apache2/mods-
enabled/
4. Buat link ke modul RewriteEngine, ketikkan : sudo ln -s ../mods-
available/rewrite.load rewrite.load
5. Buka file konfigurasi virtual host apache, dengan editor semisal vim
atau nano : sudo vim /etc/apache2/sites-available/default
6. Ubahlah semua nilai AllowOverride none menjadi AllowOverride All,
misal pada vim ketikkan : :%s/AllowOverride None/AllowOverride All/g
7. Simpan dan keluarlah dari editor, misal pada vim ketikkan : :wq
8. Restart service apache : sudo service apache2 restart
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
30
2. 7 Apache WebServer pada openSUSE 11.2
Instalasi Melalui Konsole dapat dilakukan dengan cara membuka
Konsole/Terminal (ALT+F2, konsole) kemudian ketik perintah berikut;
#zypper in -t pattern lamp_server
2.7.1 Konfigurasi
Menjalankan Service apache dapat dilakukan dengan cara, buka
YAST | System | System Services (Runlevel) Cari service dengan nama
Apache2, pilih start. Kita dapat juga menentukan agar Apache2 dijalankan
tiap start up dengan memilih tombol Enable dan menyimpan pilihan
tersebut. Jika melalui konsole, aktivasi dan start service dapat dilakukan
dengan perintah berikut :
#chkconfig --add apache2
#chkconfig apache2 on
#service apache2 restart
2.7.2 Aktivasi Index File
Atas pertimbangan keamananan data web, openSUSE secara default
hanya akan mengaktifkan folder yang memiliki file index (misalnya
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
31
index.html). Jika tidak ada, openSUSE akan menampilkan tulisan Access
Forbidden. Hal ini kadang membuat bingung rekan-rekan yang ingin
membuat blog atau website lokal (misalnya : WordPress, Serendipity,
Joomla dll) namun tidak dapat mengakses folder hasil upload. Berikut
adalah cara mengaktifkan pilihan index file :
Buka file /etc/apache2/server-default.conf
Perhatikan bagian berikut
## Configure the DocumentRoot#<Directory "/srv/www/htdocs"># Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# http://httpd.apache.org/docs-2.2/mod/core.html#options# for more information.
Options None
# AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig LimitAllowOverride None# Controls who can get stuff from this server.Order allow,deny
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
32
Allow from all</Directory>
Ubah bagian Options None menjadi Options All. Silakan pelajari fungsi dari
pilihan lain yang disediakan (Indexes Includes FollowSymLinks
SymLinksifOwnerMatch ExecCGI MultiViews)
Jalankan ulang service Apache2
2.7.3 Restart Service
Menjalankan atau restart service apache dapat di lakukan dengan
perintah sebagai berikut;
#service apache2 restart
#rcapache2 restart
Buka browser (Firefox atau Opera atau Konqueror). Ketikkan
alamat URL : http://ip-address-web-server atau http://hostname atau
http://localhost (pilihan terakhir hanya bisa digunakan di komputer yang
diinstalasi web server). Contoh : http://192.168.100.1
Kalau keluar tulisan It Works! berarti setting yang dilakukan sudah
berhasil.
Sedikit informasi untuk apache2 di openSUSE. Folder utama dari
web server terletak pada folder /srv/www/htdocs. Kita dapat membuat
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
33
virtual server yang diset ke home directory masing-masing user atau diset
ke folder tertentu.
Instalasi paket LAMP Server akan sekaligus melakukan instalasi
Web Server Apache, Database MySQL dan PHP Programming
2.7.4 Aktivasi mode https
Pastikan bahwa apache telah memuat mod_ssl. Perintah berikut ini
akan menyesuaikan APACHE_MODULES di /etc/sysconfig/apache2:
# a2enmod ssl
Pastikan juga bahwa konfigurasi SSL aktif. Perintah berikut akan
melakukan perubahan APACHE_SERVER_FLAGS
di /etc/sysconfig/apache2:
# a2enflag SSL
Alasan mengapa flag SSL juga diperlukan adalah karena semua
konfigurasi SSL terlampir dalam statement . Cara ini dapat menghentikan
servis sampai prasyarat yang diperlukan muncul dan kita ingin
menggunakannya semua.
Perintah berikut akan menciptakan self signed keys dengan cara
yang sangat sederhana.
# /usr/bin/gensslcert
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
34
Perintah diatas akan menumpuk file yang sudah ada menjadi:
* /etc/apache2/ssl.crt/ca.crt
* /etc/apache2/ssl.key/server.key
* /etc/apache2/ssl.crt/server.crt
* /etc/apache2/ssl.csr/server.csr
Hasil copy dari file ca.crt pada
/etc/apache2/ssl.crt/ca.crt
akan dipasang di
/srv/www/htdocs/CA.crt
untuk di download.
Buat virtual host. Virtual host terpisah diperlukan sebab Vhost tidak
dapat membaca HTTP dan HTTPS.
cp /etc/apache2/vhosts.d/vhost-ssl.template
/etc/apache2/vhosts.d/vhost-ssl.conf
Restart Apache untuk mengaplikasikan perubahan. Buka
https://localhost, kita akan ditanya sertifikat dan ikuti petunjuknya. Jika
terlihat file index, maka https telah aktif.
2. 8 Aplikasi Web Administrasi untuk Web Server.
Ada beberapa aplikasi berbasis web yang bisa di gunakan untuk melakukan
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
35
administrasi server diantaranya adalah;
1. Webmin
Webmin adalah sebuah aplikasi berbasis web untuk sistem operasi UNIX
based yang berupa antarmuka berbasis web untuk administrasi sistem
untuk Unix. Menggunakan web browser modern, Anda dapat melakukan
setup account pengguna, Apache, DNS, file sharing dan banyak lagi.
Webmin menghapus kebutuhan untuk secara manual mengedit file
konfigurasi Unix seperti / etc / passwd, dan memungkinkan Anda
mengelola sistem dari konsol atau jarak jauh
2. ISPConfig
ISPConfig adalah open source hosting control panel untuk Linux.
ISPConfig dilisensikan di bawah lisensi BSD. ISPConfig
menyederhanakan pengaturan DNS, beberapa situs domain yang unik
pada satu kotak server fisik, dan e-mail account untuk beberapa pengguna
di situs Web tersebut
Menyiapkan ISPConfig agak menantang, tetapi jauh lebih mudah
daripada coding file DNS secara manual. ISPConfig dapat membantu
pengguna baru Linux untuk mengkonfigurasi web dan e-mail lebih cepat
dan lebih mudah.
ISPConfig mempercepat dan menyederhanakan administrasi server
umum dan tugas-tugas operasi, seperti membuat banyak pengguna e-mail
account atau cepat menyiapkan banyak root folder untuk situs-situs baru.
Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011
Top Related