Remaster Ubuntu untuk SchoolOnffLine Menggunakan UCK
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 lokal di Lab Komputer untuk menggantikan fungsi Internet
- Dapat berfungsi sebagai proxy jika tersambung ke Internet
- CATATAN: SchoolIOnffLine tidak dirancang untuk di operasikan di jaringan Internet publik. Tidak ada usaha untuk membuat distro ini aman dari serangan di Internet.
Fitur Distro SchoolOnffLine
- Berbasis Sabily 9.04 Desktop (turunan Ubuntu Muslim Edition) yang dapat di ambil dari http://sabily.org
Konfigurasi Jaringan
- Statik eth0 IP 192.168.0.254
- Gateway IP 192.168.0.1
- DHCP Server
- Alokasi IP address 192.168.0.30-192.168.0.70
- OpenDNS & Nawala Project untuk membantu blokir situs tidak baik
Server Jaringan
- MySQL Database Server
- root password MySQL default 123456
- Apache2 Web Server
- OpenSSH Server
- NAT / Proxy
- Tinyproxy (builtin sabily)
- Dansguardian untuk membantu blokir situs tidak baik (builtin Sabily)
- Postfix SMTP Mail Server
- Relay host SMTP default smtp.telkom.net
- Dovecot POP3 & IMAP Mail Server
Server Aplikasi
- Wordpress Blog Server
- SpeedyWiki
- Wikipedia for School
- Squirrelmail Webmail server
- Senayan Digital Libarary
- ejabberd chatting server
Akses ke Beberapa Fitur
Beberapa username & password yang sudah di siapkan
guru1 123456 guru2 123456 guru3 123456 guru4 123456 guru5 123456
siswa1 123456 siswa2 123456 siswa3 123456 siswa4 123456 siswa5 123456
Akses Jasa Web
- https://192.168.0.254:1000 - Webmin (admin, 123456)
- http://192.168.0.254/wordpress - Blog Wordpress (admin, 123456)
- http://192.168.0.254/moodle - Moodle (admin, 123456)
- http://192.168.0.254/wiki - SpeedyWiki
- http://192.168.0.254/wikipedia - Wikipedia For School
- http://192.168.0.254/squirrelmail - Webmail (siswa1, 123456)
- http://192.168.0.254/senayan - Digital Libary (admin, admin)
- http://192.168.0.254:5280/admin/ - ejabberd (admin, 123456)
- Penambahan / Remove User ejabberd menggunakan shell
# ejabberdctl register admin 192.168.0.254 123456 # ejabberdctl register siswa1 192.168.0.254 123456 # ejabberdctl register namauser namaserver password # ejabberdctl unregister namauser 192.168.0.254
Kebutuhan Sistem Pendukung
- Harddisk kosong sebesar 3 – 5 GB (semakin besar ruang kosong, semakin dianjurkan)
- Memori 512MB dan swap 1 GB (semakin besar memori, semakin dianjurkan)
- Paket pendukung squashfs-tools, dchroot, genisoimage dan mkisofs
- Program Virtualisasi semacam Qemu, VirtualBox, VM Ware dan lainya
- 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
Gunakan iso sabily-9.04-desktop-i386-small.iso. Lakukan langkah Ubuntu Customization Kit Menggunakan Text Mode sampai dengan perintah
$ sudo uck-remaster-unpack-iso sabily-9.04-desktop-i386-small.iso $ sudo uck-remaster-unpack-rootfs $ 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.5.tgz ~/tmp/remaster-root/usr/local/src/ $ sudo cp id_utf8.zip ~/tmp/remaster-root/usr/local/src/ $ sudo cp webmin-1.480.tar.gz ~/tmp/remaster-root/usr/local/src/ $ sudo cp schools-wikipedia-full-20081023.tar.gz ~/tmp/remaster-root/var/www
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
Menghilangkan Pengajian di Zekr
Pada Ubuntu Muslim atau Sabily, terdapat suara empat (4) Qori sebanyak 30 juz. Ini perlu di buang untuk menghemat ruang. Caranya adalah
# cd /usr/share/zekr/res/audio # rm -Rf afasy # rm -Rf ghamdi # rm -Rf huzaifi # rm -Rf minshawi # rm -Rf *offline*
Buat User Siswa & Guru Untuk Demo
Membuat user siswa untuk demo
# adduser siswa1 Enter new UNIX password: 123456 Retype new UNIX password: 123456 Is the information correct? [Y/n] y
Lakukan hal yang sama untuk
# adduser siswa2 # adduser siswa3 # adduser siswa4 # adduser siswa5
Lakukan hal yang sama untuk
# adduser guru1 # adduser guru2 # adduser guru3 # adduser guru4 # adduser guru5
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.
Memastikan Semua Server Beroperasi saat nyala
Edit file
# vi /etc/rc.local
Isi
/etc/init.d/apache2 restart /etc/init.d/mysql restart /etc/init.d/webmin restart
Set Static IP address Untuk Ethernet
# cd /etc/network # vi /etc/network/interfaces
Bisa di isi dengan
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.254 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 203.34.118.10, 203.34.118.12, 208.67.222.222 dns-search sekolah.sch.id
Restart Networking
# /etc/init.d/networking restart
Gunakan OpenDNS & Nawala Project
# vi /etc/resolv.conf
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
Copy sebagai backup agar aman jika tertimpa DHCP
# cp /etc/resolv.conf /etc/resolv.conf.opendns
Jadi, sewaktu-waktu resolv.conf tertimpa setting DHCP, jika di perlukan dapat di kembalikan menggunakan perintah
# cp /etc/resolv.con.opendns /etc/resolv.conf
Setup Hostname
# vi /etc/hostname
isi dengan nama sekolah anda, dalam contoh ini
sekolah.sch.id
Instalasi DHCP Server
Instalasi DHCP Server
# apt-get install dhcp3-server
Konfigurasi dhcpd.conf
# vi /etc/dhcp3/dhcpd.conf
Isinya kira-kira sebagai berikut
ddns-update-style none; authoritative; default-lease-time 86400; # 24 jam max-lease-time 172800; # 48 jam option domain-name "sekolah.sch.id" option domain-name-servers 208.67.222.222, 208.67.220.220;
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.30 192.168.0.70 options routers 192.168.0.1; }
Restart DHCP Server
# /etc/init.d/dhcp3-server restart
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 Apache2 & OpenSSH Server
# apt-get install apache2 openssh-server
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
# mv /usr/local/src/wordpress-2.7.1-id_ID.tar.gz /var/www/ # cd /var/www # tar zxvf wordpress-2.7.1-id_ID.tar.gz # 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 123456.
# mysql -u root -p Enter password: mysql> create database wordpress; mysql> grant INSERT,SELECT on root.* to wordpress@localhost; mysql> grant ALL on wordpress.* to wordpress@localhost identified by 'wordpress'; mysql> grant ALL on wordpress.* to wordpress identified by 'wordpress'; mysql> exit
Akses Web Wordpress yang baru melalui perintah
http://192.168.0.254/wordpress install.php
Langkah yang perlu dilakukan
- isi Weblog title dan e-mail
- user dan password untuk administrator admin
Kita dapat login menggunakan username & password admin melalui wp-login.php. Masuk ke menu user untuk mengubah password admin menjadi 123456.
Untuk keperluan belajar siswa ada baiknya menambahkan user & password
siswa1 123456 siswa2 123456 siswa3 123456 siswa4 123456 siswa5 123456
Instalasi Moodle
Pertama-tama siapkan beberapa fasiltas pendukung Moodle seperti MySQL-server, PHP dll, antara lain dapat di install melalui perintah
# apt-get install mysql-server libmysqlclient15-dev \ libphp-adodb libgd2-xpm libgd2-xpm-dev php5-mysql \ php5-gd php5-curl php-pear
Siapkan database untuk Moodle
# mysql -u root -p Enter password: mysql> create database moodle; mysql> grant INSERT,SELECT on root.* to moodle@localhost; mysql> grant ALL on moodle.* to moodle@localhost identified by "moodle"; mysql> grant on moodle.* to moodle identified by "moodle"; mysql> exit
Siapkan folder /var/moodledata untuk mengcopykan terjemahan Moodle
dalam bahasa Indonesia. Terjemahan moodle dalam bahasa Indonesia
dapat di ambil dari situs Moodle di http://www.moodle.org di bagian download.
Tepatnya di
http://download.moodle.org/download.php/lang16/id_utf8.zip
Kemudian lakukan
# mkdir /var/moodledata # mkdir /var/moodledata/lang # mv /usr/local/src/id_utf8.zip /var/moodledata/lang # cd /var/moodledata/lang # unzip id_utf8.zip # rm id_utf8.zip
Copy source code moodle
# mv /usr/local/src/moodle-1.9.5.tgz /var/www/ # cd /var/www # tar zxvf moodle-1.9.5.tgz # chmod -Rf 777 moodle # chown -Rf www-data.www-data /var/moodledata/
Restart Apache
# /etc/init.d/apache2 restart
Lanjutkan proses konfigurasi moodle menggunakan Web dengan cara mengakses ke alamat,
http://192.168.0.254/moodle
Lakukan beberapa konfigurasi untuk Moodle yang akan kita operasikan. Beberapa parameter yang perlu di set adalah,
Language -> id Web Address -> http://192.168.0.254/moodle
Type mysql Host Server localhost Database moodle Pengguna moodle Password moodle Tables prefix mdl_
[check] Unattended operation
Nama Pengguna admin Password baru 123456 Nama Depan admin Nama akhir admin Alamat Email admin@sekolah.sch.id Kota Jakarta Pilih Negara Indonesia
Nama Lengkap Situs ------ nama Singkat Situs ------
lengkapi username dan password untuk administrator. Pada contoh digunakan username admin dengan password 123456.
Selesai sudah proses instalasi Moodle, kita dapat mengoperasikan moodle dengan mengakses
http://192.168.0.254/moodle/
Instalasi SpeedyWiki
Siapkan database untuk MediaWiki
# mysql -u root -p Enter password: mysql> create database mediawiki; mysql> grant INSERT,SELECT on root.* to mediawiki@localhost; mysql> grant ALL on mediawiki.* to mediawiki@localhost identified by 'mediawiki'; mysql> grant ALL on mediawiki.* to mediawiki identified by 'mediawiki'; mysql> exit
Copy dan mengextract source code pada folder Web,
# mv /usr/local/src/mediawiki-1.15.1.tar.gz /var/www/ # cd /var/www # tar zxvf mediawiki-1.15.1.tar.gz # mv mediawiki-1.15.1 wiki # chmod a+w wiki/config
Perhatikan bahwa versi mediawiki yang digunakan dalam contoh adalah versi lama yaitu versi 1.15.1, anda sebaiknya menggunakan versi yang terbaru.
Pastikan Apache Web Server telah terinstall & Restart
# /etc/init.d/apache2 restart
Jika belum terinstall, maka kita perlu menginstall terlebih dulu apache2.
Lanjutkan proses konfigurasi media Wiki menggunakan Web dengan cara mengakses ke alamat,
http://192.168.0.254/wiki
Lakukan beberapa konfigurasi untuk Wiki yang akan kita operasikan. Beberapa parameter yang perlu di set adalah,
Wiki Name Contact e-mail Language -> id Admin Username -> admin password -> Confirm ->
Database Type -> mysql Database name -> mediawiki DB username -> mediawiki DB password -> mediawiki DB pass Confirm -> mediawiki
Superuser -> root Password ->
Database Prefix -> wiki_
Pastikan bahwa Prefix Database yang digunakan adalah wiki_
ini akan memudahkan nanti pada saat replikasi database dari SpeedyWiki
Setelah semua parameter selesai di konfigurasi kita dapat menginstalasi MediaWiki dengan menekan tombol
Install MediaWiki
Terakhir, kita perlu mengcopykan file LocalSettings.php yang merupakan konfigurasi mediawiki ke folder root Wiki melalui perintah
# cd /var/www/wiki/ # mv config/LocalSettings.php /var/www/wiki/ # chmod 600 /var/www/wiki/LocalSettings.php
Selesai sudah seluruh proses konfigurasi MediaWiki, Wiki dapat di akses pada alamat Web.
http://192.168.0.254/wiki
Instalasi Wikipedia For School
# mkdir /var/www/wikipedia # tar zxvf /usr/local/src/schools-wikipedia-full-20081023.tar.gz
Instalasi Senayan Digital Library
Download source code Senayan dari Web dari
http://senayan.diknas.go.id/web/ http://senayan.diknas.go.id/web/?q=node/1
Copykan source code senayan ke folder Web
# mv /usr/local/src/senayan3-stable9.tar.gz /var/www/ # cd /var/www
Buka source code senayan
# tar zxvf senayan3-stable9.tar.gz
Siapkan database MySQL
# mysql -u root -p password: mysql> create database senayan; mysql> GRANT ALL PRIVILEGES ON senayan.* TO 'senayan'@'localhost' IDENTIFIED BY 'senayan'; mysql> GRANT ALL PRIVILEGES ON senayan.* TO 'senayan' IDENTIFIED BY 'senayan'; mysql> quit
Masukan template database ke MySQL
# mysql -u root -p senayan < /var/www/senayan3-stable9/sql/install/senayan.sql # mysql -u root -p senayan < /var/www/senayan3-stable9/sql/install/sample_data.sql
# mv /var/www/senayan3-stable9 /var/www/senayan
Edit konfigurasi Web Senayan
# vi /var/www/senayan/sysconfig.inc.php
define('DB_HOST', 'localhost'); define('DB_PORT', '3306'); define('DB_NAME', 'senayan'); define('DB_USERNAME', 'senayan'); define('DB_PASSWORD', 'senayan');
Lakukan
# chown -Rf www-data.www-data /var/www/senayan
Akses ke Web Digital Library Senayan Melalui
http://192.168.0.254/senayan
username admin password admin
Instalasi Squirrelmail Webmail
Siapkan POP3, IMAP & SMTP Server
# apt-get install dovecot-common dovecot-imapd dovecot-pop3d postfix \ squirrelmail squirrelmail-decode
Konfigurasi squirrelmail
# cp /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf
Konfigurasi Domain Squirrelmail
# /usr/sbin/squirrelmail-configure 2 -> 1 -> sekolah.sch.id -> R
Restart Dovecot & Web Server
# /etc/init.d/dovecot restart # /etc/init.d/apache2 restart
Webmail dapat di akses melalui
http://192.168.0.254/squirrelmail
Instalasi ejabberd chat server
Instalasi eJabberd
# apt-get install ejabberd
Tambahkan user
# ejabberdctl register admin 192.168.0.254 123456 # ejabberdctl register siswa1 192.168.0.254 123456 # ejabberdctl register siswa2 192.168.0.254 123456 # ejabberdctl register siswa3 192.168.0.254 123456 # ejabberdctl register siswa4 192.168.0.254 123456 # ejabberdctl register siswa5 192.168.0.254 123456
Konfigurasi Server. Edit /etc/ejabberd/ejabberd.cfg
# vi /etc/ejabberd/ejabberd.cfg
{hosts, ["192.168.0.254"]}.
Set Previlige Admin
{acl, admins, {user, "admin", "192.168.0.254"}}. {access, configure, [{allow, admins}]}.
Start & Stop eJabberd
# /etc/init.d/ejabberd stop # /etc/init.d/ejabberd start # /etc/init.d/ejabberd restart
# ejabberdctl start # ejabberdctl status # ejabberdctl stop
Instalasi Webmin
Siapkan SSLeay
# apt-get install libnet-ssleay-perl
Copy & extract Webmin
# cd /usr/local/src # tar zxvf webmin-1.480.tar.gz
Setup Webmin menggunakan perintah
# cd /usr/local/src/webmin-1.480 # ./setup.sh
Selanjutnya jawab pertanyaan sebagai berikut
/etc/webmin /var/webmin /usr/bin/perl 10000 admin 123456 123456 y y
Webmin dapat di akses pada alamat
https://192.168.0.254:10000
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 ~/tmp/remaster-root/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