Software

Aplikasi Komputer

Menggunakan Axel Untuk Melakukan Proses Download Di Dalam Linux

Sebelum ini saya menggunakan aplikasi wget untuk melakukan download bagi fail – fail yang besar. Namun wget gagal untuk mempercepatkan proses download fail – fail yang besar. Saya telah melakukan download bagi fail iso Fedora 13 yang akan dilancarkan pada 26 mei ini. Saiz fail iso Fedora 13 adalah 3.2 GB dan memang merupakan satu nisbah yang besar dan memerlukan kesabaran untuk menyudahkan download ini. Apa yang menyedihkan, talian broadband streamyx saya selalu mengalami gangguan dan sering terputus – putus. Apabila berlaku gangguan, fail tersebut terhenti dan saya terpaksa melakukan ulang semula proses download ini. Oleh itu saya menggunakan penyelesaian dengan menggunakan axel di dalam fedora 12 saya untuk melakukan download fedora 13. Axel akan menyambung semula proses download (resume) sekiranya talian internet anda terputus. Jadi anda tidak perlu mengulang semula proses download tersebut.

Pengenalan

Axel cuba untuk mempercepat proses download dengan menggunakan beberapa sambungan untuk satu fail. Ianya juga boleh menggunakan beberapa mirror untuk satu proses download. Axel berusaha untuk menjadi seringan mungkin (25-30k dalam bentuk binary), sehingga ianya mungkin berguna sebagai klon wget pada byte-critical systems. Pakej ini juga mempunyai front-end berasaskan QT-grafik sebagai antaramuka. Biasanya axel digunakan di dalam sistem operasi Linux berasaskan debian. Namun axel juga wujud di dalam Linux berasaskan Redhat.

Bagaimana Axel Berkerja?

Axel menjalankan tugas seperti accelerator yang lain; ia membuat sambungan lebih daripada 1 HTTP/FTP di dalam satu masa di dalam satu proses download dan sambungan (connection) bagi setiap pemindahan sendiri dengan berasingan dan merupakan sebahagian daripada fail yang kita download. Sebagai contoh untuk menerangkan hal ini, biasanya penyedia halaman FTP menetapkan kelajuan connection masing – masing bagi seseorang pengguna mengelakkan server menjadi terlalu sibuk dan perlahan. Bagi mengelakkan kegagalan di dalam melakukan proses download, adalah lebih baik melakukan download dengan membuka sambungan tambahan pada beberapa server secara serentak. Ianya membantu di dalam proses download dan membantu mempercepatkan proses download.

Memasang Axel Di Dalam Linux

Sekiranya anda menggunakan Linux berasaskan debian, ikuti arahan di bawah ini:

  • # apt-get install axel

Atau anda boleh download daripada halaman web rasmi axel:

  • $ wget http://wilmer.gaast.net/downloads/axel-1.0b.tar.gz
  • $ tar -zxvf axel-1.0b.tar.gz
  • $ ./configure
  • $ make install

Bagi pengguna Linux berasaskan Redhat, ikuti arahan di bawah:

  • # yum install -y axel

Bagaimana Cara Untuk Menggunakan Axel?

Memadai dengan melaksanakan arahan di bawah ini:

$ axel http://lokasi.fail.yang.ingin.anda.download.iso

Anda juga boleh menetapkan kelajuan (bytes per second) untuk axel bagi mengelakkan proses download anda tidak menggunakan keseluruhan bandwidth anda. Sebagai contoh berikut akan cuba untuk menetapkan kelajuan purata sekitar 5242880 (5.120 kilobyte per / sec):

$ axel -s 5242880 http://lokasi.fail.yang.ingin.anda.download.iso

Anda juga boleh menentukan jumlah sambungan (connection) yang ingin dibuka. Contohnya membuka 3 sambungan untuk proses download anda:

$ axel -n 3 -s 5242880 http://lokasi.fail.yang.ingin.anda.download.iso

Benarkah Axel Lebih Cepat Berbanding Wget?

Di bawah ini dipaparkan hasil daripada ujian yang saya lakukan:

$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.bz2

Output:

--12:10:31--  http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.bz2
           => `linux-2.6.17.11.tar.bz2'
Resolving kernel.org... 204.152.191.5, 204.152.191.37
Connecting to kernel.org|204.152.191.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 41,288,067 (39M) [application/x-bzip2]

100%[================================================================================>] 41,288,067     2.33M/s    ETA 00:00

12:10:48 (2.31 MB/s) - `linux-2.6.17.11.tar.bz2' saved [41288067/41288067]

$ axel http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.bz2

Output

Initializing download: http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.bz2
File size: 41288067 bytes
Opening output file linux-2.6.17.11.tar.bz2.1
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 247.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 408.3KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 566.3KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 707.2KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 836.5KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 975.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [1079.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [1210.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [1303.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [1422.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [1508.0KB/s]
[  1%]  .......... .......... .......... .......... ..........  [1629.2KB/s]
..........
...
....
[ 99%]  .......... .......... .......... .......... ..........  [8710.2KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [8680.7KB/s]
[100%]  .......... ..........

Downloaded 39.4 megabytes in 4 seconds. (8681.65 KB/s)

Jadi lihat perbezaan diantara wget dan axel.Kesimpulannya, axel adalah lebih efektif berbanding daripada wget. Selamat mencuba.

Projek Membangunkan Office Online Menggunakan Perisian Open Source

Selamat hari pekerja saya ucapkan kepada pekerja seluruh dunia. Hari ini saya ingin membincangkan perihal projek yang sedang saya usahakan yang saya beri nama E-Office. Sebenarnya perisian yang saya gunakan bukanlah perisian yang saya bangunkan tetapi saya menggunakan perisian open source. Perisian yang saya gunakan ialah GroupOffice versi 3.4.21. GroupOffice ialah merupakan perisian groupware. Perisian berasaskan web base ini jarang digunakan berbanding LMS ataupun CMS. Sebenarnya saya pernah bincangkan sebelum ini di http://azlan.epontian.com/?p=404 secara lengkap. Tetapi hari ini saya ingin menerangkan kembali memandangkan masih ramai yang belum ingin mencuba perisian ini.

Semenjak dua ini saya kerap menerima surat daripada pihak jabatan tempat bertugas untuk saya menghantar data dengan segera menggunakan medium email. Apa yang menarik perhatian saya dan timbul untuk saya menjalankan projek ini ialah pihak pengurusan jabatan tersebut memberikan email mereka berserta password (bermaksud login dan password) disertakan sekali di dalam email. Agak melucukan hati saya. Tidak pernah saya terfikir untuk mendedahkan password email saya kepada pihak ketiga. Cuba kita bayangkan sekiranya email-email yang mereka terima dan belum dibaca tiba-tiba dipadamkan oleh pihak ketiga atas sebab kesilapan mahupun sabotaj. Siapa yang ingin mereka salahkan? Adakah mereka akan berjaya mengesan siapakah yang bertanggungjawab terhadap perbuatan tersebut?

Saya masih hairan mengapa pihak-pihak tersebut tidak cuba mengoptimumkan penggunaan teknologi rangkaian yang ada pada masa kini. Hampir semua jabatan dan bangunan kerajaan kini telah disambungkan dengan talian internet terlebih lagi sekolah – sekolah yang ada di Malaysia. Adakah mereka memikirkan kos yang selalu dipersoalkan? Penyelesaian yang ada ialah dengan menggunakan perisian open source. Masalah server sebenarnya adalah masalah yang kecil. Gunakan sahaja PC biasa dan gunakan operating system Linux. Selesai masalah server. Bagaimana pula sambungan internet? Saya merujuk kepada sekolah – sekolah yang ada di Malaysia. Hampir semuanya kini mempunyai talian internet menggunakan VPN schoolnet. Gunakan sahaja talian schoolnet (merujuk kepada sekolah) untuk talian yang menghubungkan ke server.

Saya terpanggil untuk menggunakan semula GroupOffice ini apabila melihat senario yang agak membingungkan. Lantas saya bina menggunakan talian internet streamyx di rumah dan inilah hasilnya: http://azlan.blogdns.net/office/ . Jadi saya menyarankan kepada pihak – pihak tersebut untuk cuba menggunakannya. Anda boleh mencuba untuk menggunakan GroupOffice saya dengan menggunakan username: guest  dan password: guest123.

vps

Mengenali Virtual Server (Server Maya)

Virtual server juga dikenali sebagai virtual private server (VPS) atau virtual dedicated server (vds). Ianya merupakan proses virtualisasi dari lingkungan software operating system (OS) yang dipergunakan oleh server. Disebabkan lingkungan ini merupakan lingkungan virtual, hal tersebut memungkinkan untuk menginstall OS yang dapat dijalankan di dalam OS yang lain.

VPS adalah server yang tidak melakukan interaksi langsung dengan hardware, dan tidak berhubungan satu sama lain antara VPS dalam sebuah node. Server ini beroperasi secara virtual (maya) kerana berdiri sendiri terhadap hardware dan private kerana terasing dari server virtual lainnya yang terdapat dalam node tersebut. VPS juga adalah suatu teknologi bagi server berupa OS dan software yang memungkinkan mesin komputer dengan kapasiti besar dipecahkan ke beberapa virtual mesin. Setiap virtual mesin ini boleh melayani operating system dan software secara sendiri.

Penyelesaian

Sistem tradisional shared hosting yang sering kita gunakan memiliki banyak keterbatasan pada aplikasi yang berjalan disebabkan user hanya mempunyai hak akses sebagai level user biasa. Jika user ingin memperoleh akses aplikasi dan resource yang lebih maka perlu melakukan ‘upgrade’ ke Dedicated Server, hal ini menyebabkan kos yang tinggi berdasarkan harga dedicated server dengan hardware dan sewa lokasi data center. Dengan menggunakan teknologi Virtual Private Server (VPS) akan memberikan penyelesaian antara kewangan yang rendah, resource system dan level user tinggi.

Siapa Yang Menggunakannya?

Banyak manfaat yang dapat diperolehi dengan adanya teknologi VPS ini. Berikut merupakan contoh penggunaan secara efisyen:

  1. Web Hosting – Salah satu penggunaan VPS yang sering kita temui ialah untuk kegunaan web hosting. Ianya sesuai dengan penggunaan menengah dan korporat yang mana konfigurasi memerlukan level superuser untuk aplikasi yang digunakan. Ianya juga sesuai untuk mereka yang ingin memulakan perniagaan web hosting dengan peruntukkan kewangan yang agak terbatas.
  2. Application Hosting – memungkinkan untuk melaksanakan custom mission critical software tanpa harus mengeluarkan bugdet yang mahal. Melakukan outsource development aplikasi juga sudah menjadi trend untuk mengawal budget sehingga pelaburan jauh lebih efisyen.
  3. Development / Test Environments – VPS juga boleh membantu menjalankan network development testing secara efisyen terhadap beberapa OS dan ip address public dengan mudah, connection secara remote untuk reboot dan penggantian interface dapat dilaksanakan dengan cepat.
  4. Educational Outpost – VPS boleh juga untuk tujuan eksperimen bagi UNIX Operating System dan Windows Operating system dengan pelbagai distro dalam satu masa. Membolehkan proses ekperimen lebih seragam dan lebih mudah untuk membuat perbandingan.
  5. Keperluan Backup Server – Keperluan untuk menyediakan backup server adalah penting bagi kelancaran operasi sesebuah organisasi meliputi web, mail, file dan database. Ianya dapat mengurangkan risiko kehilangan dan kerosakan data bagi sesebuah organisasi.

Software bagi VPS/VDS

  • Xen – software open source yang digunakan oleh OS *nix. Siap sedia dipasang di dalam Linux bagi membolehkan pengguna membuat virtualization.
  • Open VZ – antara software yang popular digunakan oleh penyedia perkhidmatan VPS menggunakan OS *nix sebagai platform pada masa kini. Ianya percuma dan lebih stabil pada masa ini.
  • VMware – Telah bermula semenjak 1998 di Palo Alto, California oleh EMC Corporation (NYSE: EMC). Boleh digunakan di platform Microsoft Windows, Linux dan juga Mac OSX. VMware enterprise software, VMware ESX Server dilaksanakan terus kepada hardware tanpa memerlukan OS yang lain.
  • Aplikasi lain antaranya: Bochs, QEMU, z/VM, User-mode Linux, coLinux, Linux-Vserver, Linux KVM, IBM trial software, UML, Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware Workstation, VMware Server (formerly GSX Server), Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, Egenera vBlade technology, VMware Fusion, Microsoft Virtual PC, Parallels Desktop for Mac,VirtualBox, dan Parallels Workstation.
google_chrome_os

Google Chrome OS : Microsoft Windows Kian Tergugat!

Ketika membaca surat khabar pada hari ini, saya tertarik dengan pengumuman Google bahawa syarikat tersebut akan melancarkan satu OS baru iaitu Chrome OS. Ia merupakan susulan kepada pelayar internet (web browser) Chrome yang dibangunkan oleh Google.

Apa yang menarik perhatian saya ialah OS ini menggunakan code open sources dan akan dilesenkan dengan GPL (General Public License). Chrome OS akan digunakan pada netbook yang kian popular pada masa ini. Pengakuan Google bahawa mereka telah melakukan rundingan dengan pengeluar netbook bagi menggunakan OS ini menjadi  satu tamparan kepada Microsoft Windows  yang selama ini mempelopori pasaran OS bagi komputer peribadi (PC), NoteBook dan NetBook. Selain penggunaan Chrome OS ini, Google Chrome web browser juga kian popular dengan penggunaan melebihi 40 juta pengguna aktif. Ini menjadi petanda peralihan daripada penguasaan Microsoft Windows kepada open sources.

Di bawah ini saya akan menerangkan secara ringkas berkaitan Chrome OS.

Sejarah

Diilhamkan dengan populariti yang semakin tinggi bagi penggunaan NetBook yang menggunakan tenaga yang rendah dan lebih kecil berbanding notebook atau laptop. Google mula membangunkan OS ini pada tahun 2009 dengan menggunakan kod sumber terbuka (open Source) di bawah lesen BSD dikenali sebagai Projek Chromium OS dan akan dilesenkan di bawah GPL. OS ini merupakan satu OS di bawah Linux-base. Ianya berasaskan pengguna yang aktif menggunakan internet menggunakan peranti (device) netbook seperti melayari YouTube, online banking, melayari web, email dan sebagainya. Pengarah kejuruteraan bagi projek Chrome OS ini ialah Matthew Papakipos menggunakan 3 mesin di rumahnya untuk menjalankan percubaan bagi Chrome OS ini. Perbezaan antara Chrome OS dan Chromium OS ialah Chrome OS akan mengemaskini versinya secara automatik tetapi menggunakan kod sumber yang sama.

Chrome OS akan menggunakan antaramuka (interface) paling minimum. Dalam rekabentuk awalnya, Google menggambarkan tiga lapis senibina: firmware, pelayar dan window manager, dan tingkat sistem perisian dan Userland services.

  • Firmware memberikan sumbangan untuk waktu boot dengan cepat dengan tidak mencari-cari hardware, seperti floppy disk drive, yang tidak lagi di komputer umum, terutama netbook. Firmware juga menyumbang untuk keselamatan dengan mengesahkan setiap langkah dalam proses boot dan sistem menggabungkan pemulihan.
  • Tingkat sistem perisian termasuk kernel Linux yang telah dibaiki untuk meningkatkan waktu ketika boot. Userland perisian ini telah diubah suai untuk keperluan utama, dengan pengurusan oleh Upstart, yang boleh melancarkan perkhidmatan secara tradisinya, jatuh kembali memudahkan pekerjaan, dan perkhidmatan menunda untuk kepentingan boot lebih cepat.
  • Window manager menangani interaksi pengguna dengan beberapa tetingkap klien seperti X window manager.

Daripada analisis yang saya jalankan, Chrome OS daripada Google ini adalah perang antara 2 gergasi revolusi digital. Kini kebanyakkan penganalisis membayangkan bahawa Chrome OS ini akan menguasai NetBook menggantikan penggunaan Microsoft Windows pada masa akan datang. Apa yang menarik ialah Chrome OS ini akan diberikan secara percuma kepada pengguna yang mana ianya dapat menjimatkan kos sesebuah komputer. Ini adalah tamparan hebat kepada Microsoft yang sekian lama menguasai pasaran OS dan sehingga kini masih tidak berganjak untuk tidak menurunkan harga sehingga tahap harga yang mampu dibayar oleh pengguna.

Secara ringkas, Chrome OS akan menggunakan Linux-Base, menggunakan antaramuka Gnome, mengoptimumkan pengguna Google Chrome Browser di dalamnya selain memberikan kepuasan kepada pengguna seawal tempoh Booting. Apa – apa hal pun kita nantikan Chrome OS ini yang akan berada di pasaran pada pertengahan tahun ini.

Pengenalan Kepada SQL

Structured Query Language (SQL) atau di dalam bahasa melayu dikenali sebagai Bahasa Pertanyaan Berstruktur adalah bahasa komputer paling popular yang digunakan bagi mencipta, mengambil, kemaskini dan memadam data dari sistem pangkalan data berkait (relational database management system). SQL dijadikan standard piwaian oleh American National Standards Institute (ANSI) dan International Organization for Standardization (ISO).

Sejarah

Satu kertas kerja akedemik, A Relational Model of Data for Large Shared Data Banks, oleh Dr. Edgar F. Codd, teleh diterbitkan pada Jun 1970 dalam jurnal Association for Computing Machinery (ACM), Communications of the ACM, walaupun lakaran mengenainya telah tersebar dalam IBM semenjak 1969. Model Codd semakin diterima sebagai model mutakhir bagi sistem pengurusan pangkalan data berkait relational atau Relational Database Management System (RDBMS atau RDMS).

Pada tahun 1970-an, kumpulan di pusat penyelidikan San Jose IBM membangunkan sistem pangkalan data “System R” berasaskan model Codd. Structured English Query Language (“SEQUEL”) direka bagi mengolah dan mengambil data yang tersimpan dalam Sistem R. Ringkasan SEQUEL kemudian diringkaskan kepada SQL kerana perkataan ‘SEQUEL’ telah dipegang sebagai tanda dagang oleh syarikat kapal terbang Hawker Siddeley dari UK. Sungguhpun SQL dipengaruhi oleh hasil kerja Codd, Donald D. Chamberlin dan Raymond F. Boyce di IBM merupakan pengarang rekabentuk bahasa SEQUEL. Konsep mereka diterbitkan bagi meningkatkan minat dalam SQL.

Pangkalan data berkait, bukan pangkalan data SQL, bukan laba, Ingres, dimajukan pada 1974 di U.C. Berkeley.

Pada tahun 1978, ujian terkawal bermula di tapak ujian pelanggan. Menunjukkan kelebihan dan kesesuaian guna sistem ini, ujian ini terbukti berjaya bagi IBM. Hasilnya, IBM mula membangunkan keluaran dagangan berasaskan prototaip System R yang melaksanakan SQL, termasuk System/38 (diperkenalkan pada 1978 dan terdapat secara dagang pada Ogos 1979), SQL/DS (diperkenalkan pada 1981), dan DB2 (pada 1983).

Pada masa yang sama Relational Software, Inc. (kini Oracle Corporation) melihat potensi konsep yang digambarkan oleh Chamberlin dan Boyce dan memajukan RDBMS versi mereka sendiri bagi Navy, CIA dan yang lain. Pada musim panas 1979 Relational Software, Inc. memperkenalkan Oracle V2 (Versi 2) bagi komputer VAX sebagai penggunaan SQL yang terdapat secara dagang. Oracle sering kali salah dikatakan mendahului IBM ke pasaran lebih dari dua tahun, sedangkan mereka hanya mendahului System/38 IBM hanya selama beberapa minggu sahaja. Minat umum meningkat; dan banyak vendor lain mula membangunkan pelbagai versi, dan masa depan Oracle terjamin.

Piwaian

SQL kemudiannya diangkat sebagai piwaian oleh ANSI pada tahun 1986 dan ISO pada tahun 1987. Bagaimanapun, semenjak pembatalan program piawaian pengurusan data NIST pada tahun 1996 tidak terdapat pengesahan bagi pematuhan kepada piwaian SQL dengan itu vendor perlu mengesahkan diri sendiri.

Piwaian SQL telah melalui beberapa revisi:

Tahun Nama Nama samaran Komen
1986 SQL-86 SQL-87 Mula diterbitkan oleh ANSI. Disahkan oleh ISO in 1987.
1989 SQL-89 Revisi kecil.
1992 SQL-92 SQL2 Revisi utama (ISO 9075).
1999 SQL:1999 SQL3 Menambah padanan biasa, pertanyaan rekursif, picu, jenis
tidak-skalar dan sebahagian ciri-ciri berasaskan-objek. (Dua yang terakhir agak kontrovesi dan tidak disokong secara meluas.)
2003 SQL:2003 Introduced XML-related features, window functions, standardized sequences and columns with auto-generated values (including identity-columns).
2006 SQL:2006 ISO/IEC 9075-14:2006 menetapkan cara bagaimana SQL boleh digunakan bersama XML. Ia menetapkan cara mengimport dan menyimpan data XML dalam pangkalan data SQL, mengemaskini data dalam pangkalan data dan menerbitkan data SQL dan XML dalam bentuk XML. Tambahan lagi, ia memberi kemudahan yang membenarkan applikasi untuk menerap dalam kod SQL kegunaan XQuery, XML Query Language yang diterbitkan oleh World Wide Web Consortium (W3C), bagi capaian serentak dokumen XML dan data SQL biasa.

Vendor SQL

More >

virus-alert

Perlukah Memasang Lebih Dari 1 Antivirus?

virus-alertSaya selalu ditanya oleh kawan – kawan, antivirus apa yang terbaik? Sebenarnya semua antivirus adalah baik. Cuma yang membezakannya hanyalah samada ia berbayar ataupun percuma. Bagi pendapat saya, saya akan menggunakan antivirus percuma asalkan saya selalu ‘update’ patern antivirus tersebut. Patern adalah merujuk kepada senarai virus yang boleh dikenalpasti oleh antivirus tersebut.

Merujuk kepada topik di atas, jawapan yang saya boleh berikan ialah: tak perlu memasang lebih dari 1 antivirus kerana antivirus akan conflict dan hilang keupayaan mengesan virus apabila anda memasang lebih daripada 1 antivirus. Ada yang berpendapat sesuatu virus hanya dapat dikesan oleh hanya sesuatu antivirus. Bayangkan kini ada berbillion virus di alam maya. Kalau virus tersebut hanya dapat dikesan oleh sesetengah antivirus, maka kita terpaksa memasang berpuluh antivirus di dalam PC kita.

Benarkah pendapat tersebut? Penyedia antivirus akan selalu menyediakan list patern virus dari masa ke semasa. Cuma yang membezakan ialah kadang – kadang terdapat penyedia antivirus ini memperoleh patern dengan cepat berbanding dengan penyedia antivirus yang lain. Tapi lambat laun semua antivirus akan mempunyai pertahanan daripada serangan virus tersebut. Dan kadang – kadang antivirus tertentu akan menamakan virus tersebut berbeza dengan penyedia antivirus yang lain. Perkara ini sentiasa berlaku dan apa yang penting virus tersebut adalah sama dan semua antivirus ada pertahanan daripada serangan virus berkenaan. Oleh itu, tak perlu memasang lebih daripada 1 antivirus.

Nasihat saya:

1. Guna hanya 1 antivirus.

2. Sentiasa update patern virus menggunakan internet.

3. Sekiranya ingin mengurangkan risiko serangan virus, gunakan Linux sebagai operating system anda.

web-server-hosting

Mengenali Web Server

web-server-hostingPerkembangan yang dahsyat di dalam dunia maya kini sudah hampir sampai ke kemuncak. Mungkin kita sudah tidak perlu keluar rumah untuk mencari barang keperluan dapur pada masa akan datang. Apa yang perlu hanyalah membuka komputer dan membuat pesanan melalui halaman web e-dagang (e-commerce). Semuanya tidak mustahil berlaku pada masa akan datang.

Disebalik kerancakan ini, masih ada yang tidak tahu apa yang membolehkan web ini bekerja untuk anda. Di dalam mewujudkan sesebuah web, perlu adanya beberapa perkara iaitu server dan juga perisian yang akan menyokong penggunaan web. Perisian ini dikenali sebagai web server.

Web server membawa maksud kepada 2 perkara iaitu:

  1. Program komputer yang bertanggungjawab menerima permintaan HTTP daripada clients(User agents termasuk web browser) dan melayan mereka mengikut protokol HTTP meliputi kandungan data seperti fail dokumen HTML dan pautan objek (linked objects).
  2. Komputer yang melaksanakan program – program aplikasi web server.

Apa yang boleh dilaksanakan oleh web server?

  1. HTTP: Kesemua web server akan menerima permintaan http (accepting http requests) daripada clients, dan menyediakan respon HTTP kepada clients. HTTP konsisten terhadap fail dokumen HTML atau XHTML tetapi ianya juga boleh terhadap fail raw, fail imej, fail – fail dokumen yang lain (dikenali sebagai MIME-types).
  2. Logging: Web server akan membuat log bagi informasi secara lengkap di atas penggunaan bagi membolehkan webmaster untuk mendapatkan statistik dengan melaksanakan log analyzers.

Secara praktikalnya, semua web server mengimplimen semua kemudahan berikut:

  1. Authentication, pilihan permintaan authorization (permintaan username dan password) sebelum membenarkan akses kepada sesuatu sumber.
  2. Mengendalikan kandungan statistik (direkod di dalam server filesystem) dan kandungan dynamic yang menyokong satu atau lebih antaramuka (SSI, CGI, SCGI, FastCGI, JSP, ColdFusion, PHP, ASP, ASP.NET, Server API termasuk NSAPI, ISAPI, dll.).
  3. Menyokong HTTPS (menggunakan SSL atau TLS) untuk capaian keselamatan (encrypted) kepada server dengan menggunakan port standard 443 (port HTTP yang standard adalah 80).
  4. Kandungan mampatan (Content compression) menggunakan encode gzip bagi mengurangkan saiz untuk penggunaan bandwidth yang rendah.
  5. Virtual hosting bagi membolehkan melayan banyak web menggunakan 1 IP address.
  6. Menyokong fail yang besar yang mana saiz fail melelebihi 2GB bagi OS 32 bit.
  7. Bandwidth throttling bagi had kelajuan terhadap tindak balas.

Keaslian kandungan:

  1. Statik : bagi kandungan yang datang daripada fail yang sedia ada di dalam filesystem.
  2. Dynamic: kandungan yang dihasilkan bersama-sama program lain atau script atau application programming interface (API) yang dipanggil oleh web server.

Jenis Web Server Dan Statistik Penggunaannya.

statistik-webserver

Vendor
Product
Websites Hosted
Percent
96,531,033
52.05%
61,023,474
32.90%
9,864,303
5.32%
3,462,551
1.87%
2,989,416
1.61%
Oversee
Oversee
1,847,039
1.00%
Others
-
9,756,650
5.26%
Total
-
185,474,466
100.00%

Data diperolehi pada Januari 2009.

Mengenali Lebih Dekat Bahasa Pengaturcaraan Web

webArtikel ini saya tulis adalah di atas permintaan daripada pengunjung blog saya. Di sini saya akan terangkan 3 bahasa pengaturcaraan web yang utama iaitu PHP, ASP dan JSP berkaitan kelebihan yang disediakan. Saya tidak dapat mengulas kebaikkan dan keburukkan kerana kesemuanya mempunyai kekuatan dan kelemahan sendiri. Oleh itu anda harus bijak untuk memilih bahasa pengaturcaraan yang terbaik yang anda rasakan sesuai dengan projek yang ingin anda buat.

Bahasa pengaturcaraan web pada asalnya bermula dengan HTML dan kini semakin berkembang mengikut perkembangan teknologi pada masa ini. Meskipun begitu kesemua bahasa pengaturcaraan generasi terkini tetap membenarkan ianya menyisipkan bahasa HTML ini di dalam kod aturcaranya.

Penerangan ringkas berkaitan PHP, ASP dan JSP.

php

PHP adalah server side language yang dapat digunakan di web browser. Banyak manfaat yang diperolehi daripada penggunaan PHP ini. PHP membenarkan kod HTML diguna di dalamnya disamping penggunaan CSS dan JavaScript. Apa yang perlu ialah file web hendaklah menggunakan extension .php sebagai pengenalan ianya merupakan file php.

Ia juga membenarkan developer membuat operasi yang sukar untuk digunakan di dalam web environment. PHP juga membenarkan untuk memuatkan halaman lebih kerap daripada biasa dan terdapat banyak server hosting yang menyokong penggunaan PHP. Hosting yang menggunakan PHP juga lebih murah berbanding hosting yang menggunakan ASP.Net, Visual Basic.Net dan Java (JSP). Ini kerana PHP merupakan perisian open source dan semua server yang menggunakan operating system *nix telah sedia ada menyokong PHP dan PHP telah sedia terpasang di dalamnya.

PHP juga memungkinkan pengurusan data secara centralize dan memudahkan data – data disimpan di dalam database. PHP juga memberikan developer lebih kebebasan untuk membina, mempunyai banyak kemudahan untuk halaman web dan juga tetap membolehkan hubungan dengan data luar (extended data). Dengan penghubungan web dan data ini membenarkan developer update web tanpa perlu download source file (file sumber) di dalam proses update tersebut.

asp

ASP dibangunkan bagi kecepatan masa dan mudah sebagai alternatif kepada CGI dan Perl atau C. Ianya juga menyokong VBScript dan JScript. Komponen ADO pula digunakan bagi membantu performance kepada fungsi tambahan termasuk ODBC-compliant databases, dan data output dalam bentuk text. Komponen Java dan XML pula digunakan sebagai extended script (skrip luaran) kepada ASP.

Terdapat benefit tambahan yang ada di dalam ASP:

  1. Digunakan di dalam hosting Windows.
  2. ASP dilaksanakan sebagai service kepada web server dan dioptimumkan kepada pelbagai kerja dan pengguna (user). Ini bermakna ASP dapat diimplimen dengan cepat dan mudah.
  3. ASP membenarkan anda memisahkan rekabentuk halaman web daripada programming mengakses database dan aplikasi. Ianya membolehkan programmer dan perekabentuk web untuk memikirkan apa yang terbaik untuk dilakukan.
  4. Server-side ASP membenarkan borang (form) HTML menyimpan data ke dalam database dan menggunakan pelbagai kemudahan yang terdapat di dalam HTML ke dalam browser.

jsp

Jika anda telah biasa menggunakan HTML SilverStream, anda mungkin mudah menggunakan tool di dalam toolbox anda. Jadi untuk memulakannya, JSP bermaksud JavaServer Pages. Seperti SilverStream Pages, JSP juga bermaksud membina Java Servlets. Apabila terdapat permintaan untuk halaman .JSP, server akan memanggil Java Servlet untuk menjawab dan melaksanakan arahan daripada permintaan tersebut.

Terdapat pelbagai alat yang telah dibina untuk bekerja dengan JSP (J2EE objek dan toolkit). Ini membolehkan modal yang diperlukan amat rendah dan membolehkan pembiayaan lebih banyak projek dalam satu masa. ianya juga lebih fleksibel dengan pengurusan kumpulan dan ianya sangat mudah untuk menguasai kemahiran tersebut bagi sesebuah kumpulan.

wine hq

Pengenalan Kepada Wine

wine hqWine ialah perisian percuma bagi pengguna *nix bagi melaksanakan dan menjalankan perisian yang dibangunkan di bawah pembangunan Microsoft Windows. Ini bermakna semua perisian yang dibangunkan untuk kegunaan Windows kini boleh digunakan di dalam operating system *nix. Wine juga menyediakan software library yang dikenali sebagai Winelib bagi membolehkan pembangun perisian akan dapat compile aplikasi Windows untuk membantu aplikasi ini ditetapkan port seperti *nix system.

Perkataan Wine ini bermaksud Wine Is Not an Emulator. Wine kini masih di dalam percubaan bagi *nix walau bagaimanapun ianya sudah boleh digunakan di dalam *nix. Wine dijangka dapat melonjakkan nama operating system *nix kerana suatu ketika nanti segala aplikasi sudah boleh dijalankan di dalam *nix dan dapat mengatasi Windows yang mana Windows masih tidak dapat menjalankan aplikasi di bawah *nix.

Sebenarnya sudah tiada alasan lagi mengapa kita tidak bertukar ke *nix pada masa kini. Tepuk dada tanya selera.

Perlunya Melakukan ‘Update’ Pada Operating System

Windows_XP_Logo

Saya kerap menekankan perlunya membuat ‘updating’ pada operating system. Tetapi saya tidak menafikan masih ramai yang tidak menghiraukan pandangan saya ini kerana beranggapan membuang masa dan terdapat juga pengguna – pengguna yang tidak tahu langsung untuk melakukan ‘update’ ataupun yang tidak mempedulikan perihal update ini.

Kepentingan untuk melakukan update ini ialah disebabkan operating system ini mengawal segala perkara berkaitan software dan hardware yang digunakan di dalam komputer. Operating system ini berfungsi seawal komputer melakukan ‘booting’ sehingga kita melakukan shutdown. Oleh yang demikian, perlunya selalu untuk melakukan update pada system kita bagi mengelakkan gangguan – gangguan yang disebabkan wujudnya ruang kosong (patch) yang membenarkan ancaman pada keselamatan operating system kita.

Di bawah ini saya terangkan kaedah bagi melakukan operating system update.

Windows Update:

  • Bagi pengguna Windows (98,ME,XP,Vista,NT,Server 2003,Server 2008,Windows 7) hanya mempunyai 1 pilihan untuk melakukan update iaitu melalui web yang telah disediakan oleh Microsoft. Cara untuk melaksanakannya ialah:
  1. Klik pada butang Start
  2. Klik pada All Program
  3. Klik pada ikon Windows Update.
  • Proses update akan berjalan dengan sendiri menggunakan kaedah web-based.

Bagi pengguna Linux, terdapat 2 cara untuk melakukan update pada operating system dan menggunakan application mengikut distro Linux yang kita gunakan. Untuk rujukan bagi mengetahui distro dan based system, sila ke topik Kepelbagaian Distro Bagi Linux untuk lebih lanjut. Secara umumnya Linux terdiri daripada 2 distro utama iaitu RedHat dan juga Debian. Bagi Distro Linux yang lain, proses update berdasar kepada serasian (compatible) bagi Linux tersebut. Di sini saya akan menerangkan teknik melakukan update menggunakan GUI (Graphic User Interface) dan juga menggunakan command line.

RedHat and Compatible (Fedora, Centos, RedHat dll) Atau Dikenali Sebagai RedHat Enterprise Linux (RHEL):

1. Menggunakan GUI:

  • Klik pada System pada Task Bar.
  • Klik pada Administration.
  • Klik pada Update System.

2. Menggunakan command line:

Terdapat dua kaedah untuk melakukan update pada RedHat Linux iaitu menggunakan application RPM (RedHat Package Manager) dan juga YUM (Yellow dog Update Modified). Bagi kebiasaan pengguna RHEL, mereka menggunakan application YUM berbanding RPM kerana penggunaan YUM lebih mudah berbanding RPM. Walau bagaimanapun saya akan menerangkan cara melakukan update bagi kedua-duanya.

i. RPM (Basic Knowledge)

Rpm memerlukan anda mengetahui source file bagi application yang anda ingin update. Arahan yang digunakan ialah:

i.i. Untuk melakukan installation dan upgrading:

# rpm -i software-version.rpm : untuk installation

# rpm -U software-version.rpm : untuk upgrading

i.ii. Untuk < Error: failed dependencies >:

# rpm -i software-version.rpm --nodeps : bermaksud melakukan installation tanpa file dependencies.

i.iii. Membuat remove installation / uninstall:

# rpm -e software-version.rpm

# rpm -e software

i.iv. Membuat query software menggunakan arahan rpm:

# rpm -q software : bagi membuat query

# rpm -qa : bagi menyenaraikan semua software yang di ‘install’ di dalam operating system.

# rpm -qa | less : untuk menyenaraikan semua software dengan paparan scroll di dalam terminal (sekiranya terlalu banyak software yang ada di dalam operating system.

# rpm -qa | grep kde :menyenaraikan software yang mengandungi perkataan kde. Gantikan kde bagi apa – apa perkataan yang anda ingin cari.

ii. YUM (Basic Knowledge)

Yum merupakan cara melakukan update yang paling mudah bagi pengguna RHEL. Di bawah ini merupakan cara untuk melakukan arahan – arahan yum.

i. Arahan – arahan yum:

# yum install software :untuk melakukan installation sesuatu software. Gantikan software dengan nama software yang anda ingin install.

# yum update software :untuk membuat updating bagi sesuatu software.

# yum update :untuk membuat updating bagi keseluruhan operating system.

# yum remove software :untuk melakukan uninstall pada sesuatu software.

# yum update software :bagi melakukan carian software yang telah ada di dalam system.

# yum list updates :memaparkan senarai software yang telah di ‘update’ kan.

# yum list installed :senaraikan semua software yang telah ada di dalam system.

Debian Compatible (Suse, Manriva, Slackware, Debian, Ubuntu, dll)

1. Menggunakan GUI:

  • Klik pada System
  • Klik pada Administration
  • Klik pada Update Manager.

2. Menggunakan command line:

APT (Advanced Package Tool) merupakan application yang digunakan di dalam debian compatible.  Di bawah ini saya berikan command yang boleh digunakan untuk melaksanakan arahan apt (Basic Knowledge).

#apt-get install software :untuk install sesuatu software.

#apt-get install –reinstall software :untuk melakukan installation semula.

#apt-get remove software :untuk membuat arahan uninstall.

#apt-get -purge remove software :untuk membuat arahan uninstall beserta configuration file.

#apt-cache search software :untuk membuat arahan pencarian sesuatu software yang ada di dalam system.

#apt-get update software :untuk membuat update pada sesuatu software. Tukarkan software kepada nama software yang anda ingin update.

#apt-get update :untuk membuat update berdasarkan repository.

#apt-get upgrade :untuk melakukan upgrading pada system. (sangat berguna untuk maintaining dan up-to-date system).

#apt-get dist-upgrade :untuk membuat upgrade distro anda.