mastering cms dgn mambo-joomla - … · dilengkapi pula dengan cd berisi source code ... mambot,...
TRANSCRIPT
Spesifikasi:
Ukuran: 14x21 cm Tebal: 280 hlm
Harga: Rp 49.800 Terbit pertama: Februari 2006
Sinopsis singkat:
Buku Mastering CMS dengan Mambo/Joomla dirancang dan ditulis untuk membantu Anda yang berprofesi sebagai pengelola website, pengembang, administrator sistem, ataupun pemerhati dunia web. Kekuatan dua
CMS dunia yaitu Mambo dan Joomla merupakan topik utama bahasan buku ini di mana sasarannya yaitu semua pembaca dengan latar belakang yang berbeda-beda mulai dari pemula hingga mahir.
Dalam buku ini, Anda akan dipandu dalam bentuk tutorial dan latihan yang ditunjang dengan referensi-referensi. Selain itu juga beberapa tip-tip penting juga akan ditemukan. Kemudahan dalam penjelasan, uraian
yang rinci dan komprehensif serta penggunaan bahasa gaul yang mudah dipahami diharapkan dapat menjadikan buku ini sangat layak untuk dibaca.
Dilengkapi pula dengan CD berisi source code (berikut deskripsi singkat) seperti program inti, komponen, modul, mambot, dan template Mambo/Joomla berikut contoh-contoh latihan dan material yang digunakan
dalam mendesain template, termasuk script dan tools.
vii
Daftar Isi Kata Pengantar ............................................................................. v Daftar Isi ..................................................................................... vii Cara Menggunakan Buku Ini ........................................................ xi
Bab 1 Fundamental, Instalasi, dan Pengembangan.............. 1
1.1 Pendahuluan.................................................................1 1.1.1 WWW dan HTML ............................................1 1.1.2 Database........................................................3 1.1.3 PHP ................................................................4 1.1.4 Content Management System (CMS)..............4
1.2 Pengertian Mambo dan Joomla ....................................6 1.2.1 Prinsip Dasar Cara Kerja Mambo dan Joomla.8
1.3 Instalasi ....................................................................12 1.3.1 Instalasi Paket Inti.........................................12 1.3.2 Instalasi Modul..............................................32 1.3.3 Instalasi Komponen......................................34 1.3.4 Instalasi Mambots.........................................36 1.3.5 Instalasi Paket Bahasa dan Template ...........38
1.4 Pengembangan Mambo/Joomla .................................38 1.4.1 Membuat Modul............................................38 1.4.2 Pengembangan Komponen dan Mambot ......41
Bab 2 Pengelolaan Mambo/Joomla ................................... 43
2.1 Sistem Keanggotaan, Autentikasi, dan Otorisasi.........43 2.2 Sistem Pengelolaan dan Administrasi .........................45
2.2.1 Pengelolaan Mambo/Joomla dengan Sistem Administrasi Frontend ..................................48
2.2.2 Pengelolaan Mambo/Joomla dengan Sistem Administrasi Backend ..................................70
Bab 3 Mendesain Template ............................................ 173
3.1 Sistem Template Mambo/Joomla dan Anatominya ..173
viii
3.2 Peralatan (Tool) yang Diperlukan.............................176 3.2.1 Photoshop dan Peralatan Desain Lain.........176 3.2.2 Dreamweaver .............................................177 3.2.3 XAMMP dan Mambo Solutions Extension ...178 3.2.4 Generator XML ...........................................184
3.3 Konsep dan Proses Desain Awal...............................184 3.3.1 Taste of Site ...............................................184 3.3.2 Tipografi, Warna, dan Ilustrasi ....................185 3.3.3 Variable Width dan Fixed Width..................186 3.3.4 Metode Tabel vs css ...................................188
3.4 Mendesain Tampilan Menggunakan Photoshop ........190 3.4.1 Sketsa (Scratch) Awal................................190 3.4.2 Mendesain Menggunakan Photoshop..........192 3.4.3 Save for Web dan Optimalisasi Gambar .....195
3.5 Membuat index.php..................................................198 3.5.1 Header .......................................................199 3.5.2 Body ..........................................................201 3.5.3 Menggunakan Mambo Solutions
Dreamweaver Extension.............................203 3.6 Membuat Template_CSS.css ....................................207
3.6.1 CSS Inti Mambo..........................................215 3.6.2 Kode CSS Tambahan .................................224
3.7 Membuat template_thumbnail.png............................227 3.8 Membuat templateDetails.xml dan Paket Instalasi ....228
Bab 4 Backup dan Restore Mambo/Joomla..................... 233
4.1 Backup.....................................................................234 4.1.1 Backup Database .......................................234 4.1.2 Backup File/Direktori .................................241
4.2 Restore .....................................................................242 4.2.1 Restore Database .......................................242 4.2.2 Restore File/Direktori .................................246
Bab 5 Sistem Keamanan Mambo/Joomla ....................... 247
5.1 Dasar-Dasar Pengamanan........................................248 5.1.1 Pemilihan Sistem Operasi, Setting Server
dan Desain Aplikasi....................................249 5.1.2 Instalasi Patch ............................................249 5.1.3 Kontrol Akses.............................................250
ix
5.1.4 Audit dan File Log ......................................251 5.1.5 Menerapkan Kriptografi ..............................251
5.2 Penerapan Dasar-Dasar Pengamanan.......................252 5.2.1 Level Sistem Operasi dan Perangkat
Keras..........................................................252 5.2.2 Level Akses Host........................................254 5.2.3 Level Akses Direktori dan File ....................255
Daftar Pustaka ..........................................................................263 Profil Penulis .............................................................................265
1
BAB 1
FUNDAMENTAL, INSTALASI, DAN PENGEMBANGAN
Bab awal ini menjelaskan tentang konsep, instalasi, dan dasar-dasar pengembangan Mambo/Joomla. Diharapkan setelah membaca bab ini, Anda akan mengerti prinsip dasar Mambo/Joomla sebagai sebuah CMS sehingga akan mudah dalam mengimplementasi-kannya.
1.1 Pendahuluan
Sebelum mempelajari CMS Mambo dan Joomla, sangat dianjurkan untuk mempelajari terlebih dahulu sekilas mengenai apa itu WWW, HTML, Server Web, Database, PHP, dan CMS.
1.1.1 WWW dan HTML
WWW, Web atau Situs, dan Server Web
World Wide Web (WWW atau singkatnya web) adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI) atau juga lebih dikenal dengan istilah yang lebih populer yaitu Uniform Resource Locator (URL). WWW sering dianggap sama dengan internet secara keseluruhan, walaupun sebenarnya WWW hanyalah bagian dari internet. WWW juga dikenal dengan istilah situs internet.
2
Untuk melayani fasilitas web ini dibutuhkan sebuah server web (web server). Server web yang terkenal di antaranya yaitu Apache dan Microsoft Internet Information Service (IIS). Apache dapat berjalan pada banyak platform, sedangkan IIS hanya dapat beroperasi di Windows.
HTML, Halaman Web, dan CSS
HTML (HyperText Markup Language) merupakan sebuah bahasa markup (tanda) yang digunakan untuk membuat sebuah “halaman web” dan menampilkan berbagai informasi di dalam sebuah browser internet yang merupakan standar internet yang saat ini dikendalikan oleh World Wide Web Consortium (W3C). Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML.
Versi terakhir dari HTML yaitu HTML 4.01, meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML.
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.
Secara garis besar, terdapat empat jenis elemen dari HTML:
Structural
Tanda yang menentukan level atau tingkatan dari sebuah teks (Contoh, <h1>Mambo Indonesia</h1> akan meme-rintahkan browser untuk menampilkan “Mambo Indonesia” sebagai teks tebal besar yang ditunjukkan dengan format Heading 1.)
Presentational
Tanda yang menentukan tampilan dari sebuah teks, tidak peduli dengan level dari teks tersebut. (Contoh, <b>Joomla Indonesia</b> akan menampilkan teks “Joomla Indonesia” dengan huruf yang ditebalkan.)
3
Hypertext
Tanda yang menunjukkan link ke bagian dokumen tertentu. (Contoh, <a href="http://www.mambo-id.com/">Komunitas Mambo Indonesia</a> akan menampilkan teks “Komunitas Mambo Indonesia” sebagai sebuah hyperlink dengan URL www.mambo-id.com, yang jika diklik akan menuju ke website Komunitas Mambo Indonesia.)
Elemen widget yang membuat objek-objek lain seperti tombol (<button>), list (<li>), dan garis horizontal (<hr>).
Selain markup presentational, markup yang lain tidak menentukan bagaimana tampilan dari sebuah teks. Namun untuk saat ini, penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan dan sebagai gantinya digunakan Cascading Style Sheets (CSS).
1.1.2 Database
Database (basis data) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematis sehingga dapat diperiksa meng-gunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil query database disebut sistem manajemen database (database management system/DBMS). Sistem database dipelajari dalam ilmu informasi.
Beberapa aplikasi database di antaranya:
Komersial
DB2
Microsoft SQL Server
Oracle
Sybase
Teradata
Gratis
Firebird
4
MySQL
PostgreSQL
1.1.3 PHP
PHP (Personal Home Page) adalah bahasa pemrograman script1 yang paling banyak dipakai saat ini. PHP banyak dipakai untuk mem-rogram situs web dinamis, walaupun tidak tertutup kemungkinan untuk digunakan untuk keperluan lainnya.
Kelebihan PHP dan bahasa pemrograman lain:
Bahasa pemrograman PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam pengguna-annya.
Server web yang mendukung PHP dapat ditemukan di mana-mana, mulai dari IIS sampai dengan apache, dengan kon-figurasi yang relatif mudah.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pe-ngembangan.
Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena referensinya banyak.
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux,unix,windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
1.1.4 Content Management System (CMS)
Sistem Manajemen Konten (Content Management System) yang lebih dikenal dengan CMS adalah sebuah aplikasi berbasis web yang memiliki sistem sedemikian hingga memberikan kemudahan kepada para pengguna sekaligus juga pengelolanya.
1 PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl.
5
Sesuai dengan nama CMS itu sendiri, website yang menerapkan sistem ini berorientasi terhadap konten. Sudah bukan merupakan kendala yang berarti bagi manajemen atau humas suatu per-usahaan/institusi/organisasi untuk memperbarui website-nya. Dengan hak akses dan otoritas masing-masing, setiap bagian dari perusahaan/intitusi/organisasi dapat memberikan kontribusinya ke dalam website tanpa prosedur yang sulit.
Dapat Anda bayangkan suatu perusahaan A yang memiliki website konvensional yang belum mengadopsi CMS jika ingin memperbarui datanya. Pihak humas/umum harus menghubungi webmaster website-nya untuk mengirimkan data yang akan diperbarui, baru kemudian data tersebut diolah dan dikonversi menjadi format html oleh webmaster. Prosedur yang panjang ini sangat jelas akhirnya akan membebani biaya perusaahaan dalam operasionalnya sehari-hari dan juga dari segi waktu.
Bagaimana jika webmaster sedang tidak di tempat sedangkan data diharapkan update saat itu juga? Ilustrasi yang lebih panjang lagi dapat digambarkan jika webmaster website adalah vendor di luar perusahaan A yang hanya bisa dihubungi oleh Bagian IT perusahaan A tersebut. Apa yang terjadi dapat disimpulkan sendiri. Demikian juga dapat dibayangkan bagaimana jika proses ini berlangsung berulang-ulang dalam tiap bulannya, dalam seminggu, dalam sehari, bahkan dalam tiap jam?
Pada umumnya sebuah CMS memiliki dua bagian kategori yaitu bagian Frontend dan Backend2.
Kecanggihan dan fitur masing-masing CMS bergantung pada CMS yang digunakan. Penggunaan sistem hierarki pengguna yang di-terapkan CMS dalam hak aksesnya pun sangat bervariasi sesuai CMS masing-masing. Mulai dari level akses user anggota yang hanya dapat mengirimkan data tertentu berupa komentar, kemudian editor yang dapat mengirimkan suatu artikel/berita (untuk CMS yang menyediakan fasilitas ini), hingga level administrator yang dapat melakukan semua fitur yang ada.
Berikut ini manfaat penggunaan CMS:
2 Lebih lengkap mengenai frontend maupun backend dapat dibaca pada Bab 2.
6
Website perusahaan, bisnis, organisasi, atau komunitas
Portal
Galeri foto
Aplikasi e-commerce
Mengelola website pribadi/blog, dan lain-lain
Keberadaan aplikasi gratisan di internet dan juga komunitas open source yang semakin menjamur ikut memberikan andil yang signi-fikan untuk menjadikan teknologi CMS menjadi murah dari segi harga akan tetapi dengan fitur-fitur yang semakin lengkap dan canggih.
Dari segi biaya implementasi pembuatan CMS sangatlah murah apalagi jika dibandingkan dengan fitur-fitur dan kemudahan yang ditawarkan. Hal inilah yang akhirnya ikut mempopulerkan CMS dan akhirnya akan menggantikan semua website konvensional yang ada. Hari gini gak pake CMS? ☺
1.2 Pengertian Mambo dan Joomla
Mambo Open Source (MOS) adalah sebuah sistem manajemen konten (Content Management System/CMS) yang paling powerful dan telah digunakan di seluruh dunia untuk keperluan website dari yang paling sederhana sampai aplikasi perusahaan yang paling kompleks sekalipun. Mambo sangat mudah untuk diinstal, gampang dikelola, dan memiliki kapabilitas yang tinggi sesuai dengan slogan-nya “Power in simplicity”.
Penghargaan dunia terhadap Mambo seperti Best Free Software Project of the Year oleh Linux Format Magazine 2004, Best Linux or Open Source Software pada “LinuxUser & Developer Award 2004” di London, Inggris serta penghargaan Best of Show - Total Industry Solution dan predikat Best Open Source Solution pada konferensi Linux dunia di Boston 2005 membuktikan bahwa Mambo me-rupakan CMS terbaik saat ini.
Joomla sendiri merupakan sebuah nama baru yang diberikan oleh “Developer Inti Mambo” hingga Agustus 2005 yang hengkang dari
7
Mambo. Joomla mulai launching dengan versi 1.0.0 yang me-rupakan cloning atau “nama alias” dari Mambo 4.5.2.33.
Mana yg lebih canggih? Berdasarkan fakta seharusnya belum bisa disimpulkan, baru sebatas prediksi dari melihat kemampuan de-veloper yg terlibat.
Sedangkan versi 1.1.0 Joomla sendiri yang direncanakan launching akhir tahun 2005/awal tahun 2006 merupakan hasil karya dari “para developer Mambo versi 4.5.3”. Semua addons (template, modul, komponen, mambots, dan paket bahasa) yang didesain untuk mambo 4.5.2 dijamin tetap jalan di Joomla 1.1. Joomla versi 1.0 dapat mengunakan databases Mambo 4.5.2.
Kehebatan Mambo dan Joomla sendiri sudah dibuktikan oleh beberapa website terkemuka kelas dunia. Tercatat, beberapa per-usahaan terkemuka di luar negeri sudah mempercayai Mambo/ Joomla sebagai mesin pengelola isi website resmi mereka. Beberapa di antaranya yaitu Porsche Brazil (http://www.porsche.com.br/), sebuah perusahan otomotif yang terkenal dengan produksi mobil-mobil high class-nya, Mitsubishi Motor (http://www.mitsubishi-motors.com.ve/news/), PC Praxis (http://www.pcpraxis.de/) salah satu Top 5 majalah komputer terbesar di Jerman, dan banyak lagi.
Di Indonesia, hal yang sama juga terjadi. Kepercayaan dan se-mangat untuk menggunakan Mambo/Joomla pun terus berkembang pesat seiring dengan semakin besarnya tingkat antusias peng-gunanya di negeri ini. Banyak sekali website-website yang telah menggunakan Mambo/Joomla, mulai dari website pribadi, komu-nitas, Online Magazine/News, corporate, hingga e-government de-ngan semangat Indonesia Goes to Open Source'4-nya.
Lalu bagaimana dengan website Anda?
Yang jelas, apa pun website-nya, Mambo atau Joomla CMS-nya… ☺
3 Termasuk fix bug dan patch. 4 IGOS
8
1.2.1 Prinsip Dasar Cara Kerja Mambo dan Joomla
Pepatah mengatakan “tak kenal maka tak sayang…”. Begitu juga dengan Mambo/Joomla, agar mengerti bagaimana mengoperasikan-nya, kita perlu mengerti benar prinsip dasarnya. Lho, apa hubung-annya? Nyambung gak sih?
Secara garis besar, Mambo/Joomla terdiri dari tiga elemen dasar, yaitu server web (webserver), skrip5 PHP, dan database MySQL.
Webserver diasumsikan terhubung dengan internet/intranet yang berfungsi sebagai penyedia layanan situs. Skrip PHP terdiri dari kode program dalam bahasa php, dan database merupakan tempat pe-nyimpanan konten. Mambo/Joomla menggunakan Apache sebagai webserver dan MySQL untuk databasenya.
Pertamakali, user melakukan request terhadap halaman Mambo/ Joomla dengan mengeksekusi URL pada browser web yang kemudian terhubung dengan server web (lihat Gambar 1.1). Request ini yang dalam istilah teknis lebih dikenal dengan Query String selain terdapat URL juga mengandung parameter konten (section, category, ID article dan lain-lain). Berdasarkan parameter tersebut, sistem skrip Mambo/Joomla melakukan kontak dengan database dan mengambil konten yang dimaksud berdasarkan parameternya. Terakhir, konten dan template bergabung bersama dan kembali sebagai halaman html, gambar, css dan javascript6.
5 Skrip adalah program aplikasi yang tidak di-compile menjadi bahasa mesin (seperti file berekstensi .exe atau .com pada Windows). Untuk menjalankan skrip perlu sebuah interpreter. 6 Skrip sederhana yang dijalankan pada browser (client side).
Konsep dasar ini begitu penting untuk mengetahui dasar-dasar pengoperasian Mambo/Joomla dan juga untuk pengembangan selan-jutnya.
9
Browsercreates
Mambo / Joomlaweb pages
Query Process(http request)
misal:http//mambo-id.comhttp//joomla-id.com
data f romMambo/Joomlastructuretables
jscript&CSS
InternetBrowser
Web Serv er(Apache)
My SQL
#VALUE!
intreprets processphp to html
Mambo /Joomla f ile(core,components,mambots, etc)
html
Mambo /Joomlatemplate
images
Serv er Response
Mambo /Joomlamodule
Gambar 1.1 Prinsip dasar kerja Mambo/Joomla
Manajemen dan Struktur Konten
Sebagai sebuah CMS, Mambo/Joomla lebih terfokus pada bagai-mana mengorganisir konten. Masalah bagaimana tampilan yang dihasilkan dari website tersebut berupa warna, huruf, posisi dan lain-lain yang berkaitan dengan tema dari website diatur dan diapli-kasikan dalam sebuah template.
Penentuan struktur konten di awal perencanaan sangat di-anjurkan. Kemudahan pengunjung dalam mencari berita atau artikel pada website Mambo/Joomla dan juga pengelolaan yang profesional, sangat ditentukan oleh struktur konten yang baik.
10
Pengelolaan konten dikelompokkan ke dalam bagian (sections) dan kategori (categories). Setiap bagian terdiri dari minimal satu atau lebih kategori. Setiap kategori terdiri dari satu atau lebih item konten (Content Items). Satu item konten dapat diidentikkan dengan satu artikel/berita.
Sections - Categories -- Articles/Content Items
Diilustrasikan, kita ingin mempublikasikan artikel-artikel tentang IT/IS7 ke dalam website portal bertemakan Teknologi Informasi.
Bagaimana struktur kontennya sangatlah simpel. Dalam hal ini tentu saja kita harus menentukan (sebagai contoh) bagiannya yaitu:
Perangkat Lunak yang kategorinya terdiri dari:
Sistem operasi (OS8), yang terdapat artikel-artikel ber-judul:
o “Linux”
o “Windows”
o “Macintosh”
Programming, yang terdapat artikel-artikel berjudul:
o “Delphi”
o “VB”
Perangkat Keras yang kategorinya terdiri dari:
PC, yang terdapat artikel-artikel yang berjudul:
o “Branded”
o “Jangkrik”
Network, yang terdapat artikel-artikel yang berjudul:
o “Router”
o “Hub” 7 IT = Information Technology, IS = Information System. 8 OS = Operating System
11
Template
Template adalah suatu file yang ditulis dalam bahasa php yang diperlukan Mambo/Joomla untuk menampilkan “wajah”nya sede-mikian rupa seperti gambar latar belakang, warna tabel, jenis huruf, besar-kecilnya huruf, warna huruf dan sebagainya sesuai dengan keinginan desainernya.
Istilah ini dikenal juga oleh CMS lain dengan istilah yang lebih populer yaitu themes atau tema.
Lebih jelasnya mengenai template silahkan baca Bab 3.
Modul
Modul adalah unit fungsi kecil untuk memperluas fungsionalitas program inti Mambo/Joomla. Kegunaan utamanya selain menam-pilkan fitur-fitur standar program inti juga berguna untuk menam-pilkan fungsi komponen. Fungsi modul ditampilkan melalui sistem template.
Istilah modul pada CMS lain juga disebut “block” atau “portlets”. Contoh modul yang cukup populer yaitu modul newsfeed, templatechooser, infoIP, dan lain-lain.
Komponen
Seringkali website Mambo/Joomla yang sudah kita bangun masih belum memenuhi kebutuhan yang direncanakan. Fungsi-fungsi standar (seperti sistem konten, web links, contact forms) Mambo/ Joomla dianggap masih terlalu simpel. Untuk menambah fung-sionalitas program inti Mambo/Joomla diperlukan aplikasi lain yang sesuai dengan keperluan dan kemudian disisipkan ke dalam aplikasi inti Mambo/Joomla. Aplikasi ini disebut komponen.
Mambot
Mambot adalah fungsi aplikasi mini yang disisipkan untuk me-manipulasi ataupun menerjemahkan konten yang diproses oleh program inti/komponen sebelum ditampilkan.
Mambot sendiri dibagi ke dalam empat jenis yaitu:
12
Content – berkaitan dengan manipulasi konten.
Editors – berkaitan dengan manipulasi fitur-fitur editor.
editors-xtd – berkaitan dengan manipulasi fitur-fitur editor yang lebih kompleks.
Search – berkaitan dengan manipulasi fungsi search.
Beberapa mambot di antaranya yaitu:
mosimage: Mambot yang mengonversikan perintah tag {mosimage} menjadi perintah tag img (html)9.
mospagebreak: Mambot yang memfungsikan navigasi ha-laman.
moscode: Mambot yang mengganti kode perintah tag {moscode}{/moscode} menjadi perintah tag yang menan-dakan kode programing.
1.3 Instalasi
Sebelum dapat menggunakan CMS Mambo/Joomla, terlebih dahulu kita harus melakukan instalasi. Proses instalasi ini dibagi menjadi enam bagian yaitu instalasi paket inti, modul, komponen, mambots, paket bahasa dan template yang masing-masing penjelasannya sebagai berikut:
1.3.1 Instalasi Paket Inti
Instalasi paket inti dapat dilakukan ke dalam dua jenis OS yang berbeda karakteristiknya yaitu sistem POSIX (Unix dan variannya) dan windows.
Sabelum melakukan proses instalasi diharuskan melewati tahap persiapan instalasi.
9 Seperti perintah <img src=”/image/gambar.jpg”>
13
Persiapan Instalasi
Langkah ini sangat diperlukan untuk memudahkan tahapan instalasi. Persiapan yang dilakukan meliputi pengecekan sistem yang diperlu-kan, informasi mengenai MySQL, melakukan download file Mambo/ Joomla, mengekstraksi file-file Mambo/Joomla, dan melakukan pengecekan ulang terhadap langkah-langkah persiapan instalasi.
Sistem yang Diperlukan dan Direkomendasikan
Keperluan minimal untuk Mambo versi 4.5.x atau Joomla versi 1.0.x ke atas:
PHP 4.2.x atau di atasnya - http://www.php.net
MySQL 3.23.x atau di atasnya - http://www.mysql.com
Apache10 1.13.19 atau di atasnya - http://www.apache.org
Browser: Explorer (version 5.5+) Netscape dan Mozilla.
Informasi MySQL
Informasi yang diperlukan yaitu11:
Nama dabatase MySQL
Nama Host MySQL host, defaultnya adalah “localhost” jika MySQL dan Server Web terletak pada PC yang sama.
Username MySQL
Password MySQL
Download Files
File-file Mambo dapat diperoleh di website resmi Mambo di mamboforge.net atau dapat juga diperoleh di mambo-id.com. Sedangkan untuk Joomla dapat Anda peroleh dari joomla.org atau joomla-id.com.
10 Untuk OS Windows, walaupun Mambo / Joomla dapat berjalan menggunakan server IIS, akan tetapi sangat disarankan menggunakan Apache. 11 Jika website Anda menggunakan jasa hosting, tanyakanlah pada administrator/ webmaster yang mengelola server hosting tersebut.
14
File dalam keadaan file arsip yang terkompresi. Oleh karena itu perlu program utiliti untuk melakukan “unzip12“ file.
Ekstrak dan Tempatkan/Upload Files
Unzip/ekstrak file yang sudah di-download kemudian tempatkan pada root dokumen server web yang sudah disiapkan. Biasanya untuk server yang berbasis windows, pathnya seperti c:\apache group\apache\htdocs dan /usr/local/apache/htdocs pada sistem POSIX atau sitem Unix dan variannya13.
Untuk proses instalasi secara remote di mana Anda menginginkan instalasi pada server hosting, perlu dilakukan proses upload file. Proses yang sangat lazim dilakukan adalah menggunakan FTP14.
Periksa Ulang Keperluan Sistem
Untuk menginstal Mambo/Joomla pertamakalinya, cek semua per-siapan instalasi yang telah diuraikan di atas.
Jika semua kondisi di atas telah dipenuhi dan diasumsikan bahwa semua sistem di atas berjalan sesuai keperluan maka proses instalasi dapat dilakukan.
12 Aplikasi yang sering digunakan adalah WinZIP dan WinRAR untuk aplikasi berbasiskan Windows, sedangkan sistem *nix adalah unzip dan gunzip. 13 Linux, AIX, HP-Ux, Sun Solaris dan lain-lain. 14 FTP adalah File Transfer Protocol. Aplikasi FTP yang populer di antaranya yaitu CuteFTP, WSFTP dan lain-lain. Silahkan membaca khusus referensi mengenai FTP.
Bagi software house, ada baiknya Anda membuat suatu check list yang berisi kelima langkah persiapan instalasi di atas hingga tahap instalasi (bahkan sebaiknya seluruh proses hingga website Mambo/Joomla Anda benar-benar siap digunakan.
Kebutuhan ini diperlukan sebagai standar QC (Quality Control) per-usahaan Anda dalam memenuhi kepuasan pelanggan dan juga sikap profesional.
15
Instalasi Menggunakan Browser Web
Proses instalasi ini menggunakan browser web yang ditujukan ke URL yang telah Anda siapkan, misalnya http://www.mambo-id.com. Jika Anda menempatkannya dalam sebuah direktori, misalnya direktori TEST, tambahkan direktori tersebut sehingga menjadi http://www.websiteanda.com/TEST15.
Jika Anda tidak melihat halaman apa pun yang ditampilkan, verifikasi langkah-langkah berikut ini:
Apakah semua file Mambo/Joomla sudah di-upload ke website Anda?
Apakah sudah mem-backup website lama?
Apakah Apache/MySQL/PHP sudah terinstal dan siap digu-nakan?
Adakah file kongurasi configuration.php di direktori Mambo/ Joomla Anda?
Atau Anda juga dapat langsung mengakses http://www.websiteanda.com/installation/index.php.
Pra-Instalasi
Proses instalasi paling awal adalah pra-instalasi yang terdiri dari tiga bagian.
Bagian pertama yaitu proses pengecekan apakah sistem yang ter-sedia sesuai dengan sistem ideal yang diperlukan Mambo/Joomla.
15 Perhatikan huruf besar atau kecil jika menggunakan platform *nix dan variannya. Sistem ini menganut metode case sensitive yang berbeda dengan metode yang digunakan platform Windows.
16
Gambar 1.2 Cek Pra-instalasi pada Mambo 4.5.2.3
Bagian kedua berkaitan dengan setting php.
Gambar 1.3 Pengecekan setting konfigurasi PHP pada Mambo 4.5.2.3
17
Bagian ketiga melakukan pengecekan atribut file dan direktori.
Gambar 1.4 Pengecekan hak akses file dan direktori pada Mambo 4.5.2.3
Tulisan status berwarna hijau menunjukkan kesesuaian sistem, sedangkan warna merah yaitu status yang tidak direkomendasikan karena dapat menyebabkan kegagalan proses instalasi maupun sistem Mambo/Joomla yang berjalan tidak sesuai dengan seha-rusnya.
Jika sudah sesuai, tekan tombol yang akan menam-pilkan halaman berikutnya yaitu lisensi Mambo/Joomla.
18
Gambar 1.5 Jendela lisensi pada Mambo 4.5.2.3
Jika Anda menyetujui persyaratan yang tertulis, beri tanda cek pada “I Accept the GPL License” dan kemudian klik tombol Next.
Proses instalasi tidak akan dapat diteruskan selama Anda tidak menyetujui persyaratan ini.
Proses Instalasi
Langkah berikut ini yaitu langkah pertama dalam melakukan ins-talasi, yaitu melakukan konfigurasi MySQL.
19
Gambar 1.6 Langkah pertama instalasi: konfigurasi database MySQL pada Mambo 4.5.2.3
Masukkan konfigurasi database MySQL16. Hostname biasanya diisi dengan localhost. Hal ini menunjukkan bahwa Server MySQL dan Apache diinstal pada komputer yang sama.
Pada bagian bawah, Anda diberikan pilihan untuk menghapus semua tabel yang sudah ada ataupun mem-backup-nya. Selain itu Anda juga dapat menginstal beberapa contoh data (data dummy)17 konten.
16 Lihat pada tahap persiapan instalasi MySQL pada Subbab 1.3.1. 17 Jika instalasi ini pertama kali dilakukan dan Anda belum mengenal sama sekali mengenai Mambo/Joomla maka direkomedasikan untuk menginstal contoh data konten.
20
Jika informasi mengenai database ini sudah sesuai, klik tombol Next. Anda akan mendapatkan konfirmasi berikut:
Gambar 1.7 Jendela konfirmasi untuk membuat data dummy pada Mambo 4.5.2.3
Setelah mengklik OK, proses akan dilakukan secara otomatis. Pesan kesalahan akan ditampilkan pada halaman berikutnya jika ada ketidaksesuaian.
Jika sesuai proses instalasi akan dilanjutkan dengan langkah ber-ikutnya yaitu langkah kedua.
Gambar 1.8 Langkah kedua instalasi: penamaan website pada Mambo 4.5.2.3
Masukan nama website18 yang diinginkan dan kemudian klik tombol Next.
Langkah Ketiga yaitu halaman konfirmasi konfigurasikan URL, path direktori, alamat email, dan password admin website.
18 Karakter khusus tidak akan dapat digunakan.
21
Gambar 1.9 Langkah ketiga instalasi: konfirmasi konfigurasi pada Mambo 4.5.2.3
Alamat email yang dimaksud yaitu alamat email Super Adminis-trator. Account ini secara otomatis dibuat dengan nama “admin” dan password sesuai dengan yang Anda isikan pada field “Admin password”.
Selanjutnya klik tombol Next sehinga muncul halaman status kon-firmasi terakhir tentang konfigurasi dan informasi mengenai login Administrator.
Mohon diingat baik-baik nama login dan password Super Admi-nistrator website Mambo/Joomla Anda. Account ini diperlukan untuk masuk ke sesi Admin.
Untuk alasan keamanan Anda diharuskan untuk menghapus di-rektori installation. Website Mambo/Joola tidak akan bekerja se-belum Anda menghapus direktori ini.
22
Gambar 1.10 Langkah keempat instalasi: status terakhir instalasi pada Mambo 4.5.2.3
Di halaman ini ada dua tombol yang menuju ke halaman utama Mambo/Joomla dan halaman Administrator.
Instalasi Manual pada Sistem POSIX
Membuat Database di MySQL
Setelah men-download dan mengekstrak file-file Mambo/Joomla, buatlah database Mambo/Joomla di MySQL menggunakan printah mysqladmin19 atau perintah create nama_database di dalam ling-kungan perintah mysql20.
mysqladmin -uroot -ppassword create nama_database21
19 Sistem POSIX baik console, maupun remote menggunakan Telnet atau SSH. 20 Lihat poin 16. 21 Gantilah “root’ dan “password’ dengan user dan password database MySQL anda.
23
Impor File ke MySQL
Impor file mambo.sql22 atau file joomla.sql23 yang terletak di direktori installation/sql ke dalam database Mambo/Joomla Anda.
Mysql –uroot –ppassword nama_database < [path]mambo.sql24
Atau
Mysql –uroot –ppassword nama_database < [path]joomla.sql25
Cara lain yang lebih mudah dapat Anda gunakan phpmyadmin26.
Data dummy/contoh dapat diimpor dari file sample_data.sql yang terletak di direktori installation/sql.
File Konfigurasi
Copy configuration.php-dist menjadi configuration.php pada di-rektori root Mambo/Joomla Anda, lalu edit file configuration.php dan isikan setting database MySQL, nama host, dan info direktori yang sesuai.
Sistem File
Di dalam system Posix ada dua sistem yang harus dilakukan. Mengubah kepemilikan file dan direktori Mambo/Joomla dan meng-ubah atribut file/direktori.
Mengubah Kepemilikan File/direktori
Kepemilikan file dianjurkan sama dengan account user yang men-jalankan daemon server web.
Dengan menggunakan Telnet27 atau SSH28 Anda dapat meng-gunakan perintah:
22 Jika menggunakan Mambo 23 Jika menggunakan Joomla 24 Lihat poin 19 25 Lihat poin 20 26 Tool Administrasi MySQL berbasis Web (http://www.phpmyadmin.net) 27 Program/protokol untuk melakukan login remot ke computer/mesin lain. 28 Seperti Telnet (16) tetapi proses pengirimannya dienkripsi.
24
ps -ef | grep apache
Contoh tampilan yang mungkin dihasilkan adalah29:
root 7508 1 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7511 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7512 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7513 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7514 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7515 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7521 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7522 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 7523 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
Display menjelaskan bahwa user “nobody” sedang menjalankan server web.
Agar kepimilikan file/direktori Mambo/Joomla Anda sama dengan user yang menjalankan server web, atribut kepemilikan file/direktori perlu diubah menggunakan perintah chown.
Contoh perintahnya yaitu:
chown -R nobody
Mengubah Atribut File/direktori
Ubahlah semua atribut file/direktori menjadi 70530 secara rekursif. chmod –R 705
Kemudian: chmod o+w administrator/backups chmod o+w administrator/components chmod o+w administrator/modules chmod o+w administrator/templates chmod o+w cache chmod o+w components chmod o+w images
29 Nama proses dan user yang ditampilkan di display bergantung pada sistem yang digunakan. Pada contoh, nama proses yaitu “httpd’ dan nama user yaitu “nobody’. 30 Angka “0” menunjukkan bahwa “group” tidak diberikan hak akses sama sekali. Hal ini erat sekali kaitannya dengan sistem keamanan.
25
chmod o+w images/banners chmod o+w images/stories chmod o+w language chmod o+w mambots chmod o+w mambots/content chmod o+w mambots/search chmod o+w media chmod o+w modules chmod o+w templates chmod o+w mambots/editors/ chmod o+w mambots/editors-xtd/
Perintah tersebut dimaksudkan agar “other” atau user “nobody” diberikan semua akses (read, write, dan execute) terhadap direktori-direktori seperti yang ditulis di atas (administrator/backups, admin-istrator/components, administrator/modules, dan seterusnya.
Agar diingat, setelah proses instalasi dan pengembangan selesai, sangat dianjurkan untuk mengubah kembali atribut direktori-direktori tersebut dengan menghilangkan hak akses write terutama direktori administrator/* (kecuali direktori-direktori yang memang diperlukan untuk meng-upload file-file yang berkaitan dengan konten seperti direktori media dan images.
Perintah yang dapat digunakan: chmod o-w [nama direktori]
Misalkan: chmod o-w administrator/backups
Instalasi pada Windows 2000, XP dan Windows Server 2003
Menggunakan Kombinasi IIS, PHP dan MySQL
Instal IIS
Walaupun server web yang direkomendasikan untuk menjalankan Mambo/Joomla yaitu Apache, dengan menggunakan server web IIS31 pun ternyata bisa berjalan dengan baik.
31 Server web yang merupakan bawaan Windows.
26
Untuk itu coba periksa IIS bekerja, klik menu: Settings Control panel > add or Remove software > Add or remove Windows Components > Internet Information Services.
Diasumsikan bahwa root bawaan IIS yaitu c:\inetpub\wwwroot, kemudian cobalah dengan mem-browse http://localhost.
Instal PHP
Jika server web sudah bekerja, proses selanjutnya yaitu menginstal PHP. Temukan file installer PHP32 dari www.php.net dan download. Instal dan ikuti petunjuk instalasi sampai selesai.
Gambar 1.11 Proses awal instalasi PHP 5.0.5 pada Windows 2000 Advanced Server
Ujicoba PHP
Pastikan bahwa instalasi PHP bekerja dengan baik. Salah satu cara mengujinya yaitu dengan meng-copy perintah php berikut ini ke dalam sebuah file dan menyimpannya di c:\inetpub\wwwroot\ coba.php.
<? phpinfo(); ?>
32 Dengan penamaan file xxx installer (xxx-installer.exe) misalnya: PHP 5.0.5 installer (php-5.0.5-installer.exe)
27
Kemudian mem-browsing http://localhost/coba.php.
Jika berjalan dengan baik maka kita dapat melihat halaman yang menampilkan informasi tentang versi PHP yang diinstal dan konfi-gurasinya.
Kemudian cari php.ini33, dan ubah perintah
error_reporting = E_ALL; display all errors, warnings and notices
menjadi
error_reporting = E_ALL & ~E_NOTICE
yang bertujuan agar PHP menampilkan pesan jika terjadi kesalahan (error) apa pun kecuali notices34.
Instal MySQL dan Membuat Database Mambo/Joomla
Download MySQL dari http://www.mysql.com dan instal:
33 Biasanya di direktori, ie c:\wnnnt or c:\windows. 34 Pemberitahuan informasi yang berkaitan dengan error handling yang tidak bersifat fatal (critical) dan merupakan kesalahan sistem. Contohnya pemberitahuan adanya suatu variabel yang belum didefinisikan atau ada pendefinisian ulang suatu variabel.
Jika website Mambo/Joomla Anda sudah berjalan dengan baik, dianjurkan untuk mengubah konfigurasi php.ini di bagian error-reporting menjadi error_reporting = E_ERROR
28
Gambar 1.12 Proses awal instalasi MySQL 5.0 pada Windows 2000 Advanced Server
Untuk membuat database Mambo/Joomla gunakan:
mysqladmin -uroot -ppassword create database_name
Atau bisa juga menggunakan Admin GUI35 (web).
Misalnya password root yaitu coba123 dan nama database yang akan dibuat yaitu COBADB, maka perintahnya menjadi:
mysqladmin -uroot –pcoba123 create COBADB
35 GUI = Graphic User Interface
Secara bawaan, password untuk user root pada MySQL adalah blank, sangat dianjurkan untuk mengganti secepatnya.
Dari prompt ketik: Mysqladmin –uroot password password_baru
29
Setting Mambo/Joomla
Dekompres atau unzip file Mambo/Joomla ke dalam direktori yang sudah kita persiapkan. Dalam contoh ini yaitu C:\inetpub\ wwwroot\coba (URL: http://localhost/coba). Kemudian ganti nama configuration.php.dist menjadi configuration.php.
Sistem File
Klik-kanan pada direktori dan file berikut:
images
media
uploadfiles
components
language
modules
templates
administrator/backups
administrator/components
configuration.php
Pastikan bahwa “Internet Guest Account” (biasanya IUSR_nama-komputer) memiliki hak akses sebagai berikut:
Modify
Read and Execute
List Folder Contents
Read
Write
Atau dengan kata lain, semua hak akses kecuali Full Control.
30
Proses selanjutnya silahkan ikuti langkah-langkah dan penjelasan pada subsubbab sebelumnya yaitu Instalasi Menggunakan Browser Web.
Menggunakan XAMPP
Instalasi dengan cara ini dapat Anda baca pada bab berikutnya yaitu Bab 3 MendesainTemplate.
Menggunakan MSAS
MSAS (Mambo Stand Alone Server) adalah software all in one Mambo yang terdiri dari semua aplikasi (Apache, PHP, MySql, file Mambo) yang dibutuhkan untuk menjalankan Mambo di server lokal.
Penggunaannya sangat mudah karena dengan sekali instal kita akan mendapatkan website Mambo siap pakai di komputer lokal.
Disamping itu MSAS juga dapat dijalankan melalui flashdisk sehingga akan memudahkan kita untuk presentasi atau keperluan mobile lainnya.
MSAS dapat Anda temukan pada CD pendamping buku ini.
Khusus file-file dan direktori-direktori penting, sesudah proses instalasi sudah selesai sangat dianjurkan untuk mengubah hak akses maupun propertinya menjadi Read Only, terutama file “configuration.php”. Hal ini berkaitan dengan masalah keamanan. (Lebih lengkap mengenai sistem keamanan, silahkan baca Bab 5.)
Sistem file di atas hanya dapat diterapkan pada Windows yang menerapkan NTFS.
31
Pengujian dan Login
Untuk meyakinkan apakah instalasi sudah berjalan dengan sem-purna, silahkan melakukan pengujian dengan login ke menu admin (backend36):
Klik http://www.websiteanda.com/administrator/
Gambar 1.13 Login dari Halaman Administrator Mambo
Login menggunakan,
Username: “admin”, password: “admin”.
Atau dari halaman depan (frontend37) menggunakan,
Username: editor, password: editor
Hingga pembahasan ini, proses instalasi sudah komplit dan Anda sudah dapat ber-Mambo/Joomla-ria.
36 Akan dijelaskan pada bab berikutnya. 37 Mengenai administrasi frontend dan backend akan dijelaskan pada Bab 2.
32
1.3.2 Instalasi Modul
Upload Package File
Dari menu “admin backend Mambo” pilih menu Modules38 lalu submenu Install/Uninstall.
Gambar 1.14 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo
Atau dari menu “admin backend Mambo” maupun “admin backend Joomla” pilih menu Installers dan kemudian submenu Modules.
Gambar 1.15 Pilihan submenu untuk menginstal modul dari administrasi backend Mambo maupun Joomla
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”.
38 Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
33
Upload Package File
Pada bagian bawah menu ini isikan nama paket modul yang akan diinstal (file zip39 beserta path-nya) atau klik tombol Browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.16 Form untuk menginstal modul dengan cara meng-Upload Package File dari administrasi backend Mambo
Install from Directory
Cara kedua ini yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.17 Form untuk menginstal modul dengan cara ”Install from directory” dari administrasi backend Mambo.
Contoh path di atas menggunakan format OS *nix
Gambar 1.18 Daftar modul-modul yang sudah diinstal pada administrasi backend Joomla
39 Ada dua file berekstensi .xml dan file berekstensi .php. Lihat pembahasan sub bagian Membuat Modul.
34
1.3.3 Instalasi Komponen
Dari menu ”admin backend” pilih menu Components40 lalu submenu Install/Uninstall.
Gambar 1.19 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo
Atau dari menu ”admin backend Mambo” maupun ”admin backend Joomla” pilih menu Installers, lalu submenu Components.
Gambar 1.20 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo maupun Joomla.
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”.
40 Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
35
Upload Package File
Pada bagian bawah halaman ini isikan nama paket komponen yang akan diinstal atau klik tombol browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.21 Form untuk menginstal komponen dengan cara ”Upload Package File” dari administrasi backend Mambo
Install from Directory
Cara kedua yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.22 Form untuk menginstal komponen dengan cara”Install from directory” dari administrasi backend Mambo.
Contoh path di atas menggunakan format OS *nix.
Komponen-komponen yang sudah diinstal dapat dilihat pada bagian bawah jendela seperti gambar berikut ini.
Gambar 1.23 Daftar komponen-komponen yang sudah diinstal
36
1.3.4 Instalasi Mambots
Dari menu ”admin backend” pilih menu Mambots41 lalu submenu Install/Uninstall.
Gambar 1.24 Pilihan submenu untuk menginstal mambot dari administrasi backend Mambo
Atau dari menu ”admin backend Mambo” maupun ”admin backend Joomla” pilih menu Installers dan kemudian submenu Mambots.
Gambar 1.25 Pilihan submenu untuk menginstal mambot dari administrasi backend Mambo maupun Joomla
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”.
41 Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
37
Upload Package File
Pada bagian bawah halaman ini isikan nama paket Mambot yang akan diinstal atau klik tombol browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.26 Form untuk menginstal Mambot dengan cara meng-Upload Package File
Install from Directory
Cara kedua yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.27 Form untuk menginstal Mambot dengan cara”Install from directory” dari administrasi backend Mambo.
Contoh path di atas menggunakan format OS *nix
Komponen-komponen yang sudah diinstal dapat dilihat pada bagian bawah jendela seperti gambar berikut ini.
Gambar 1.28 Daftar mambot-mambot yang sudah diinstal
38
1.3.5 Instalasi Paket Bahasa dan Template
Untuk menginstal paket bahasa dan template dapat dibaca dan dipelajari pada bab berikutnya42.
1.4 Pengembangan Mambo/Joomla
Fleksibilitas Mambo/Joomla yang sudah terbukti dan benar-benar dapat diandalkan menyebabkan banyak third party43 untuk me-ngembangkan Mambo/Joomla. Struktur kode yang modular sangat memungkinkan dan memudahkan developer untuk mengembang-kan sendiri website Mambo/Joomla mereka sesuai dengan “kebutuhan masing-masing”.
Lalu bagaimana caranya?
Pada subbab ini penulis hanya akan menjelaskan tentang pengem-bangan modul. Mengenai template akan dijelaskan secara khusus pada Bab 3.
1.4.1 Membuat Modul
Untuk membuat modul sendiri, pertama-tama yang harus kita lakukan adalah memberikan nama modul. Penamaannya haruslah dimulai (prefix) “mod_” diikuti dengan nama yang berhubungan yang sebetulnya ditentukan secara bebas. Hanya saja untuk me-mudahkan sebaiknya ada hubungannya dengan nama modul yang dimaksud.
Misalkan kita ingin membuat sebuah modul untuk menampilkan login terakhir dari anggota. Pertama kita tentukan nama modulnya misalkan “mod_lastlogin”. Kemudian kita harus membuat file yang berekstensi xml dan php. Berarti dari contoh ada dua file yaitu 42 Bab 2 untuk Instalasi Paket Bahasa dan Bab 3 untuk Instalasi Template. 43 Pengembang (baca: developer) pihak ketiga.
39
mod_lastlogin.xml dan mod_lastlogin.php. Kedua file tersebut lalu kita kompresi menjadi file zip.
File xml diperlukan untuk mendefinisikan modul dan memberi-tahukannya kepada installer MOS/Joomla, modul apa saja yang akan diinstal beserta metadata mengenai modul tersebut.
Contoh file mod_lastlogin.xml sebagai berikut:
<?xml version="1.0" ?> <mosinstall type="module"> <name>Modul Lastlogin</name> <creationDate>01/01/2005</creationDate> <author>Adhi Rachdian</author> <copyright>This template is released under the GNU/GPL License</copyright> <authorEmail>[email protected]</authorEmail> <authorUrl>http://rachdian.pacific.net.id</authorUrl> <version>1.0</version> <description>Modul Untuk Menampilkan Login Terakhir Anggota</description> <files> <filename module="mod_lastlogin">mod_ lastlogin.php</filename> </files> </mosinstall>
Contoh Skrip 1: file mod_lastlogin.xml
Berikutnya yaitu file mod_lastlogin.php:
<?php // Modul Last Login// /** * Modul Last Login * @package Mambo * @Copyright (C) Adhi Rachdian * @ All rights reserved * @ Mambo is Free Software * @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html * @version $Revision: 1.0 $ **/ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); global $mosConfig_offset; /** * Konfigurasi Modul * Dapat diset dimenu administrator */ $count = $params->get( 'count', 5 );
40
$display_name = $params->get( 'display_name', 1 ); $display_lastvisit_date = $params->get( 'display_lastvisit_date', 1 ); $moduleclass_sfx = $params->get( 'moduleclass_sfx' ); $query = "SELECT id, username, name, lastvisitDate" . "\nFROM #__users" . "\nWHERE block='0'" . "\nORDER BY lastvisitDate DESC LIMIT $count"; $database->setQuery( $query ); $rows = $database->loadObjectList(); ?> <table cellpadding="1" cellspacing="1" border="0" class="moduletable<?php echo $moduleclass_sfx; ?>"> <?php foreach ($rows as $row) { ?> <tr> <td valign="top"><img src="<?php echo $mosConfig_live_site;?>/images/M_images/arrow.png" alt="" /></td> <td> <?php if($display_name == 1) { echo $row->name; echo '<i>('.$row->username.')</i>'; } else { echo $row->username; } ?> <br> <?php if($display_lastvisit_date == 1) { ?> <span class="smalldark">(<?php echo $row->lastvisitDate ?>)</span> <?php } ?> </td> </tr> <?php } ?> </table>
Contoh Skrip 2: mod_lastlogin.php
41
Setelah berhasil membuat modul, bagaimana kelanjutannya? Tentu saja kita harus menginstal, mengaktifkan, dan mendefinisikannya pada administrasi backend, kemudian langkah terakhir yaitu me-nempatkannya pada template44.
1.4.2 Pengembangan Komponen dan Mambot
Pengembangan komponen dan mambot jauh lebih sulit dibanding-kan dengan pengembangan modul. Hal ini jelas dapat dimengerti karena kompleksitasnya.
Pembuatan komponen mencakup administrasi backend di mana di antaranya yaitu keterkaitan pada pengembangan skema database, komponen admin, Database Class Handlers, Component Event Handler, Component Presentation Layer, dan Component Toolbar.
Pada prinsipnya pengembangan mambot ditujukan untuk meng-hasilkan tiga penanganan kejadian yaitu onPrepareContent, onSearch dan onLoadEditor.
Pengembangan komponen dan mambot tidak sesederhana pem-buatan modul sehingga memerlukan pembahasan yang lebih rinci, komprehensif, dan uraian yang lebih panjang45.
44 Instalasi modul telah dibahas pada submenu sebelumnya. Cara mengaktifkan dan mendefinisikan modul, dibahas pada Bab 2. Sedangkan memposisikan modul pada template dibahas pada Bab 3. 45 Insya Allah akan dituangkan dalam buku seri berikutnya yaitu buku yang khusus membahas pengembangan Mambo/Joomla secara lebih detail dan mendalam.
Langkah-langkah untuk mengaktifkan suatu modul:
1. Membuat atau men-download modul.
2. Instalasi pada administrasi backend.
3. Mengaktifkan dan mendefinisikan pada administrasi backend.
4. Memposisikan modul pada template.