Clonning zone/container Solaris

Ini adalah langkah-langkah cara melakukan clonning terhadap zone/container di Solaris, dalam tulisan ini dicontohkan bahwa kita akan melakukan clonning dari zone “sumber” menjadi zone “tujuan”.

root@globalzone # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0 global            running    /                              native   shared
1 sumber            running    /zone/sumber                   native   shared

Terlihat hanya ada satu non-global zone yaitu zone “sumber”

Matikan zone “sumber” dan export konfigurasi zone “sumber”

root@globalzone # zoneadm -z sumber halt
root@globalzone # zonecfg -z sumber export -f /zone/tujuan.cfg

Sesuaikan dengan konfigurasi zone Anda, dalam contoh ini hanya zonepath serta alamat ip yang disesuaikan.

root@globalzone # cat /zone/tujuan.cfg
create -b
set zonepath=/zone/tujuan
set autoboot=true
set ip-type=shared
add net
set address=10.87.2.20
set physical=bge0
end
add dedicated-cpu
set ncpus=1-2
end

Buat zone kosong berdasarkan dari konfigurasi yang tadi kita export.

root@globalzone # zonecfg -z tujuan -f /zone/tujuan.cfg

Lakukan clonning

root@globalzone # # zoneadm -z tujuan clone sumber
Copying /zone/sumber...

root@globalzone # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0 global            running    /                              native   shared
- sumber            installed  /zone/sumber                   native   shared
- tujuan            installed  /zone/tujuan                   native   shared

Jika sudah seperti ini tinggal nyalakan zone “tujuan” dan ikuti step-step yang muncul dilayar hingga finish.

root@globalzone # zoneadm -z tujuan boot
root@globalzone # zlogin -C tujuan

Selamat, proses clonning berhasil dan saatnya berexperimen.

Langkah-langkah memindahkan zone/container Solaris ke mesin yang berbeda

Berikut ini adalah tutorial langkah-langkah memindahkan zone/container Solaris ke mesin yang berbeda, disini kita akan memindahkan “zone01” dari server “source” ke server “destination”

Server source dan server target sama-sama mempunyai sistem operasi Solaris 10/08, dan kebetulan juga tipe mesin yang sama “Sun Sparc M5000”.

List semua zone yang ada di server “source”, terlihat bahwa kita punya “global zone” dan “zone01”, apa perbedaan global zone dan non-global zone? silakan menuju ke link berikut ini.

root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
1  zone01           running    /zone/zone01                   native   shared

Matikan zone yang akan kita pindah, dalam hal ini adalah “zone01”

root@source # zoneadm -z zone01 halt
root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           installed  /zone/zone01                   native   shared

Terlihat bahwa status “zone01” berubah menjadi “installed”

Langkah selanjutnya adalah men-detach “zone01”, setelah itu cek kembali, seharusnya status “zone01” akan berubah menjadi “configured”.

root@source # zoneadm -z zone01 detach
root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           configured /zone/zone01                   native   shared

Setelah status “zone01” berubah menjadi “configured” maka langkah selanjutnya adalah masuk ke folder dimana “zone01” berada (dalam hal ini ada di /zone), kemudian kompres folder “zone01” dan salin ke mesin “destination”.

root@source # cd /zone
root@source # tar cvf - zone01 | gzip -c > /backup/zone01.tar.gz
root@source # cd /backup
root@source # scp zone01.tar.gz user@destination:/zone/

Setelah selesai menyalin, saatnya bekerja pada server “destination”.

Masuk ke folder “/zone” kemudian extract berkas hasil salin dari mesin “source” (zone01.tar.gz)

root@destination # cd /zone
root@destination # gunzip < zone01.tar.gz | tar xvf -

Setelah selesai proses extract, maka saatnya kita membuat zone dengan nama “zone01”.

root@destination # zonecfg -z zone01
zone01: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone01> create -a /zone/zone01
zonecfg:zone01> commit
zonecfg:zone01> exit

Coba kita cek kembali zone yang ada di server “destination”, seharusnya muncul zone01 dengan status “configured”

root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           configured /zone/zone01                   native   shared

Saatnya attach “zone-01”, pastikan tidak muncul galat.

root@destination # zoneadm -z zone01 attach
These patches installed on the source system are inconsistent with this system:
119788-10: not installed
121081: version mismatch
(08) (06)

Jika muncul galat seperti diatas, lakukan langkah dibawah ini, kemudian coba attach kembali “zone01” nya.

root@destination # echo 121081 >> /usr/lib/brand/native/bad_patches
root@destination # echo 119788 >> /usr/lib/brand/native/bad_patches
root@destination # zoneadm -z zone01 attach
root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           installed  /zone/zone01                   native   shared

Yes…! status “zone01” sudah berubah menjadi “installed”, artinya “zone01” sudah berhasil dipindah ke mesin “destination”, langkah selanjutnya adalah coba menyalakan zone tersebut di mesin “destination”

root@destination # zoneadm -z zone01 boot
root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
1  zone01           running    /zone/zone01                   native   shared

Alhamdulillah, “zone01” statusnya sudah berubah menjadi “running” yang artinya zone tersebut sudah hidup di mesin “destination”, selanjutnya silakan coba login ke “zone01”

root@destination # zlogin -C zone01

Untuk keluar dari console login “zone01” gunakan “tilde” + “titik” (~.)

Langkah-langkah bagaimana “Openfiler” Join ke Windows Domain

Dalam tulisan ini tidak dibahas bagaimana caranya instalasi Openfiler, jadi pada tulisan ini diasumsikan bahwa Openfiler telah terinstall dengan baik.

1. Langkah pertama adalah setting konfigurasi network.

Klik menu “System” pilih menu “Network Setup”, kemudian sesuaikan konfigurasi network Anda

domain2

2.  Langkah kedua adalah konfigurasi NTP

Klik menu “System” pilih menu “Clock Setup”, kemudian sesuaikan dengan konfigurasi NTP Anda.

domain5

domain3

 

 

 

 

3. Langkah ketiga adalah mengaktifkan Service CIFS

Klik menu “Services” pilih menu “Manage Services” kemudian klik “enable pada “Modify Boot” agar service CIFS otomatis start saat mesin Openfiler direstart, kemudian pilih “Start” pada tab “Start / Stop”

domain6

domain4

 

4. Langkah keempat proses Join Domain

Klik menu “Accounts” pilih “Use Windows domain controller and authentication”, sesuaikan dengan konfigurasi Domain Anda, setelah selesai klik “Submit”.

domain1

5. Langkah kelima, berdo’a dan testing

Saya lebih suka testing menggunakan console, jadi langkahnya adalah ssh ke mesin Openfiler, kemudian jalankan command berikut :

# wbinfo -u (check user)
# wbinfo -g (check groups)

Jika user dan group yang ada di Domain sudah muncul saat kita jalankan command-command diatas artinya proses Join Domain sudah selesai.

Semoga bermanfaat.

Masalah-masalah phpVirtualBox

Meneruskan tulisan kemarin tentang instalasi phpvirtualbox di BlankOn Rote, hari ini ditemukan sedikit problem bahwa vm-vm yang dibuat sebelum menginstall phpVirtualBox dan extpack nya, ketika dijalankan maka akan muncul “access denied”.

Solusinya mudah, berikan hak akses secukupnya terhadap user “vbox” atas folder dimana vm-vm tersebut berada.

# chown -R vbox:vboxusers /path/lokasi_vms

Problem selanjutnya adalah ketika vm-vm tersebut dijalankan maka menu “console” nya  tidak berfungsi (grey area), dan berikut solusinya :

List dulu vm-vm yang ada di mesin kita :

# su - vbox
$ VBoxManage list -l vms | grep Name:
Name:         Windows Seven
Name:         Ubuntu 12.04
Name:         BlankOn Rote

Terlihat ada tiga vm yang kita punya, tapi disini saya contohkan satu mesin saja 🙂

$ VBoxManage modifyvm "BlankOn Rote" --vrdeport 9000-9010
$ VBoxManage modifyvm "BlankOn Rote" --vrde on
$ VBoxManage controlvm "BlankOn Rote" vrde on

Ternyata dan ternyata; ada cara yang lebih mudah, tinggal klik kanan pada Nama VM — Settings — Display — Remote Display, kemudian aktifkan dan sesuaikan.

setting_display

Bagaimanapun lewat console tetap lebih indah 🙂

Install phpvirtualbox di BlankOn

Ini adalah tutorial bagaimana caranya menginstall phpVirtualBox di BlankOn Rote, tentunya sebelum menginstall phpVirtualBox kita harus menginstall VirtualBox nya terlebih dahulu.

Install VirtualBox, apache2, PHP dan unzip.

$ sudo -s
# apt-get update
# apt-get install virtualbox
# apt-get install apache2 php5 unzip

Buat user vbox

# useradd -m vbox -G vboxusers,cdrom
# passwd vbox

Periksa terlebih dahulu versi virtualbox yang terinstall di BlankOn Rote, kemudian download paket yang sesuai dengan versi VirtualBox yang ada di mesin kita.

# dpkg -s virtualbox | grep Version
Version: 4.1.18-dfsg-1

Dikarenakan versi VirtualBox yang terinstall di mesin kita adalah versi 4.1.18, maka kita download phpvirtualbox-4.1-11.zip

# wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-11.zip
# unzip phpvirtualbox-4.1-11.zip
# mv phpvirtualbox-4.1-11 /var/www/phpvirtualbox
# cd /var/www/phpvirtualbox
# mv config.php-example config.php

Ubah berkas “config.php”, sesuaikan dengan username dan password  user “vbox” yang tadi dibuat.

# vi config.php
var $username = 'vbox';
var $password = 'pass';

Ubah juga berkas “/etc/default/virtualbox”

# vi /etc/default/virtualbox
VBOXWEB_USER=vbox

Install Extension Pack, sesuaikan juga dengan versi VirtualBox yang terinstall di mesin BlankOn Rote

# wget http://download.virtualbox.org/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.8.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Login menggunakan user vbox

# su - vbox
$ VBoxManage setproperty websrvauthlibrary null
$ /usr/lib/virtualbox/vboxwebsrv &

Testing akses menggunakan user “admin” dan password “admin”
http://ip_address_blankon/phpvirtualbox

phpvirtualbox

Selesai dan semoga bermanfaat.

“Ubah” serial number server SUN Solaris menggunakan command “sneep”

Sore ini saat hendak melakukan inventory, ada sedikit keanehan dimana ada dua mesin Solaris X4170 yang serial numbernya SAMA saat diperiksa menggunakan command “sneep“.

Setelah cek dan ricek ternyata hal ini dikarenakan mesin yang satunya diinstall menggunakan metode “Flash Archive”, jadi serial number mesin source terbawa ke mesin target (serial number yang dimaksud adalah serial number yang disimpan di eeprom)

# sneep -A
Sneep has found more than one possible value for Serial Number.
The Serial Numbers available on this system are:
eeprom     : 1213XXX0L2
ipmi       : 1213XXX0L4
smbios     : 1213XXX0L4
backup     : 1213XXX0L2
explorer   : 1213XXX0L2
To change the serial number reported, use 'sneep -s ActualSerialNumber'

Terlihat bahwa serial number nya tidak sama antara yang di eeprom dan yang ada di bios, untuk itu kita harus set agar sama, tapi bagaimana kita bisa tahu mana serial number yang valid?

Cara pertama dan paling mudah adalah check di fisik mesinnya, disitu akan terlihat berapa serial number yang valid.

Cara kedua kita gunakan command :

# smbios -t SMB_TYPE_SYSTEM | grep Serial
Serial Number: 1213XXX0L4

Dari situ terlihat bahwa serial number mesin tersebut yang valid adalah : 1213XXX0L4

Langkah selanjutnya kita tinggal set serial numbernya, sesuaikan dengan hasil ouput dari command sebelumnya.

# sneep -s 1213XXX0L4

Kemudian periksa kembali serial numbernya :

# sneep -A
All sneep data sources are consistent.
Serial Number: 1213XXX0L4

Selesai

pam_authtok_check:pam_sm_chauthtok: Dictionary database not present – Solved

Hari ini ada salah satu user yang password login ke server Solaris expired, dan ketika user tersebut meng-input password lamanya maka akan muncul prompt untuk mengetik “New password:”, dan ketika user tersebut memasukkan password baru maka selalu muncul “Access denied” walaupun sudah mengikuti syarat kombinasi password yang ditentukan.

Setelah dicek di log  muncul error seperti dibawah ini :

# tail -f /var/adm/messages
sshd[15627]: [ID 645138 auth.error] pam_authtok_check:pam_sm_chauthtok: Dictionary database not present.

Solusinya :

Sunting berkas konfigurasi “/etc/default/passwd”, pastikan parameter “DICTIONLIST” nya benar.

# vi /etc/default/passwd
DICTIONLIST=/usr/share/lib/dict/words

Alhamdulillah.

Membangun Active Directory / Domain Controller menggunakan BlankOn & Samba4

Berikut adalah langkah-langkah instalasi dan konfigurasi membuat Active Directory / Domain Controller menggunakan  SAMBA4 di Linux BlankOn, tutorial ini didemokan saat BlanKonf4.

Install software-software yang dibutuhkan :

# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev 
libgnutls-dev  libreadline-dev python-dev python-dnspython gdb pkg-config 
libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user

1. Konfigurasi Samba4

Download, extract, install dan lakukan konfigurasi

# cd /usr/local/src
# wget http://ftp.samba.org/pub/samba/rc/samba-4.0.0rc5.tar.gz
# tar -xvf samba-4.0.0rc5.tar.gz
# cd samba-4.0.0rc5
# ./configure --enable-debug --enable-selftest
# make
# make install

Provisioning domain, sesuaikan dengan nama domain Anda

# /usr/local/samba/bin/samba-tool domain provision --realm=blankonf.blankon.in 
--domain=BLANKONF --adminpass='p@ssw0rd' --server-role=dc --dns-backend=BIND9_DLZ

Jalankan samba4, “-d3” melambangkan debug level, semakin tinggi nilainya maka semakin detail debug yang ditampilkan

# /usr/local/samba/sbin/samba -i -M single -d3

Testing menggunakan smbclient

# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[BLANKONF] OS=[Unix] Server=[Samba 4.0.0rc5]

	Sharename       Type      Comment
	---------       ----      -------
	netlogon        Disk
	sysvol          Disk
	profiles        Disk
	share           Disk      Sharing Data
	IPC$            IPC       IPC Service (Samba 4.0.0rc5)
Domain=[BLANKONF] OS=[Unix] Server=[Samba 4.0.0rc5]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
# smbclient //localhost/netlogon -UAdministrator%'p@ssw0rd' -c 'ls'
Domain=[BLANKONF] OS=[Unix] Server=[Samba 4.0.0rc5]
  .                                   D        0  Tue Nov 27 16:55:37 2012
  ..                                  D        0  Tue Nov 27 16:55:52 2012

		48991 blocks of size 131072. 14072 blocks available

Testing membuat user via samba

# /usr/local/samba/bin/samba-tool user add demo1

Check user yang barusan dibuat

# /usr/local/samba/bin/wbinfo -u
Administrator
Guest
krbtgt
dns-samba
demo1

2. Konfigurasi Bind untuk DNS

Setting berkas network interface, sesuaikan dengan domain dan network environtment Anda

# vi /etc/network/interfaces
auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.1.4
netmasks 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.4
dns-search blankonf.blankon.in

Install Bind9

# apt-get install bind9
# vi /etc/resolv.conf
domain blankonf.blankon.in
nameserver 192.168.1.4

# vi /etc/bind/named.conf
include "/usr/local/samba/private/named.conf";

# vi /etc/default/bind9
RESOLVCONF=no
OPTIONS="-4 -u bind"

Periksa konfigurasi Bind, jika tidak ada error maka konfigurasi Anda sudah benar

# named-checkconf

Restart service Bind

# /etc/init.d/bind9 restart

3. Konfigurasi Kerberos

Salin tempel berkas konfigurasi “krb5.conf”

# mv /etc/krb5.conf /etc/krb5.conf.orig
# cp /usr/local/samba/share/setup/krb5.conf /etc/

Ganti ${REALM} dengan nama domain Anda

# vi /etc/krb5.conf
[libdefaults]
default_realm = BLANKONF.BLANKON.IN
dns_lookup_realm = false
dns_lookup_kdc = true

Testing Bind dan Kerberos, jika hasilnya error, silakan periksa kembali konfigurasinya.

# host -t A samba.blankonf.blankon.in.
samba.blankonf.blankon.in has address 192.168.1.4

# host -t SRV _ldap._tcp.blankonf.blankon.in.
_ldap._tcp.blankonf.blankon.in has SRV record 0 100 389 samba.blankonf.blankon.in.

# host -t SRV _kerberos._udp.blankonf.blankon.in.
_kerberos._udp.blankonf.blankon.in has SRV record 0 100 88 samba.blankonf.blankon.in.

Konfigurasi dynamic DNS update Bind via kerberos

# vi /etc/bind/named.conf.options
options {
	directory "/var/cache/bind";
	dnssec-validation auto;
	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
	tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
};

Testing kerberos

# kinit administrator@BLANKONF.BLANKON.IN
Password for administrator@BLANKONF.BLANKON.IN:
Warning: Your password will expire in 36 days on Tue Jan  8 16:55:50 2013
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@BLANKONF.BLANKON.IN

Valid starting     Expires            Service principal
12/03/12 16:48:27  12/04/12 02:48:27  krbtgt/BLANKONF.BLANKON.IN@BLANKONF.BLANKON.IN
renew until 12/04/12 16:48:22

Buat init script untuk start/stop/restart samba4

# wget http://anonscm.debian.org/loggerhead/pkg-samba/samba4/unstable/download/head:/1833%40fc4039ab-9d04-0410-8cac-899223bdd6b0:trunk%252Fsamba4:debian%252Fsamba4.init/samba4.init -O /etc/init.d/samba4
# sed -i 's|/usr/sbin|/usr/local/samba/sbin|g' /etc/init.d/samba4
# chmod 755 /etc/init.d/samba4
# update-rc.d samba4 defaults

Jika semua langkah diatas sudah berjalan normal, tinggal testing join domain, setting GPO dll.

Referensi : Samba4/HOWTO