Membuat Template Openvz Ubuntu 10.04

Pada catatan saya terdahulu saya pernah menulis tentang instalasi virtualisasi menggunakan openvz, saat itu saya memakai Hostnode dengan system operasi Fedora 7 dan alhamdulilah sampe saat ini masih normal bekerja meski beberapa kali perbaikan kernel. untuk yang kesekian kalinya saya coba aplikasikan virtualisasi ini di system lain seperti yang sudah  berproduksi sekarang Centos5.4, Ubuntu 8.04 LTS, Debian 4. Untuk Kali ini saya coba menuliskan pengalaman saya mengenai apembuatan Template Openvz untuk OS Ubuntu 10.04 yang baelum lama ini release.

System Hostnode:

Ubuntu 8.04 LTS dengan Openvz yang sudah terinstall dan sudah berjalan dengan baik, hardisk untuk hostnode ini saya memakai 40gb untuk system dan 500gb untuk datanya. Ram terinstall 4gb lancard single 1Gbps. Koneksi memakai speedy 3mbps system bridge dan pppoe ada di mesin terpisah.

tanya kenapa dibuat, ini vps dimaksudkan untuk user didalam system saja bukan untuk produksi sebenernya dan testing2 beberapa aplikasi serta digunakan untuk percobaan.

================================================

Disini saya memakai contoh VEID 107 sehingga directorynya:

/vz/private/107

Untuk Membuat templates ini kita butuhkan debootstrap

$ apt-get  install debootstrap

Setelah selelsai kita bisa membuat sebuah directory untuk menempatkan file dari debootstrap

$ sudo mkdir -p /vz/private/107

lalu kita akan buat templatenya disini saya memakai minimal base. dan arch i386 bisa anda buat x86 atau 64 itu kebebasan. dan caranya sama

$ debootstrap –variant=minbase –arch i386 lucid /vz/private/107 http://archive.ubuntu.com/ubuntu/

"Saya memakai minimal base untuk mesin i386 lucid lynx atau cukup disingkat lucid saja yang di  tempatkan pada directory kerja di 107 sebagai veid nya”

Dikarenakan Saat saya membuat template ini saya memakai ubuntu 8.04 maka akan tampak error bahwa script debootstrap tidak di temukan yaitu “lucid”

Pesan error yang akan muncul:

E: No such script: /usr/share/debootstrap/scripts/lucid

langsung saja  kita buat links scriptnya caranya:

$ cd /usr/share/debootstrap/scripts/

$ ln –s gutsy lucid

Kenapa memakai gutsy karena keluarga debian terbaru saat ini memakay itu, dan kenapa hanya di linkkan. cara paling simple di jawab adalah perbandingan debootstrap di ubuntu10.04 sendiri bahwa lucid ngelink ke gutsy. bisa di cek di directory diatas.

root@vps:~# ls -l /usr/share/debootstrap/scripts/
total 128
-rw-r–r– 1 root root 5568 2008-01-15 19:48 breezy
-rw-r–r– 1 root root 5604 2008-01-15 19:48 dapper
-rw-r–r– 1 root root 6269 2008-01-15 19:48 edgy
lrwxrwxrwx 1 root root    3 2010-05-04 21:24 etch -> sid
lrwxrwxrwx 1 root root    3 2010-05-04 21:24 etch-m68k -> sid
-rw-r–r– 1 root root 6389 2008-01-15 19:48 feisty
-rw-r–r– 1 root root 5839 2008-01-15 19:48 gutsy
lrwxrwxrwx 1 root root    5 2010-05-04 21:24 hardy -> gutsy
-rw-r–r– 1 root root 7948 2008-01-15 19:48 hoary
-rw-r–r– 1 root root 5845 2008-01-15 19:48 hoary.buildd
lrwxrwxrwx 1 root root    3 2010-05-04 21:24 lenny -> sid
lrwxrwxrwx 1 root root    5 2010-05-06 02:54 lucid -> gutsy
-rw-r–r– 1 root root 3424 2008-01-15 19:48 potato
-rw-r–r– 1 root root 8405 2008-01-15 19:48 sarge
-rw-r–r– 1 root root 5690 2008-01-15 19:48 sarge.buildd
-rw-r–r– 1 root root 5920 2008-01-15 19:48 sarge.fakechroot
-rw-r–r– 1 root root 5825 2008-01-15 19:48 sid
-rw-r–r– 1 root root 7461 2008-01-15 19:48 warty
-rw-r–r– 1 root root 5727 2008-01-15 19:48 warty.buildd
-rw-r–r– 1 root root 7740 2008-01-15 19:48 woody
-rw-r–r– 1 root root 5727 2008-01-15 19:48 woody.buildd
root@vps:~#

Kita coba lagi

$ debootstrap –variant=minbase –arch i386 lucid /vz/private/107 http://archive.ubuntu.com/ubuntu/

dan akan muncul:

I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages…
I: Resolving dependencies of base packages…
I: Checking component main on http://archive.ubuntu.com/ubuntu…

******many line—

I: Configuring initramfs-tools…
I: Unpacking the base system…
I: Unpacking apt…
I: Configuring the base system…
I: Configuring apt…
I: Configuring libc-bin…
I: Base system installed successfully.

———saya potong karena terlalu panjang——

setelah selesai saatnya edit openvz template

$ nano /vz/private/107/etc/init/openvz.conf

masukkan baris berikut:

——————————————

# OpenVZ – Fix init sequence to have OpenVZ working with upstart
description "Fix OpenVZ"
start on startup
task
pre-start script
mount -t devpts devpts /dev/pts
mount -t tmpfs varrun /var/run
mount -t tmpfs varlock /var/lock
mkdir -p /var/run/network
if [ ! -e /etc/mtab ]; then
cat /proc/mounts > /etc/mtab
fi
touch /var/run/utmp
chmod 664 /var/run/utmp
chown root.utmp /var/run/utmp
if [ "$(find /etc/network/ -name upstart -type f)" ]; then
chmod -x /etc/network/*/upstart || true
fi
end script
script
start networking
initctl emit filesystem –no-wait
initctl emit local-filesystems –no-wait
initctl emit virtual-filesystems –no-wait
init 2
end script

 

—————————————

lalu edit yang ini:

$ nano /vz/private/107/etc/init/rc.conf

beri tanda pagar, seperti contoh berikut

———————–

#console output
#env INIT_VERBOSE

 

————————

lalu kita hapus script conf yang tidak kita perlukan

$ cd /vz/private/107/etc/init/

$ rm -f console* control* hwclock* module* mount* network-interface* plymouth* procps* tty* udev* upstart*

konfigurasikan openvz template:

$ vzctl set 107 –applyconfig vps.basic –save

$ sudo sh -c ‘echo "OSTEMPLATE=ubuntu-10.04-i386-minimal" >> /etc/vz/conf/107.conf’

#Setting ip address pada container atau template yang akan di buat

$ vzctl set 107 –ipadd 192.168.0.107 –nameserver 192.168.0.1 –save

Selanjutnya kita test hasilnya🙂

$ vzctl start 107

Starting VE …
Initializing quota …
vzquota : (error) Quota on syscall for 107: Device or resource busy
vzquota on failed [3]

 

# O o kok ada yang error, Coba cari2 letak kesalahan di atas adalah ada pada vzquota, kita cari vzquota letaknya dimana?

$ find / –name “vzquota”

/usr/sbin/vzquota
/usr/share/doc/vzquota
/var/lib/vzquota
/proc/vz/vzquota

 

————————

Sudah dapat vzquotanya. selanjutnya kita cari dimana setingan vzquota untuk VEID 107 nya.

$ ls -l /var/lib/vzquota

-rw——- 1 root root 139 2010-05-06 01:11 quota.100
-rw——- 1 root root 139 2010-05-06 01:11 quota.101
-rw——- 1 root root 139 2010-05-06 01:11 quota.102
-rw——- 1 root root 139 2010-05-06 01:11 quota.103
-rw——- 1 root root 139 2010-05-06 01:11 quota.104
-rw——- 1 root root 139 2010-05-06 01:12 quota.105
-rw——- 1 root root 139 2010-05-06 01:12 quota.106
-rw——- 1 root root 139 2010-05-06 03:22 quota.107
-rw——- 1 root root 139 2010-05-06 02:47 quota.108

 

nampak di atas quota.107 kita remove saja langsung.

$ rm -rf quota.107

# coba kita check lagi

$ vzquota off 107

vzquota : (error) Can’t open quota file for id 107, maybe you need to reinitialize quota: No such file or directory

# oke selanjutnya kita akan test lagi jalanin

$ vzctl start 107

Starting VE …
Initializing quota …
VE is mounted
Adding IP address(es): 192.168.0.107
Setting CPU units: 1000
Configure meminfo: 65536
Set hostname: ubuntu10.04
File resolv.conf was modified
VE start in progress…

————————–

Sampe disini kita sudah bisa tersenyum, karena template yang kita buat sudah jadi tinggal saatnya masukin beberapa aplikasi dan memperbaiki beberapa script  serta configurasi ulang untuk nantinya akan kita compres menjadi template yang siap digunakan.

$ vzctl enter 107

$ apt-get install –force-yes -y gpgv

Reading package lists… 0%

Reading package lists… 0%

Reading package lists… 1%

Reading package lists… 74%

Reading package lists… 99%

Reading package lists… 99%

Reading package lists… Done

Building dependency tree… 0%

Building dependency tree… 0%

Building dependency tree… 50%

Building dependency tree… 50%

Building dependency tree… 99%

Building dependency tree… Done

The following extra packages will be installed:
  libbz2-1.0 libreadline6 readline-common
Suggested packages:
  gnupg
The following NEW packages will be installed:
  gpgv libbz2-1.0 libreadline6 readline-common
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 448kB of archives.
After this operation, 1044kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  libbz2-1.0 readline-common libreadline6 gpgv

0% [Working]
0% [Connecting to archive.ubuntu.com]
0% [Waiting for headers]
Get:1 http://archive.ubuntu.com/ubuntu/ lucid/main libbz2-1.0 1.0.5-4 [45.3kB]

0% [1 libbz2-1.0 2493B/45.3kB 5%]
2% [1 libbz2-1.0 9493B/45.3kB 20%]
9% [1 libbz2-1.0 41.7kB/45.3kB 91%]
10% [Waiting for headers]
Get:2 http://archive.ubuntu.com/ubuntu/ lucid/main readline-common 6.1-1 [54.0kB]

10% [2 readline-common 1094B/54.0kB 2%]
15% [2 readline-common 23.5kB/54.0kB 43%]
22% [Working]
Get:3 http://archive.ubuntu.com/ubuntu/ lucid/main libreadline6 6.1-1 [143kB]

22% [3 libreadline6 0B/143kB 0%]
23% [3 libreadline6 6692B/143kB 4%]
28% [3 libreadline6 27.7kB/143kB 19%]
34% [3 libreadline6 55.7kB/143kB 38%]
40% [3 libreadline6 83.7kB/143kB 58%]
48% [3 libreadline6 117kB/143kB 82%]                                                                              35.9kB/s 6s
54% [Working]                                                                                                     35.9kB/s 5s
Get:4 http://archive.ubuntu.com/ubuntu/ lucid/main gpgv 1.4.10-2ubuntu1 [206kB]

54% [4 gpgv 0B/206kB 0%]                                                                                          35.9kB/s 5s
63% [4 gpgv 41.7kB/206kB 20%]                                                                                     35.9kB/s 4s
68% [4 gpgv 64.1kB/206kB 31%]                                                                                     35.9kB/s 3s
78% [4 gpgv 110kB/206kB 53%]                                                                                      35.9kB/s 2s
86% [4 gpgv 145kB/206kB 70%]                                                                                      35.9kB/s 1s
96% [4 gpgv 190kB/206kB 92%]                                                                                      35.9kB/s 0s
100% [Working]                                                                                                    35.9kB/s 0s
Fetched 448kB in 9s (47.2kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously deselected package libbz2-1.0.
(Reading database …
(Reading database … 5%
(Reading database … 10%
(Reading database … 15%
(Reading database … 20%
(Reading database … 25%
(Reading database … 30%
(Reading database … 35%
(Reading database … 40%
(Reading database … 45%
(Reading database … 50%
(Reading database … 55%
(Reading database … 60%
(Reading database … 65%
(Reading database … 70%
(Reading database … 75%
(Reading database … 80%
(Reading database … 85%
(Reading database … 90%
(Reading database … 95%
(Reading database … 100%
(Reading database … 6930 files and directories currently installed.)
Unpacking libbz2-1.0 (from …/libbz2-1.0_1.0.5-4_i386.deb) …
Selecting previously deselected package readline-common.
Unpacking readline-common (from …/readline-common_6.1-1_all.deb) …
Selecting previously deselected package libreadline6.
Unpacking libreadline6 (from …/libreadline6_6.1-1_i386.deb) …
Selecting previously deselected package gpgv.
Unpacking gpgv (from …/gpgv_1.4.10-2ubuntu1_i386.deb) …
Setting up libbz2-1.0 (1.0.5-4) …

Setting up readline-common (6.1-1) …

Setting up libreadline6 (6.1-1) …

Setting up gpgv (1.4.10-2ubuntu1) …
Processing triggers for libc-bin …
ldconfig deferred processing now taking place

Reading package lists… 0%

Reading package lists… 0%

Reading package lists… 1%

Reading package lists… 74%

Reading package lists… 99%

Reading package lists… 99%

Reading package lists… Done

Building dependency tree… 0%

Building dependency tree… 0%

Building dependency tree… 50%

Building dependency tree… 50%

Building dependency tree… 99%

Building dependency tree… Done

The following extra packages will be installed:
  libbz2-1.0 libreadline6 readline-common
Suggested packages:
  gnupg
The following NEW packages will be installed:
  gpgv libbz2-1.0 libreadline6 readline-common
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 448kB of archives.
After this operation, 1044kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  libbz2-1.0 readline-common libreadline6 gpgv

0% [Working]
0% [Connecting to archive.ubuntu.com]
0% [Waiting for headers]
Get:1 http://archive.ubuntu.com/ubuntu/ lucid/main libbz2-1.0 1.0.5-4 [45.3kB]

0% [1 libbz2-1.0 2493B/45.3kB 5%]
2% [1 libbz2-1.0 9493B/45.3kB 20%]
9% [1 libbz2-1.0 41.7kB/45.3kB 91%]
10% [Waiting for headers]
Get:2 http://archive.ubuntu.com/ubuntu/ lucid/main readline-common 6.1-1 [54.0kB]

10% [2 readline-common 1094B/54.0kB 2%]
15% [2 readline-common 23.5kB/54.0kB 43%]
22% [Working]
Get:3 http://archive.ubuntu.com/ubuntu/ lucid/main libreadline6 6.1-1 [143kB]

22% [3 libreadline6 0B/143kB 0%]
23% [3 libreadline6 6692B/143kB 4%]
28% [3 libreadline6 27.7kB/143kB 19%]
34% [3 libreadline6 55.7kB/143kB 38%]
40% [3 libreadline6 83.7kB/143kB 58%]
48% [3 libreadline6 117kB/143kB 82%]                                                                              35.9kB/s 6s
54% [Working]                                                                                                     35.9kB/s 5s
Get:4 http://archive.ubuntu.com/ubuntu/ lucid/main gpgv 1.4.10-2ubuntu1 [206kB]

54% [4 gpgv 0B/206kB 0%]                                                                                          35.9kB/s 5s
63% [4 gpgv 41.7kB/206kB 20%]                                                                                     35.9kB/s 4s
68% [4 gpgv 64.1kB/206kB 31%]                                                                                     35.9kB/s 3s
78% [4 gpgv 110kB/206kB 53%]                                                                                      35.9kB/s 2s
86% [4 gpgv 145kB/206kB 70%]                                                                                      35.9kB/s 1s
96% [4 gpgv 190kB/206kB 92%]                                                                                      35.9kB/s 0s
100% [Working]                                                                                                    35.9kB/s 0s
Fetched 448kB in 9s (47.2kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously deselected package libbz2-1.0.
(Reading database …
(Reading database … 5%
(Reading database … 10%
(Reading database … 15%
(Reading database … 20%
(Reading database … 25%
(Reading database … 30%
(Reading database … 35%
(Reading database … 40%
(Reading database … 45%
(Reading database … 50%
(Reading database … 55%
(Reading database … 60%
(Reading database … 65%
(Reading database … 70%
(Reading database … 75%
(Reading database … 80%
(Reading database … 85%
(Reading database … 90%
(Reading database … 95%
(Reading database … 100%
(Reading database … 6930 files and directories currently installed.)
Unpacking libbz2-1.0 (from …/libbz2-1.0_1.0.5-4_i386.deb) …
Selecting previously deselected package readline-common.
Unpacking readline-common (from …/readline-common_6.1-1_all.deb) …
Selecting previously deselected package libreadline6.
Unpacking libreadline6 (from …/libreadline6_6.1-1_i386.deb) …
Selecting previously deselected package gpgv.
Unpacking gpgv (from …/gpgv_1.4.10-2ubuntu1_i386.deb) …
Setting up libbz2-1.0 (1.0.5-4) …

Setting up readline-common (6.1-1) …

Setting up libreadline6 (6.1-1) …

Setting up gpgv (1.4.10-2ubuntu1) …
Processing triggers for libc-bin …
ldconfig deferred processing now taking place

$ cat /etc/issue

Ubuntu 10.04 LTS \n \l

$ apt-get update

0% [Working]
0% [Waiting for headers]
Get:1 http://archive.ubuntu.com lucid Release.gpg [189B]

99% [Working]
Hit http://archive.ubuntu.com lucid Release

99% [Working]
99% [Release gpgv 57.2kB]
99% [Working]
Ign http://archive.ubuntu.com lucid/main Packages

99% [Working]
Hit http://archive.ubuntu.com lucid/main Packages

100% [Working]
Fetched 189B in 1s (115B/s)

Reading package lists… 0%

Reading package lists… 0%

Reading package lists… Done

 

$ apt-get install -y adduser apt-utils console-setup iproute netbase nano openssh-blacklist openssh-blacklist-e
xtra openssh-server quota ping sudo vim

#hasilnya tidak di tampilkan aterlalu panjang.

untuk nanti pilihan keyboard disini saya pilih. sebagai berikut

86. United Kingdom

Origin of the keyboard: 86

6. United Kingdom – International (with dead keys)

Keyboard layout: 6

15. ISO-8859-16

Encoding to use on the console: 15

19. . Combined – Latin; Slavic and non-Slavic Cyrillic

Character set to support: 19

kemudian kita buat agar upstart dan mountall dalam posisi hold supaya tidak akan di upgrade saat memakai apt-get upgrade

$ echo "mountall hold"|dpkg –set-selections
$ echo "upstart hold"|dpkg –set-selections

Mengunci login root:

$ chmod 700 /root
$ usermod -p ‘!’ root

Memperbaiki SSH

$ sed -i -e ‘s_oom never_#oom never_g’ /etc/init/ssh.conf

# edit apt-get source list di  /etc/apt/sources.list dan tambahkan baris berikut

deb http://us.archive.ubuntu.com/ubuntu/ lucid main universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ lucid-security main universe multiverse

# tambahkan alias di /root/.bashrc

alias ll="ls -l"
alias la="ls -A"
alias nano="nano -w"
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"

 

# Set locale bahasa

$ apt-get update
$ apt-get -y install language-pack-en
$ locale-gen en_US.UTF-8
$ /usr/sbin/update-locale LANG="en_US.UTF-8" LANGUAGE="en_US.UTF-8" LC_ALL="en_US.UTF-8" LC_CTYPE="C"

# lalu edit /etc/environment

LANG="en_US.UTF-8"
LANGUAGE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_CTYPE="C"

 

# Semua sudah selesai saatnya bersih2 untuk finishing, ini masih di jalankan di container bukan di hostnode.

$ apt-get clean
$ apt-get autoremove

#Generate a unique set of ssh (host) keys.

$ rm -f /etc/ssh/ssh_host_*

$ cat << EOF > /etc/rc2.d/S15ssh_gen_host_keys
> ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ”
> ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ”
> rm -f \$0
> EOF

$ chmod a+x /etc/rc2.d/S15ssh_gen_host_keys

$ update-rc.d -f ondemand remove

Removing any system startup links for /etc/init.d/ondemand …
  /etc/rc2.d/S99ondemand
  /etc/rc3.d/S99ondemand
  /etc/rc4.d/S99ondemand
  /etc/rc5.d/S99ondemand

#hapus logs files

$ etc/resolv.conf \
echo localhost > /etc/hostname \
> /var/log/messages; > /var/log/auth.log; > /var/log/kern.log; > /var/log/bootstrap.log; \
> /var/log/dpkg.log; > /var/log/syslog; > /var/log/daemon.log; > /var/log/apt/term.log; rm -f /var/log/*.0 /var/log/*.1

$ ls -l /var/log/

total 132
drwxr-xr-x 2 root root   4096 May  6 00:21 mapt
-rw-r–r– 1 root root      0 May  6 00:51 auth.log
-rw-r—– 1 root adm      31 May  5 20:12 boot
-rw-r–r– 1 root root      0 May  6 00:51 bootstrap.log
-rw-rw-r– 1 root utmp      0 May  5 20:11 btmp
-rw-r–r– 1 root root      0 May  6 00:51 daemon.log
-rw-r—– 1 root adm      31 May  5 20:12 dmesg
-rw-r–r– 1 root root 101463 May  6 00:42 dpkg.log
-rw-r–r– 1 root root   2448 May  6 00:26 faillog
drwxr-xr-x 2 root root   4096 May  5 20:12 mfsck
-rw-r–r– 1 root root      0 May  6 00:51 kern.log
-rw-rw-r– 1 root utmp  29784 May  6 00:26 lastlog
-rw-r–r– 1 root root      0 May  6 00:51 syslog
-rw-rw-r– 1 root utmp    768 May  6 00:05 wtmp

bersihkan jejak

$ history –c

#keluar

$ exit

logout
exited from VE 107

kita sudah kembali lagi ke HOSTNODE dan template yang sudah kita buat sudah jadi. saatnya menjadikan file tar.tgz

Dari Hostnode del ip dan name server kemudian stop VEID 107

$ vzctl set 107 –ipdel all –nameserver ‘ ‘ –save

Deleting IP address(es): 192.168.0.107
Adding IP address(es):
Saved parameters for VE 107

$ vzctl stop 107

Stopping VE …
VE was stopped
VE is unmounted

 

membuat file tar.gz tetapi kulihat di contoh nya kok gagal yach

$ tar –numeric-owner -vzcf /vz/template/cache/ubuntu-10.04-i386-minimal.tar.gz

tar: Cowardly refusing to create an empty archive
Try `tar –help’ or `tar –usage’ for more information.

 

# tah kenapa tuh ada yang bisa menjelaskan

akhirnya aku pake

$ tar  -vzcf /vz/template/cache/ubuntu-10.04-i386-minimal.tar.gz *

bin/
bin/mkdir
bin/uncompress
bin/zfgrep
bin/zegrep
bin/bash
bin/znew
bin/rm
bin/dash
bin/dumpkeys

 

*************** dipotong terlalu panjang

$ ls –l

-rw-r–r– 1 root root  89095064 2010-05-06 08:30 ubuntu-10.04-i386-minimal.tar.gz

akhirnya jadi juga, selanjutnya bisa di coba di test ulang install. hasilnya bisa di download di

http://rapidshare.com/files/384033365/ubuntu-10.04-i386-minimal.tar.gz

karena saya tidak mempunyai space webhosting yang besar jadi saya upload disana saja. mungkin ada yang mau coba pakai silahkan.

Referensi:

http://www.Google.com

https://help.ubuntu.com/community/OpenVZ
http://wiki.openvz.org/Ubuntu_template#How_do_I_create_a_container_that_uses_this_template.3F
http://wiki.openvz.org/Ubuntu_Gutsy_template_creation
http://wiki.openvz.org/Debian_template_creation

http://blog.bodhizazen.net/linux/ubuntu-10-04-openvz-templates/
http://download.openvz.org/template/precreated/contrib/

Thanks also for :

My Only One GOD “ALLAH”

Dowdle in Freenode at #openvz also #ubuntu team

everyone in MILDNet #ardan

* catatan ini sebagai pengingat saya semoga diwaktu mendatang jika saya lupa akan bisa untuk mengingatkan kembali, jika pembaca lain ingin mengaplikasikan sendiri silahkan. saya sebatas manusia biasa yang tidak luput dari salah. jika ada  tulisan saya yang salah mohon masukannya. thanks

2 thoughts on “Membuat Template Openvz Ubuntu 10.04

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s