Remaster Ubuntu untuk SchoolOnffLine Menggunakan UCK

From OnnoWiki
Revision as of 14:42, 14 July 2009 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Di sini akan di jelaskan teknik membuat LiveCD SchoolOnffLine yang akan berguna bagi pelajaran TIK di sekolah.

Maksud & Tujuan Distro SchoolOnffLine

  • Membantu sekolah dalam menyelenggarakan pelajaran komputer, tanpa perlu adanya Internet
  • Di Instalasi di Server untuk menggantikan fungsi Internet
  • Dapat berfungsi sebagai proxy jika tersambung ke Internet


Fitur Distro SchoolOnffLine

  • Berbasis Sabily 9.04 Desktop (turunan Ubuntu Muslom Edition)

Server Jaringan

  • NAT / Proxy
  • DHCP Server
  • Squid Proxy Server
  • Dansguardian untuk membantu blokir situs tidak baik
  • OpenDNS & Nawala Project untuk membantu blokir situs tidak baik
  • Postfix SMTP Mail Server
 Relay host SMTP default smtp.telkom.net
  • Dovecot POP3 & IMAP Mail Server
  • MySQL Database Server (dengan root password 123456)

Server Aplikasi

  • Wordpress Blog Server
  • SpeedyWiki
  • Wikipedia for School
  • Squirrelmail Webmail server
  • ejabberd chatting server

Kebutuhan Sistem Pendukung

  1. Harddisk kosong sebesar 3 – 5 GB (semakin besar ruang kosong, semakin dianjurkan)
  2. Memori 512MB dan swap 1 GB (semakin besar memori, semakin dianjurkan)
  3. Paket pendukung squashfs-tools, dchroot, genisoimage dan mkisofs
  4. Program Virtualisasi semacam Qemu, VirtualBox, VM Ware dan lainya
  5. Berkas ISO Ubuntu Live CD Desktop

Persiapan

Pastikan

$ sudo modprobe squashfs

Karena kita akan membuat banyak server di Distro SchoolOnffLine. Matikan seluruh server yang ada di mesin host pembuat distro

$ sudo /etc/init.d/mysql stop
$ sudo /etc/init.d/apache2 stop


Persiapan Source berbagai CMS & software yang tidak standard

Lakukan langkah Ubuntu Customization Kit Menggunakan Text Mode sampai dengan perintah

$ sudo uck-remaster-unpack-initrd

Sebelum melakukan chroot, copykan semua source CMS maupun segala software yang tidak standard ke folder ~/tmp/user/tmp/remaster-root/usr/local/src sebagai berikut:

$ sudo cp wordpress-2.7.1-id_ID.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp mediawiki-1.15.1.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp senayan3-stable9.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp SISFOKOL_SD_v2.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp SISFOKOL_SLTA_v2.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp SISFOKOL_SLTP_v2.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp SISFOKOL_SMK_v2.tar.gz ~/tmp/remaster-root/usr/local/src/
$ sudo cp moodle-1.9.4.tgz ~/tmp/remaster-root/usr/local/src/
$ udo cp id_utf8.zip ~/tmp/remaster-root/usr/local/src/
$ sudo cp webmin-1.480.tar.gz ~/tmp/remaster-root/usr/local/src/

Setelah semua source CMS yang dibutuhkan sudah siap, maka kita dapat melakukan chroot

$ sudo uck-remaster-chroot-rootfs


Customisasi

apt-get

Untuk melihat aplikasi yang terinstall dapat dilihat menggunakan perintah

# dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less

Jika kita ingin membuat sebuah paket program (nama-paket-program), lakukan menggunakan perintah berikut

# aptitude purge nama-paket-program


Ubah sources.list

Kadangkala kita perlu mengubah isi sources.list agar menggunakan repository lokal di jaringan yang kita managed. Ubah file sources.list dalam lingkungan chroot

# cd /etc/apt
# cp sources.list sources.list.original
# vi /etc/apt/sources.list

Isi agar menggunakan repository lokal di jaringan kita, misalnya,

deb ftp://192.168.0.2/pub/repo-9.04/ jaunty main multiverse restricted universe
deb ftp://192.168.0.2/pub/repo-9.04/ jaunty-updates main multiverse restricted universe
deb ftp://192.168.0.2/pub/repo-9.04/ jaunty-security main multiverse restricted universe
deb ftp://192.168.0.2/pub/repo-9.04/ jaunty-backports main multiverse restricted universe

Update repository

# apt-get update


Customisasi Server Aplikasi

Selama dalam lingkungan chroot, untuk membuat Server aplikasi kita dapat mengikuti langkah yang normal dalam membuat server aplikasi seperti di jelaskan dalam Linux Howto.


Gunakan OpenDNS & Nawala Project

Edit /etc/resolv.conf, pastikan

nameserver 203.34.118.10
nameserver 203.34.118.12
nameserver 208.67.222.222
nameserver 208.67.220.220


Instalasi Postfix Server

# apt-get install postfix

Pilih

Internet with Smarthost
OK

Sistem mail name, isi

sekolah.sch.id

SMTP relay host

smtp.telkom.net



Instalasi MySQL Server

# apt-get install mysql-server libmysqlclient15-dev

Masukan password root mysql, misalnya

123456
123456


Instalasi Wordpress

Pastikan kita dalam lingkungan chroot.

Siapkan beberapa fasiltas pendukung Wordpress seperti MySQL-server, PHP dll, antara lain dapat di install melalui perintah

# apt-get install apache2 mysql-server libmysqlclient15-dev libphp-adodb libgd2-xpm libgd2-xpm-dev \
php5-mysql php5-gd php5-curl php-pear unzip

Ambil source code Wordpress berbahasa Indonesia dari

http://id.wordpress.org/

Bagi anda yang menggunakan Wordpress berbahasa Indonesia dapat menggunakan perintah berikut

# cp wordpress-2.7.1-id_ID.zip /var/www/
# cd /var/www
# unzip wordpress-2.7.1-id_ID.zip 
# cd /var/www/wordpress

Konfigurasi Wordpress untuk menggunakan database MySQL

# cd /var/www/wordpress
# cp wp-config-sample.php wp-config.php
# vi wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'wordpress');
define('DB_HOST', 'localhost');

Siapkan database untuk Wordpress, disini akan digunakan database dengan nama wordpress, user database dengan nama wordpress dan password untuk akses database adalah wordpress. Sedang password root MySQL di set sebagai password. Perintah yang digunakan untuk mengkonfigurasi adalah

mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');

Jika password Root MySQL database sudah di set maka kita dapat langsung mengkonfigurasi MySQL menggunakan perintah

# mysql -u root -p
Enter password:
mysql> create database wordpress;
mysql> grant INSERT,SELECT on root.* to wordpress@localhost;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on wordpress.* to wordpress@localhost identified by 'wordpress';
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on wordpress.* to wordpress identified by 'wordpress';
mysql> exit


Akses Web Wordpress yang baru melalui perintah

http://localhost/wordpress
install.php

Langkah yang perlu dilakukan

  • isi Weblog title dan e-mail
  • user dan password untuk administrator admin

Kita dapat login melalui wp-login.php



Cleanup

Pastikan untuk mengubah semua file temporary yang tidak lagi dibutuhkan karena ruang dalam CD sangat terbatas. Beberapa contoh paket / file yang dapat di bersihkan menggunakan

# aptitude clean

Atau men-delete temporary file

# rm -rf /tmp/* ~/.bash_history

Pastikan sources.list original di kembalikan ke asli-nya

# cp /etc/apt/sources.list.original /etc/apt/sources.list
# rm -Rf /etc/apt/sources.list.original

dari dalam lingkungan chroot.

Lakukan juga umount (unmount) berbagai file sistem dan keluar dari chroot

# umount /proc
# umount /sys
# exit
$ sudo umount edit/dev

Catatan: jika "umount /proc" gagal, coba "umount -lf /proc"


Membuat ISO CD

Buat iso dari distro yang baru

$ sudo uck-remaster-pack-initrd
$ sudo uck-remaster-pack-rootfs
$ sudo uck-remaster-pack-iso [namafile.iso]

File iso distro baru ada di folder

/home/user/tmp/remaster-new-files

Selanjutnya adalah burn dan test file iso baru tersebut.


Percobaan LiveCD Baru

Percobaan dapat menggunakan emulator qemu

$ qemu -cdrom schoolonffline-0.01.iso -boot d -m 512

Atau jika kita mempunyai hardware accelerator untuk kvm dapat menggunakan

$ kvm -cdrom schoolonffline-0.01.iso -boot d -m 512

Kita juga dapat mencoba menggunakan virtualbox-ose, yang merupakan open source software yang dapat di ambil dari Ubuntu universe repository.


Burning image CD

Simple! lakukan

$ cdrecord dev=/dev/cdrom schoolonffline-0.01.iso



Pranala Menarik