bab ii landasan teori 2. 1 tinjauan pustaka 2.1.1 imedia linuxrepository.ump.ac.id/5238/3/mukhlis...

30
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

Upload: trannga

Post on 06-Apr-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

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

36

Pada distro ini, sengaja memanfaatkan webmin karena dinilai lebih luas

penggunaannya di bandingkan ISPConfig yang hanya berkonsenstrasi di

pembuatan hosting server saja.

Implementasi Webserver Berbasis Linux..., Mukhlis Prasetyo Aji, Fakultas Teknik UMP, 2011