Dasar-Dasar Linux Bagi Desainer web

Dasar-Dasar Linux Bagi Desainer Web

Bagian: 1—Pendahuluan

Tingkat: Dasar

Tujuan: Setelah membaca tutorial ini, pembaca diharapkan mendapat gambaran seperti apa Linux itu dan mengapa banyak server Internet menggunakan Linux sebagai sistem operasinya.

Abstrak: Manfaat Linux, sejarah singkat Unix dan Linux, perbedaan Unix dan Linux, bagaimana cara telnet/SSH ke server Linux menggunakan program Putty.

Prasyarat: Tidak ada.
Pendahuluan

Tutorial ini ditulis dengan tujuan spesifik, yaitu memperkenalkan penggunaan fasilitas Telnet/SSH bagi para desainer Web yang memiliki account hosting di server berbasis Unix/Linux. Namun materi dan gaya penyampaian dalam tutorial ini dibuat cukup generik agar dapat menjadi sebuah bacaan umum pengantar Linux bagi pemula.

Jika Anda seorang desainer Web yang sehari-hari bekerja di Windows namun harus berurusan dengan hosting berbasis Linux, maka tutorial ini untuk Anda. Namun pembaca yang awam dengan Linux pun dapat menggunakan tutorial ini untuk mengenal apa itu Linux, mengapa orang menyukainya, dan bagaimana menggunakan sistem operasi yang satu ini.

Setelah seri tutorial ini rampung Anda baca, Anda akan menemukan empat mutiara Unix/Linux yang membuat Anda mengetahui rahasia dan jatidiri Unix/Linux yang sesungguhnya. Mutiara-mutiara ini akan membantu Anda memahami mengapa bentuk dan kelakuan Linux seperti yang ada saat ini. Sudah siap menjadi desainer Web plus yang mengerti tool yang umumnya hanya digeluti para programer ini? Mari kita lanjutkan.

Catatan: tutorial ini tidak mencakup pembahasan instalasi dan konfigurasi Linux. Diasumsikan Anda telah mempunyai username dan password untuk login ke sebuah sistem Linux yang telah ada. Jika Anda ingin memiliki Linux sendiri di rumah, maka Anda harus menginstal Linux dengan menyediakan sebuah PC lain atau membagi partisi harddisk. Rata-rata CD distribusi Linux yang ada sekarang seperti RedHat 7.2 atau Mandrake 8.1 telah cukup mudah diinstal sehingga bisa Anda coba langsung sendiri; cukup masukkan CD ke dalam CD ROM, reboot komputer, lalu ikuti petunjuk instalasi grafisnya dari awal hingga selesai. Selesai diinstal, Anda dapat membaca manual atau bertanya di forum/milis Linux seputar masalah konfigurasi. Tutorial ini sendiri akan berasumsi Linux Anda sudah siap digunakan.
Mengapa Linux?

Bagian ini mungkin akan membosankan, boleh Anda lewat.

Meski rata-rata pemakai komputer hanya menggunakan Windows di PC desktop atau laptop mereka, praktis semua webhosting lokal menyediakan layanan berbasis Linux. Rata-rata malah hanya memiliki server Linux. Segelintir saja webhosting yang pengguna FreeBSD atau menawarkan hosting berbasis Windows NT/2000. Sebetulnya apa alasan mereka hingga pilihan jatuh pada Si Penguin?

Administrasi jarak jauh dan stabilitas. Alasan paling utama, menurut saya, adalah kemudahan administrasi jarak jauh dan stabilitas. Seperti kita ketahui, mesin webhosting umumnya tidak terletak di rumah atau kantor pemilik webhosting itu sendiri, melainkan ditaruh bersama server-server lainnya di ISP atau data center yang terhubung dengan jalur koneksi berkecepatan tinggi. Ini artinya, mesin tersebut harus dapat diatur dari jarak jauh melalui jaringan Internet. Masa ingin bolak-balik ke ISP—yang mungkin saja beda kota, pulau, negara? Sebuah mesin Unix/Linux amatlah natural dalam hal ini, sebab sejak zaman dahulu telah tersedia fasilitas telnet. Lewat telnet, seorang admin akan diberikan interface shell yang sama dengan jika ia berada di depan komputer secara fisik. Karena telnet ini berbasis teks, maka ia amat irit bandwidth. Lewat telnet/SSH, seorang admin dapat mengatur misalnya hingga belasan server langsung dari rumahnya sendiri. Semua perintah yang umum diperlukan, mulai dari menjalankan program, melihat status, manajemen pemakai, file, jaringan, mendownload/upload file dapat dilakukan melalui telnet. Hanya hal-hal tertentu saja yang butuh kehadiran fisik, seperti menekan tombol Power/Reset di casing CPU atau menukar harddisk/CD.

Windows NT memang memiliki RAS. Windows 2000/XP memiliki Terminal Services. Kita bahkan dapat menambahkan kemampuan telnet/SSH di Windows lewat program terpisah. Tapi apa yang bisa kita lakukan terhadap Windows melalui shell COMMAND.COM/CMD.EXE secara relatif jauh lebih terbatas ketimbang apa yang bisa kita lakukan terhadap sistem Unix lewat interface telnetnya. Windows pada dasarnya berpijak di atas konsep GUI (Graphical User Interface), yang lebih tidak alamiah atau boros bandwidth untuk diatur lewat jarak jauh. Program administrasi remote grafis seperti PC Anywhere atau Back Orifice saat ini terlalu lambat untuk bisa dipakai di Internet dan hanya cocok di lingkungan LAN berkecepatan tinggi. Telnet berbasis teks sendiri sudah cukup nyaman dipakai di atas koneksi modem dialup biasa.

Linux juga, bila dikontraskan dengan Windows 98 atau Me, lebih stabil dan jarang crash atau harus direstart jika terjadi perubahan atau penambahan program. Sistem operasi seperti Win Me jelas-jelas tidak layak menjadi sebuah server. Selain fasilitas multiuser yang praktis tidak ada, sistem operasi ini juga tidak stabil. Padahal sebuah server produksi harus berjalan terus-menerus dan mungkin diakses banyak orang sekaligus. Seringnya crash atau downtime pasti akan sangat menyusahkan.

Keterbukaan dan fleksibilitas. Linux dan Windows dapat dianalogikan dengan bahan makanan mentah dan hidangan jadi. Di Linux, banyak program tersedia dalam bentuk source code (kode asli atau sumber yang dipakai untuk menghasilkan program jadi) dan dapat diubah-ubah lalu dikompilasi ulang. Sementara Windows muncul di hadapan Anda sudah dalam bentuk tinggal pakai. Memakan “kue” Windows memang cepat dan praktis, tapi dalam kasus tertentu seseorang mungkin butuh meramu sendiri tepung terigu, telur, gula, dan bahan-bahan lainnya dalam komposisi berbeda, atau dengan tambahan/pengurangan komponen tertentu. Tentu saja sistem operasi Windows juga terdiri dari komponen-komponen, tapi dengan tersedianya source code, Anda dapat mempreteli habis Linux atau program-programnya sampai bentuk dan kelakuan mereka berbeda sesuai kebutuhan khusus tertentu.

Keamanan. Ini juga termasuk faktor penting dan penentu. Memang keamanan menjadi tanggung jawab admin dan pemakai juga, namun faktanya adalah kebanyakan admin Unix/Linux yang baik mengenal sistem operasinya dengan lebih dalam ketimbang seorang admin Windows. Tentunya ini dipengaruhi juga sifat keterbukaan dan fleksibilitas Linux, yang mengizinkan seseorang untuk mengoprek sepuas-puasnya untuk mengenal Linux luar dan dalam. Semakin dikenal baik, tentunya akan semakin diketahui kelemahan dan bolongnya, sehingga diketahui cara-cara mengamankan dan menutupi lubangnya.

Saya juga berpendapat bahwa Windows didesain dengan tujuan kemudahan di atas keamanan, jadi bisa ditebak dari sini bahwa jika tidak diurus dengan benar, sistem Windows akan cenderung lebih permisif dan terbuka bagi orang lain untuk ditembus lalu disalahgunakan.

Harga. UUD, Ujung-Ujungnya Duit. Perlu Anda ingat bahwa sebuah server resmi untuk bisnis tidak bisa menggunakan software dari CD bajakan Mangga Dua atau dari hasil crack sebuah download trial. Windows NT/2000, SQL Server, Exchange, dsb. jika ditotal harganya dapat mencapai jutaan rupiah—apalagi jika jumlah koneksi simultan atau jumlah pemakai yang ingin didukung banyak, sebab lisensi semakin mahal untuk banyak pemakai. Tidak semua orang atau perusahaan kecil kuat membeli produk dengan harga tersebut, maka banyak dari mereka yang melirik Linux. Linux tidak menguras kantong karena harganya gratis. Namun perlu dicatat bahwa, bergantung pada kondisi tertentu, biaya total kepemilikan dengan Linux bisa saja lebih rendah atau lebih tinggi. Selain biaya software, masih ada biaya hardware, maintenance, dan manusia. Seperti kita ketahui, harga pasaran gaji admin Unix lebih tinggi daripada admin Windows, karena skill yang dituntut untuk mengurus sistem Unix lebih tinggi.
Apa beda Unix dan Linux?

Bagian ini juga mungkin membosankan, boleh Anda lewat.

Dari tadi saya berkali-kali menulis Unix/Linux. Memangnya Unix dan Linux itu berbeda ya? Ya. Keduanya berbeda, tapi punya hubungan yang erat. Kita lihat sejenak sejarah kedua sistem operasi ini.

Unix sebetulnya telah ada sejak lebih dari 3 dasawarsa lalu—baru-baru ini Unix saja merayakan ulang tahunnya yang ke-30. Ini berarti jauh sebelum Apple atau Macintosh atau Windows lahir, yang berarti jauh sebelum Bill Gates kaya raya seperti saat ini.

Sejarah Unix panjang dan berliku-liku, mungkin jika dijabarkan akan memakan tempat satu buku tebal tersendiri. Cukuplah disebutkan di sini bahwa Unix pertama kali dibuat di Bell Labs, sebuah unit riset dan pengembangan di bawah AT&T (dan sekarang di bawah Lucent) untuk komputer mini PDP dan VAX. Versi terakhir yang ditulis Bell Labs sendiri adalah versi ketujuh (V7), 1979. Sejak 1974 Universitas of California, Berkeley, menggunakan Unix, dan sejak 1977 juga mulai mengembangkan Unix-nya sendiri (BSD). Sepanjang sejarahnya, Unix telah dikembangkan oleh berbagai vendor dan telah hadir dalam berbagai rupa dan rasa. Tidak semuanya gratis, tidak semuanya saling kompatibel. Unix popular karena portabel—ditulis dalam bahasa tingkat tinggi C sejak 1973 dan bukan assembly, sehingga mudah dipindahkan antararsitektur komputer—serta memiliki konsep sederhana dan elegan.

Linux sendiri baru muncul tahun 1991 dari tangan seorang mahasiswa Finlandia bernama Linus Torvalds. Ini berarti setelah Apple dan Macintosh dan NT, dan sudah pasti setelah Bill Gates kaya raya. Saat itu Linus bermain-main dengan Minix, sebuah sistem Unix untuk PC berbasis Intel. Karena berbagai keterbatasan Minix, maka Linus memutuskan untuk menulis sistem operasi sendiri! Maka lahirlah Linux. Sejak awal Linux telah dikembangkan oleh para peminatnya di seluruh dunia, karena sejak versi 0.02 telah dirilis di newsgroup Internet. Saat ini kernel (inti sistem operasinya itu sendiri) Linux telah mencapai versi 2.4, dan puluhan distro (kemasan Linux beserta program-porgram aplikasi) serta bisnis seputar Linux telah berkembang pesat. Linux popular karena alasan-alasan yang telah kita bahas sebelumnya tadi: gratis, berlisensi GPL, dan memiliki fitur-fitur seperti halnya Unix lain.

Jadi bisa dibilang Unix adalah keluarga sistem operasi, sementara Linux adalah sebuah tiruan Unix (Unix clone). Linux bisa digolongkan sebagai sebuah sistem Unix.

Unix dan Linux barangkali bukan sistem operasi yang paling superior dari segi teknik. Dulu Unix adalah upaya ulang yang lebih sederhana dari sebuah proyek ambisius bernama Multics. Unix juga pertama kali dibuat untuk dijalankan di komputer mini, bukan mainframe yang tercanggih pada waktu itu. Linux sendiri masih menggunakan arsitektur kernel monolitik ketimbang memakai sistem mikrokernel seperti Mach dan NT, yang secara teoritik lebih modular dan fleksibel. Namun Unix dan Linux tetap popular dan berkembang karena simplisitas. Karena jalan.
Persiapan Login

Oke, pertama-tama kita akan masuk, atau login, ke sistem Linux. Karena Unix dan Linux adalah sistem operasi multiuser, maka sebelum menggunakannya kita harus selalu memperkenalkan diri dulu dan masuk sebagai salah satu user yang dikenal. Berbeda sekali dengan sistem Windows 98 atau Win Me yang Anda pakai; jika sedang tak ingin login, cukup tekan Escape pada saat muncul kotak dialog Windows Logon. Atau jika ingin membuat user baru, cukup berikan username yang belum pernah dimasukkan sebelumnya. Di Unix pesan login ini tidak bisa di-escape begitu saja. Anda wajib membuktikan identitas diri dulu lewat username dan password.

Dalam tutorial ini katakanlah username Anda steven dan passwordnya worldDomination. Hostname tempat Anda login adalah builder.sloki.com.

Jika server Linux menjalankan SSH, maka ada baiknya kita melakukan koneksi lewat SSH dan bukan telnet biasa. SSH adalah pembungkus enkripsi dari telnet. Dengan SSH, username dan password yang Anda ketikkan serta perintah dan data yang mengalir dari komputer Anda ke server atau sebaliknya akan dienkripsi dulu oleh protokol SSH. Enkripsi ini penting untuk keamanan, karena jalur komunikasi dapat disadap. Dengan penyandian atau enkripsi, meskipun disadap namun si penyadap tidak dapat mengerti isi pesan. Contoh enkripsi komunikasi lain adalah GSM di handphone yang Anda pakai sehari-hari, atau SSL/https yang sering Anda lihat di Web.

Bagaimana mengetahui server mendukung SSH atau tidak. Mudah saja. Kita gunakan program client telnet/SSH dan mencoba dulu mode SSH. Jika gagal, terpaksa kita menggunakan mode telnet polos—yang tidak dienkripsi. Program client yang bisa digunakan antara lain telnet.exe yang telah tersedia di Windows (hanya bisa mode telnet) atau Putty (mendukung telnet dan SSH). Putty disediakan di CD majalah. Dobel klik ikon atau program Putty dan akan muncul kotak dialog seperti di Gambar 1. Isikan hostname server Linux dan pilih Protocol SSH. Lalu tekan tombol Open. Anda harus sudah terkoneksi dengan Internet tentunya.

Jika muncul pesan Connection Refused seperti di Gambar 2, ini berarti tidak ada program SSH yang mendengarkan di sisi server. Kemungkinan server Linux tersebut tidak mendukung SSH. Tapi ada kemungkinan juga SSH dipasang di port lain. Jika tidak yakin, sebaiknya hubungi admin server Linux atau layanan teknis webhosting ybs.

Jika semua lancar, maka Anda akan melihat prompt login seperti di Gambar 4. Mungkin juga, pertama kali Anda akan melihat dulu pesan peringatan seperti di Gambar 3. Tekan tombol Yes, maka prompt login pun muncul. Masukkan username dan password yang benar. Masukkan password persis seperti yang diberikan, termasuk huruf besar dan huruf kecil.

Jika ini pun lancar, maka akan muncul satu hingga beberapa baris tulisan selamat datang. Bentuk dan isi tulisannya mungkin berbeda-beda bergantung pada setting di server, mulai dari yang polos saja seperti di Gambar 5 hingga yang berwarna-warni berisi kata-kata mutiara, pesan peringatan, pesan pengingat, atau apa pun yang dipasang oleh admin supaya Anda lihat. Pada akhirnya Anda akan dihadapkan pada sebuah prompt, yaitu string pendek diikuti tanda $. Kursor akan berada di kanan prompt dan diam, siap menunggu perintah Anda.

Selesai.
Teks? Semuanya Teks?

Apa, sebegitu saja? Seperti inikah Linux? Hitam putih, semua teks tanpa gambar? Kuno sekali!

Ya, seperti itulah shell Linux, berbasis teks. Orang menyebutnya Command Line Interface (CLI), sebagai istilah komplementer dari Graphical User Interface (GUI) yang sehari-hari Anda kenal dalam wujud Windows. Mau dibilang kuno, Anda benar. Dari puluhan tahun lalu Unix memang sudah begini.

CLI di Linux sebetulnya amat ampuh. Pekerjaan tertentu, terutama yang berhubungan dengan skripting dan otomasi, lebih mudah dilakukan dengan interface ini. Bagi Anda para desainer mungkin interface ini membosankan, asing, dan tidak ramah, tapi rata-rata programer Linux suka.

Di edisi tutorial mendatang akan diterangkan apa itu shell. Kita juga akan belajar cara memanfaatkan kelebihan-kelebihan CLI yang sering dimanfaatkan programer tapi tanpa harus mempelajari hal-hal yang ruwet seperti programer. Sampai bulan depan. Sementara itu, silakan mengetikkan quit diikuti Enter di prompt, atau tekanlah Ctrl-D agar kita bisa keluar dari sistem Linux dan memutuskan koneksi.

Tidak ada komentar:

Posting Komentar