Archive

Archive for the ‘linux’ Category

Power Button

January 30th, 2009

Background Story

Di kantor ada satu server database dan Web kita, yang kalo malem sebenernya engga ada yang pake. Jadi kalo malem pengennya dimatiin aja gitu. Nyalain server ubuntu khan gampang yach, tinggal pencet power button nya doang udah nyala sendiri. Tapi laen cerita dengan matiin nya, harus login dengan ssh ke server, terus ketik

sudo shutdown -h now

Tiap kali ngetik begitu khan cape juga :P akhirnya gue cari cara untuk matiin secara otomatis

Solusi

Di ubuntu server waktu install secara default ACPI itu engga di install. Untuk ubuntu bisa mengenali bahwa ada tombol power di pencet, harus install dulu ACPI dengan cara

sudo apt-get install acpid

Secara otomatis dia bakal install sendiri script shutdown sewaktu power button itu di tekan, udah engga perlu melakukan apa2 lagi pun udah jalan. Tapi kalo penasaran begimana cara script nya bekerja bisa liat event pemanggilannya di sini

/etc/acpi/events/powerbtn

Script itu secara otomatis akan memanggil script shutdown yang ada di

/etc/acpi/powerbtn.sh
Share

linux

Samba on Ubuntu

January 5th, 2009

Ada masalah yang timbul pada saat kita mount smbfs ke suatu direktori. Masalah yang akan timbul adalah symbolic link tidak bisa diakses seperti layaknya bila di akses dari Windows. Jika kita membuat symlink ke folder lain (contoh: /opt/lampp/htdocs dan diarahkan ke /home/admin/www/), jika folder admin itu di mount ke Windows, makan pada saat kita klik ‘www’, akan dibuka tanpa masalah, Windows akan mengira symlink itu adalah suatu direktori, dan samba akan otomatis mengeluarkan isi direktori tersebut, ini bukanlah bug tetapi fitur yang sangat baik.

Jika anda mencoba mount folder tersebut dari ubuntu dan klik folder www tersebut, yang terjadi adalah, symlink tetaplah sebuah symlink. Anda akan dibawa ke folder /opt/lampp/htdocs di local anda. Cara pemecahannya adalah:

Tambahkan ini di bagian [globals]

follow symlinks = yes
wide symlinks = yes
unix extensions = no
Share

linux, programming , , ,

Restore Ubuntu GRUB

January 5th, 2009

Taken from http://ubuntuforums.org/archive/index.php/t-24113.html

Don’t forget that this method, as described, puts GRUB back on the MBR (master boot record) of the hard drive instead of in the root parititon. This is fine for most people, but not if you already have an alternative boot manager.

In other words, if you use something like Boot Magic or System Commander, the commands you’ve just read will overwrite what you’ve got.

If you’ve installed GRUB into the Root Partition instead of the MBR, the commands are a little different. Here’s are the instructions that I have for my system:

How to Restore the Grub Menu after a Re-Ghosting:

1. Boot from a Live CD, like Ubuntu Live, Knoppix, Mepis, or similar.

2. Open a Terminal. Go SuperUser (that is, type �su�). Enter root passwords as necessary.

3. Type �grub� which makes a GRUB prompt appear.

4. Type �find /boot/grub/stage1�. You’ll get a response like �(hd0)� or in my case �(hd0,3)�. Use whatever your computer spits out for the following lines.

5. Type �root (hd0,3)�.

6. Type �setup (hd0,3)�. This is key. Other instructions say to use �(hd0)�, and that’s fine if you want to write GRUB to the MBR. If you want to write it to your linux root partition, then you want the number after the comma, such as �(hd0,3)�.

7. Type �quit�.

8. Restart the system. Remove the bootable CD.

Hope this helps. Since I use Norton Ghost to make regular backups and restores (I do a lot of testing), I do this all the time�

-Warr

Share

linux ,

Cara install LAMPP di Ubuntu

January 5th, 2009

Udah ada yang buat lebih bagus, langsung liat kesini aja dech

http://imamkhanafi.blogspot.com/2008/04/cara-kilat-setting-lampp.html

Share

linux , ,

Pengganti chkconfig di Ubuntu

January 5th, 2009

chkconfig adalah program untuk mematikan dan menyalakan service yang ada di RHEL, CentOS, dan Red Hat family. Sayang sekali belum ada di keluarga Debian. Untuk menginstall / uninstall service bisa dilakukan dengan 2 cara

sysv-rc-conf

Program visual berbasis console untuk mengatur service. Keterangan lengkap bisa diliat di : http://sysv-rc-conf.sourceforge.net/

Cara install :

sudo apt-get install sysv-rc-conf
sysv-rc-conf

chkconfig

Anda bisa menginstall bener2 chkconfig nya di ubuntu dengan cara

apt-get install libnewt0.51
ln -s /usr/lib/libnewt.so.0.51 /usr/lib/libnewt.so.0.50
wget http://www.tuxx-home.at/projects/chkconfig-for-debian/chkconfig_1.2.24d-1_i386.deb
dpkg --force-all -i chkconfig_1.2.24d-1_i386.deb

atau install clean dengan cara

  1. Download chkconfig-1.2.24h-7.i386.rpm from http://rpmfind.net//linux/RPM/PLD/dists/ac/ready/i386/chkconfig-1.2.24h-7.i386.html
  2. Convert rpm to deb with: sudo alien chkconfig-1.2.24h-7.i386.rpm
  3. Double-click on the deb file. This will invoke the package installer.

Referensi

Share

linux ,

Install Oracle 10 Xe dengan PHP

January 5th, 2009

Cara ganti IP di Linux

January 5th, 2009

Login SSH dengan Key

January 5th, 2009

Digunakan untuk bisa login dengan ssh ke remote client tanpa perlu memasukkan password setiap kali mao connect.

(Lakukan pada tempat tujuan login / SERVER)

/etc/ssh/sshd_config
1
2
3
4
RSAAuthentication yes
IgnoreRhosts no
RhostsRSAAuthentication yes
HostbasedAuthentication yes
/etc/rc.d/init.d/sshd restart
echo "10.0.0.1 loginnamesiclient" > /home/namaanda/.shosts

(Lakukan pada client yang mao login / CLIENT)

ssh-keygen -t rsa
(enter)(enter)
 
copy /home/source/.ssh/id_rsa.pub to (target)/home/target/.ssh/authorized_keys
ssh target@target.org
Share

linux ,

Install Postgresql di Centos 5

January 5th, 2009

Install Postgresql

Pertama anda harus login dulu sebagai root supaya bisa menjalankan perintah yum. Cara login jadi root ketik

su

Setelah berhasil login dengan su nya. Jalankan perintah ini untuk menginstall postgresql client dan server :

yum -y install postgresql postgresql-server

Ganti password default

Proses ini adalah hal yang sangat penting. Jangan lupa ganti password default, karena defaultnya postgres itu bisa di akses tanpa password.

Sebelum bisa ganti password, kita harus nyalakan dulu service nya.

/etc/init.d/postgresql start

setelah itu ketik code seperti di bawah ini, ganti dengan password anda

psql
=# CREATE USER username WITH PASSWORD '****';

Setting cara autentifikasi

Ketik baris di bawah ini untuk mengganti setting autentikasi pada postgresql

vi /var/lib/pgsql/data/pg_hba.conf

Cari baris di bawah ini

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          ident sameuser
# IPv6 local connections:
host    all         all         ::1/128               ident sameuser

dan rubah menjadi :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
# "local" is for Unix domain socket connections only
local   all         all                               password sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          password sameuser
# IPv6 local connections:
host    all         all         ::1/128               password sameuser

Kenapa musti diganti jadi password? Soalnya kalo anda menggunakan ident, anda harus login yang sama persis dengan shell account, contoh nya, anda harus login sebagai default name POSTGRES untuk bisa login ke database. Biasanya kalo mao akses dari PHP ini bukan yang anda inginkan

Untuk bisa setting nya berlaku, anda harus restart

/etc/init.d/postgresql restart

Add sebagai service

Kalau anda mao service ini nyala setiap kali linux di nyalakan, maka anda harus add sebagai service. Ketik perintah di bawah ini

/sbin/chkconfig postgresql on

Tambah user

Untuk tambah user ketik perintah seperti di bawah ini

psql
=# CREATE USER username WITH PASSWORD '****';

Buat database baru

Ketik perintah seperti ini untuk buat database baru

psql -U username
=> CREATE DATABASE userdb;

Installing php-pgsql

Untuk bisa diakses dari PHP, anda harus menambahkan beberapa module lagi. Ketik seperti ini

yum -y install php-pgsql

Setelah itu jangan lupa restart apache nya

/etc/init.d/httpd restart

Referensi

Share

linux ,

Rsync Backup

January 5th, 2009

Saat anda mengembangkan project website yang lumayan banyak pengunjungnya, anda tidak mungkin langsung membuat code di halaman utamanya bukan, karena pasti langsung keliatan kalo ada error, dan itu sangat menganggu user. Anda mungkin mempunyai folder dengan nama anda sendiri. Saya mempergunakan nama *dev* untuk development dan *real* untuk yang bener2 diakses oleh user.

Biasa nya anda akan rutin mengcopy file dari dev ke real setiap kali anda yakin bahwa sudah tidak ada bug lagi di dev. Tetapi proses copy ini selalu berulang2 dan memakan waktu. Sehingga saya memutuskan untuk membuat suatu script untuk melakukan tugas itu. Saya hanya mencoba script ini di Linux, tapi saya rasa ada versi rsync untuk Windows.

#!/bin/sh
DAY=`date "+%Y%m%d"`
TIME=`date "+%H:%M:%S"`
echo Start backup $DAY $TIME
echo ---- Start backup $DAY $TIME >> backup.log
# First backup the old data
FOLDERTOBACKUP='real'
echo '-- Zip the old file --'
tar zcf $FOLDERTOBACKUP$DAY.tar.gz $FOLDERTOBACKUP
echo Done!
# Do the backup
SOURCE='dev/'
TARGET='real'
OPTS="-av
--delete
--exclude=application/config
--exclude=application/admin/config
--exclude=admin/controllers/login.php
--exclude=cron_*.php
"
echo "-- Copy file --"
echo Copy Options : $OPTS
rsync $OPTS $SOURCE $TARGET >> backup.log
echo Done!
# End Backup
TIME=`date "+%H:%M:%S"`
echo End backup $DAY $TIME
echo ---- End backup $DAY $TIME >> backup.log

Code di atas untuk pertama mengkompresi dulu semua file yang ada di *real* (jaga2 kalo ada masalah dengan pemindahan sistem, tinggal di extract ulang aja). Lalu lakukan sync (penyamaan data) dari dev ke real. Hebat nya rsync ini, anda engga perlu mengcopy semua file. Hanya file yang dibutuhkan aja yang dipindahin. Saya akan jelasin option2 simple nya.

  1. -a digunakan untuk *archive*, ini kumpulan dari banyak perintah, yang berarti “buatlah copy yang hampir sama persis dengan aslinya”
  2. -v adalah singkatan dari *verbose*. Yang artinya kasih keterangan lebih detail. Program akan memberikan informasi file mana aja yang di delete, dan yang di copy. Semua informasi tersebut akan dicopy ke log file
  3. -delete dipergunakan untuk menghapus file2 yang hilang dari dev.
  4. -exlcude dipergunakan untuk tidak memasukan file2 yang ada dengan pattern ini. Engga perlu tulis direktori lengkap nya. Hanya tulis pattern nya saja.

Satu lagi yang hebat dari rsync adalah dia Remote Sync. Jadi sebenernya diciptakan untuk bisa backup remote. Anda bisa akses computer laen dengan ganti source dan targetnya di bagian ini :

SOURCE='dev/'
TARGET='real'

contoh akses ke server laen:

TARGET='[email protected]:/path/to/directory'

dan itu juga bisa diterapkan kepada sourcenya.
Sekian tutorial dari saya, sampai ketemu di tutorial selanjutnya.

Referensi

Share

linux , ,

Switch to our mobile site