Difference between revisions of "Remaster Ubuntu untuk SchoolOnffLine Menggunakan UCK"

From OnnoWiki
Jump to navigation Jump to search
Line 153: Line 153:
  
  
 +
===Buat User Siswa 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
  
 
==Customisasi Server Aplikasi==
 
==Customisasi Server Aplikasi==

Revision as of 11:08, 15 July 2009

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
  • ejabberd chatting server


Akses ke Beberapa Fitur

  • 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

  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.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 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

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.


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


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://localhost/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.

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 php5-xmlrpc php-image-graph \
php-image-canvas 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 CREATE, INSERT, SELECT, DELETE, UPDATE on moodle.* to moodle@localhost identified by "moodle";
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE 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
# cp id_utf8.zip /var/moodledata/lang
# cd /var/moodledata/lang
# unzip id_utf8.zip

Copy source code moodle

# cp /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/

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,

# cp 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.0, 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://localhost/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://localhost/wiki



Instalasi Wikipedia For School

# mkdir /var/www/wikipedia
# tar zxvf /usr/local/src/schools-wikipedia-full-20081023.tar.gz


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 admin

# ejabberdctl register admin 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



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



Pranala Menarik