20 March 2015

Konfigurasi Server OpenLDAP dan phpLDAPadmin di RHEL 7

Sesuaikan nama DC, CN, password, user

1. Tambahkan repo EPEL 7
wget -c http://mirror.dionipe.net/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum localinstall epel-release-7-5.noarch.rpm
2. Pasang paket-paket yang dibutuhkan
yum install openldap-clients openldap-servers phpldapadmin migrationtools
3.  Jalankan layanan openldap-server
systemctl start slapd
systemctl enable slapd
systemctl status slapd
4. Muat skema standar
cd /etc/openldap/schema/
for U in *.ldif; do echo "Memuat skema $U... "; ldapadd -H ldapi:/// -f $U; done
cd
5. Set Database Suffix
cat suffix.entry
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=azoebs,dc=com

ldapmodify -H ldapi:/// -f suffix.entry
6. Set Root DN
cat rootdn.entry
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=manager,dc=azoebs,dc=com

ldapmodify -H ldapi:/// -f rootdn.entry
7. Set Password Root
slappasswd
New password:
Re-enter new password:
{SSHA}EPHnQJa7TZqZ7Pa2Xf9OIVF8HbEQvwMW

cat rootpw.entry
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}EPHnQJa7TZqZ7Pa2Xf9OIVF8HbEQvwMW

ldapmodify -H ldapi:/// -f rootpw.entry
8. Edit file konfigurasi phpLDAPadmin:
vim /etc/phpldapadmin/config.php
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','base',array('dc=azoebs,dc=com'));
$servers->setValue('login','bind_id','cn=manager,dc=azoebs,dc=com');
$servers->setValue('login','attr','dn');
9. Edit konfigurasi alias phpLDAPadmin di httpd
vim /etc/httpd/conf.d/phpldapadmin.conf
  IfModule mod_authz_core.c>
    # Apache 2.4
    Require all granted
  /IfModule>
10. Jalankan layanan httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd
11. Tambah service http di firewall
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

firewall-cmd --list-services
12. Aktifkan otentikasi lewat LDAP pada SELinux
setsebool -P allow_ypbind=1
13. Login phpLDAPadmin
Login DN: cn=manager,dc=azoebs,dc=com
Password:



Uji menambahkan ldif

1. Impor ldif object organization (o) dan organizational unit (ou) seperti berikut:
dn: dc=azoebs,dc=com
objectclass: dcObject
objectclass: organization
o: azoebs
dc: azoebs

dn: ou=People,dc=azoebs,dc=com
objectClass: organizationalUnit
ou: People
2. Buat satu user Linux
useradd utian
passwd utian
grep utian /etc/passwd > passwd.utian
/usr/share/migrationtools/migrate_passwd.pl passwd.utian passwd.utian.ldif
3. Import ldif account passwd.utian.ldif di phpLDAPadmin
cat passwd.utian.ldif
dn: uid=utian,ou=People,dc=azoebs,dc=com
uid: utian
cn: utian
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$3nfzV/Ts$WpiaHhHzUn5J7/mQRLbVqv9n6cd5tvk/xd9rrq3Y53v4GMhl1Rz9QEgdriwe107A9mSR7Zvn8ADvYmZo154cc.
shadowLastChange: 16505
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/utian

17 March 2015

Pendapat Umum Yang Salah Tentang FLOSS

Berdasarkan pengalaman pribadi, berikut ini beberapa pendapat umum yang salah yang sering saya dengar mengenai FLOSS terutama di Indonesia:
  1. Pendapat: Free dalam FLOSS berarti "gratis". Koreksi: Free dalam FLOSS berarti "bebas" (libre). FLOSS dapat dijual ataupun dibagikan secara gratis.
  2. Pendapat: Kontribusi pada FLOSS hanya dalam bentuk membuat kode program. Koreksi: Kontribusi pada FLOSS dapat juga berupa memberikan donasi/sponsor, memasarkan dan menjual, membuat karya seni, menyetel jaringan dan server, menulis dokumentasi, atau kegiatan lainnya yang mendukung keberlangsungan FLOSS.
  3. Pendapat: FLOSS lebih tidak aman dibanding proprietary software. Koreksi: Pemrograman dan peninjauan keamanan pada FLOSS dapat dilakukan oleh publik sementara pemrograman dan peninjauan keamanan pada proprietary software hanya dilakukan oleh kelompok tertentu. Pada proprietary software dapat muncul peluang adanya "kode tidak aman" yang diciptakan oleh kelompok/personil kelompok dan hal tersebut tidak diketahui oleh publik. Jadi, FLOSS lebih aman dibanding proprietary software.
  4. Pendapat: Perusahaan-perusahaan TIK besar di dunia tidak menggunakan atau mendukung FLOSS. Koreksi: Perusahaan besar seperti Cisco, Juniper, Microsoft, Oracle menggunakan dan mendukung FLOSS. Silakan ber-Google lebih dalam ;)
  5. Pendapat: Aktivis FLOSS hanya pelajar/mahasiswa. Jika sudah bekerja tidak dapat menjadi aktivis FLOSS. Koreksi: Banyak pelajar dan mahasiswa yang tidak tahu FLOSS dan ada beberapa orang yang sudah bekerja tapi tetap menjadi aktivis FLOSS. Mohammad Anwari dan tim membuat Proyek BlankOn, Nana Suryana dan tim membuat Proyek IGN, Hendro Wicaksono dan tim membuat SLiMS, Anton Raharja dan tim membuat PlaySMS dan Briker, dan banyak lagi aktivis FLOSS Indonesia lainnya.
  6. Pendapat: Aktivis FLOSS hanya bagi yang lajang saja. Jika sudah menikah atau sudah punya anak tidak dapat menjadi aktivis FLOSS. Pendapat: Silahkan komunikasikan tentang hal ini ke pasangan dan anak anda masing-masing.

06 March 2015

Konfigurasi Server RHEL 7 untuk Instalasi Otomatis RHEL 7

Jika anda ingin mencoba tulisan ini dengan VirtualBox, gunakan VirtualBox versi terbaru dan pasang juga VirtualBox Extention Pack.

Desain Topologi:



Langkah-langkah:

1. Pasang dan aktifkan layanan HTTP Apache.
yum install httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd
2. Tambahkan layanan HTTP pada firewall
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --list-services
3. Salin semua isi DVD RHEL7 ke direktori /var/www/html/rhel7-dvd/
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom
mkdir /var/www/html/rhel7-dvd/
cp -rvf /media/cdrom/*  /var/www/html/rhel7-dvd/
umount /dev/sr0
4. Buat file kickstart rhel7-new.ks yang berisi pilihan proses instalasi RHEL 7 menggunakan system-config-kickstart atau Web Kickstart Configuration Tool.
Contoh isi rhel7-new.ks:
lang en_US
keyboard us
timezone Asia/Jakarta
rootpw $1$A/vAVj1b$2clnzmAO.6WkfW2/v2.GW1 --iscrypted
#platform x86, AMD64, or Intel EM64T
reboot
url --url=http://10.10.10.254/rhel7-dvd
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled --ssh
skipx
firstboot --disable
%post
echo "Yeay, Instalasi Otomatis RHEL 7 Berhasil!" >> /etc/issue
%end
%packages
@base
%end

5. Salin file rhel7-new.ks ke  /var/www/html/

6. Pasang paket dhcp
yum install dhcp
7. Edit file konfigurasi layanan dhcp /etc/dhcp/dhcpd.conf
option domain-name "azoebs.com";
option domain-name-servers 180.131.144.144, 180.131.145.145;

default-lease-time 600;
max-lease-time 7200;


log-facility local7;

subnet 10.10.10.0 netmask 255.255.255.0 {
  range dynamic-bootp 10.10.10.100 10.10.10.199;
  option routers 10.10.10.254;
  filename "pxelinux.0";
}
8. Aktifkan layanan DHCP.
systemctl start dhcpd
systemctl enable dhcpd
systemctl status dhcpd
9. Tambahkan layanan DHCP pada firewall
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
firewall-cmd --list-services
10. Pasang paket tftp-server
yum install tftp-server
11. Edit file konfigurasi layanan dhcp /etc/xinetd.d/tftp.
disable = no
12. Aktifkan layanan xinetd.
systemctl start xinetd
systemctl enable xinetd
systemctl status xinetd
13. Tambahkan layanan TFTP pada firewall 
firewall-cmd --permanent --add-service=tftp
firewall-cmd --reload
firewall-cmd --list-services
13.  Salin beberapa file dari /var/www/html/rhel7-dvd/isolinux/ ke /var/lib/tftpboot/
cp /var/www/html/rhel7-dvd/isolinux/boot.msg /var/lib/tftpboot/
cp /var/www/html/rhel7-dvd/isolinux/initrd.img /var/lib/tftpboot/
cp /var/www/html/rhel7-dvd/isolinux/vesamenu.c32 /var/lib/tftpboot/
cp /var/www/html/rhel7-dvd/isolinux/vmlinuz /var/lib/tftpboot/
14. Pasang paket syslinux dan salin file /usr/share/syslinux/pxelinux.0 ke /var/lib/tftpboot/
yum install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
15. Buat direktori /var/lib/tftpboot/pxelinux.cfg
mkdir /var/lib/tftpboot/pxelinux.cfg
16. Buat file menu bootloader /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
prompt 0
timeout 100
display boot.msg

label linux
  menu label ^Instal Otomatis RHEL 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img ip=dhcp inst.repo=http://10.10.10.254/rhel7-dvd ks=http://10.10.10.254/rhel-new.ks
17. Uji konfigurasi dengan menyalakan server baru yang akan dipasang RHEL 7 (boot ke LAN). Jika konfigurasi berhasil, server baru akan dipasang RHEL 7 secara otomatis. Setelah pemasangan RHEL 7 selesai, server baru akan reboot (boot ke harddisk).




04 March 2015

Klon Harddisk Massal Dengan DRBL Live dan Clonezilla Server

Tujuan:
Klone disk sda pada Komputer Sumber ke disk sda pada Komputer-komputer Tujuan. Tipe sistem berkas pada disk yang akan diklon dapat berupa sistem berkas apapun. Di tulisan ini dicontohkan klon harddisk dengan sistem berkas ext4 dan swap (sistem operasi GNU/Linux BlankOn 9)

Langkah-langkah:
1. Siapkan disk cadangan (sdb1) untuk menyimpan citra disk sda pada Komputer Sumber. Dapat berupa harddisk internal ataupun harddisk eksternal.

2. Unduh DRBL Live di http://drbl.org/download/ dan buat Live CD atau Live USB flash drive

3. Hubungkan Komputer Sumber dan Komputer Tujuan ke Switch Gigabit Ethernet seperti gambar topologi di bawah ini.


4. Jalankan DRBL Live pada Komputer Sumber.


5. Aktifkan partisi swap pada Komputer Sumber (jika ada)
sudo swapon /dev/sda2
sudo swapon -s
6. Mount disk cadangan (sdb1) ke direktori /home/partimag
sudo /dev/sdb1 /home/partimag
7. Jalankan Clonezilla Live
sudo clonezilla
8. Buat berkas citra disk sda.
  • Clone mode: device-image 
  • Image directory: skip 
  • Clonezilla mode: Beginner 
  • Disk/partition clone mode: savedisk 
  • Image name: komputer-sumber-sda-20150304-img 
  • Disk source: sda 
  • fsck: fsck-src-part-y 
  • Image restoreable check: Yes
Jika proses terhenti, pilihan di atas dapat dijalankan ulang dengan perintah:
sudo /usr/sbin/ocs-sr -q2 -c -j2 -z1p -i 2000 -fsck-src-part-y -p choose savedisk komputer-sumber-sda-20150304-img sda
Jawab konfirmasi proses pembuatan citra disk dengan: y

9. Tunggu sampai proses pembuatan citra disk sda selesai.


10. Setelah selesai pilih menu kembali ke prompt baris perintah:
2 Enter command line prompt.

11. Jalankan Clonezilla Server
sudo ocs-srv-live start
12. Tentukan pilihan restore seperti berikut:
  • Do you want to lease IP address to PXE/Etherboot client only? y
  • All/Part clients? All
  • Clonezilla mode: Beginner
  • Disk/partition clone mode: restore-disk
  • Action finished client: -p poweroff
  • Image file to restore: komputer-sumber-sda-20150304-img
  • Target disk: sda
  • Restore mode: unicast
Jika proses terhenti, pilihan di atas dapat dijalankan ulang dengan perintah:
drbl-ocs -b -g auto -e1 auto -e2 -r -x -j2 -p poweroff -l en_US.UTF-8 startdisk restore komputer-sumber-sda-20150304-img sda
Jangan tutup terminal eksekusi Clonezilla Server sampai proses klon ke semua Komputer Tujuan selesai.

13.  Nyalakan (ulang) Komputer Tujuan. Atur agar boot pertama dari LAN. Jika sukses boot dari LAN, pada layar akan muncul tampilan seperti berikut:


14. Proses klon ke Komputer Tujuan akan berjalan secara otomatis. Tunggu sampai prosesnya selesai.


15. Ulangi langkah 13 dan 14 pada Komputer-komputer Tujuan lainnya.

16. Jika proses klon pada Komputer Tujuan selesai, Komputer Tujuan akan mati dan pada terminal eksekusi Clonezilla Server akan muncul pesan seperti berikut:
Client 192.168.100.1 (08:00:27:36:cf:38) finished cloning. Stats: Unicast restored komputer-sumber-sda-20150304-img, /dev/sda1, success, 4.2 GB = 1016083 Blocks, 2.735 mins;

17. Nyalakan Komputer Tujuan. Atur agar boot pertama dari harddisk sda. Jika hasil klon sukses, Komputer Tujuan akan menjalankan sistem operasi yang sama seperti Komputer Sumber.


01 March 2015

Konfigurasi Nested KVM di Debian Jessie


Tulisan ini dipraktekan pada prosesor Intel yang memiliki fitur VT-x. Untuk menampilkan informasi tentang prosesor di Debian Jessie, dapat menggunakan perintah:
lscpu
Piranti lunak yang digunakan untuk menguji tulisan ini adalah:
  • Host: Debian Jessie  + qemu-kvm + virt-manager
  • Guets: Proxmox VE 3.4
  • Nested Guest: Microsoft Windows Server 2012
Langkah-langkahnya:
1. Sebagai root, pasang paket-paket yang diperlukan:
apt-get install qemu-kvm libvirt-bin libvirt-clients libvirt-daemon libvirt-daemon-system virt-manager
2. Sebagai root, tambahkan konfigurasi untuk mengaktifkan opsi nested pada modul kvm_intel
echo "options kvm-intel nested=y" >> /etc/modprobe.d/kvm-intel-nested.conf
3. Reboot komputer host

4. Verifikasi opsi nested sudah aktif pada modul kvm_intel
cat /sys/module/kvm_intel/parameters/nested
5. Pasang guest OS Proxmox VE 3.4 dengan virt-manager.

6. Pasang VM Windows Server 2012 di dalam Proxmox VE 3.4.