Friday, June 16, 2006

Linux Oh..my Linux

Pertama kali kenal linux kayaknya emang ribet banget,..apalagi yang namanya console bagi yang baru2 mencobanya pasti sangat membosankan rasanya gatel tangan ini pengen megang Miekocok GUI,..ternyata setelah dilihat, dipandang, dan diperhatikan ternyata linux itu sangat simple dan mengasyikkan, tak kenal maka tak sayang itulah pepatah yang cocok, kenapa ya nggak dari dulu gue mengagumi linux ini sebeeell....jadinya ketinggalan deh dari orang lain hehe... :), tapi nggak papa lah yang penting dah kenal dan mungkin untuk kedepan gue pengen deketin linux lebih deket lagi,...selamat berjuang bro...semoga linux Indonesia makin maju dan berjaya,..Merdekaaaaaaaa........
Membangun SMS Gateway dengan Gammu dan MySql
Saya sangat bersyukur sekali, karena sudah 1 tahun saya mencoba membangun SMS Gateway menggunakan gnokii, kannel,etc, tapi saya selalu menemukan masalah, dan sekarang alhamdullilah telah berhasil membangun SMS Gateway menggunakan Gammu yang saya rasa cukup stabil. Handphone yang telah berhasil saya coba adalah Nokia 3310 dan Siemens C35i. Distro linux yang saya gunakan untuk membangun SMS Gateway ini adalah Trustix 3.0. Sebelum installasi kita lakukan silahkan anda baca-baca info tentang Gammu di http://www.mwiacek.com/gsm/soft/gammu.html

Gimana!! udah selesai bacanya?? Oke..lansung saja dan tidak banyak basa-basi, mari kita mulai saja mengumpulkan kebutuhan untuk membangun SMS Gateway menggunakan Gammu ini.

1. Gammu.tar.gz
Dapat anda download di : http://www.mwiacek.com/zips/gsm/gammu/gammu.tar.gz
atau # wget http://www.mwiacek.com/zips/gsm/gammu/gammu.tar.gz

2. Web Server (Jika anda sudah punya webserver, abaikan saja no 2 ini, kalau belum terpaksa anda harus install dulu apache,myslq,php)

3. Handphone Nokia 3310 atau Siemens C35i, untuk support handphone lainnya silahkan baca lagi http://www.mwiacek.com/gsm/soft/gammu.html

Gammu support dengan berbagai merek handphone kok lihat ini :
Gammu currently supports:
majority of Nokia phones from DCT3 generation with Nokia operating system - for example Nokia 3210, 3310, 3315, 3410, 5110, 5130, 6110, 6130, 6150, 6210, 7110, 8210
majority of Nokia phones from DCT4 generation with Nokia operating system - for example Nokia 3100, 3510, 3510i, 6220, 6230, 6310, 6310i, 6510, 6610, 7210, 8310
many AT devices - for example many Siemens, Sony Ericsson, Nokia, Alcatel models
Alcatel from BE5/BF5/BH4 generation - for example 501, 511, 512
some functions with OBEX and Symbian devices

4. Kabel Serial untuk handphone

Jika anda sudah berhasil mendonwload gammu.tar.gz, silahkan di extract
#tar xvfz gammu.tar.gz

Setelah anda extract secara otomatis anda akan mendapati folder gammu-1.05.00, sekarang masuklah ke folder tersebut

#cd gammu-1.05.00

Sebelum anda menginstall biasakan membaca README, INSTALL, etc.
#./configure
#make
Disini perlu anda perhatikan apakah ada yang error atau tidak jika ada error!, berarti library mysql anda masih kurang lengkap, biasanya error yang ditemui adalah "lssl" sering tidak ditemukan ketika melakukan "make" atau database mysql tidak support dengan gammu-nya.
(Solusi-nya coba install ulang mysql-nya atau lengkapi library yang dibutuhkan)
#make shared
#make install
#make installshared

Selanjutnya anda perlu meng-upgrade "library"
# vi /etc/ld.so.conf
Tambahkan link library dengan mengetik /usr/local/lib pada file ld.so.conf, selanjutnya lakukan upgrade library dengan mengetik
#/sbin/ldconfig

Note : Jika anda tidak menemukan error apa2 sampai tahap ini berarti anda sudah berhasil mengintall Gammu SMS Gateway

Sekarang coba masuk lagi ke folder dimana anda meng-extract gammu.tar.gz dan copy-lah file yang ada pada folder /docs/example/config/ disitu anda akan menemukan 3 buah file dengan nama gammurc, mysql.sql, smsdrc lalu file gammurc dan smsdrc anda copy-kan ke folder /etc

#cp gammurc smsdrc /etc/

Selanjutnya cari editlah file tersebut seperti ini :

[gammu]
port = /dev/ttyS0 #Jika anda memakai COM2 ganti dengan ttyS1
#model = 6110 #model handphone-nya anda abaikan saja, karena kalau diaktifin sering timbul masalah
connection = fbus #Kalau anda pakai hp Nokia connection-nya "fbus" jika anda memakai hp Siemens ganti "fbus" menjadi "at19200"
#synchronizetime = yes
#logfile = gammulog
#logformat = textall
#use_locking = yes
#gammuloc = locfile
#startinfo = yes
#gammucoding = utf8
#rsslevel = teststable #usephonedb = yes

Jika anda masih bingung, didalam file gammurc tersebut sudah ada petunjuk pemakaian lihat bagian bawah-nya.
Jika anda malas untuk mengedit file-nya, anda juga bisa mendapatkan file-nya di www.posmetropadang.com/gammu/gammurc

Sekarang pastikan kabel data dan handphone anda sudah tersambung ke port COM1 pada komputer anda, selanjutnya anda tinggal ketik

#gammu --identify

Saya harap anda dapat melihat keluaran seperti dibawah ini :

Manufacturer : Nokia
Model : 3310 (NHM-5)
Firmware : 06.33 F (28-11-03)
Hardware : 1012
IMEI : 350835608671298
Original IMEI : 350835608671298
Manufactured : 0802
Product code : 0505201
Simlock 1 : MCC+MNC 00101, opened, user , counter 0
Simlock 2 : GID1 0000, opened, factory, counter 0
Simlock 3 : GID2 0000, opened, factory, counter 0
Simlock 4 : MSIN 0000000001, opened, factory, counter 0
MSID : 830d50880846870ebedd126096
MCU checksum : 9C79
DSP ROM : 6

Jika sudah ada koneksi seperti diatas berarti gammu sudah bisa mengenali handphone anda dan kita sudah bisa melanjutkan ke step yang lainnya.

Nah sekarang kita tinggal membuat, bagaimana semua sms yang masuk lansung tersimpan ke database mysql dan dapat ditampilkan ke website dengan memakai php scripts.

Oke lanjut bro... kerjaan kita sudah hampir selesai, mungkin ada kopi atau rokok yang bisa disruputt dulu hehe...??

Sekarang coba anda buka file smsdrc yang telah anda copy-kan ke folder /etc tadi

#vi /etc/smsdrc
bagian dibawah ini biarkan saja apa adanya
[smsd]
PIN = 1234
logfile = smsdlog
commtimeout = 1
sendtimeout = 10

carilah dan edit bagian dibawah ini sesuai dengan keadaan mysql anda

# ------------------------- SETTINGS FOR --smsd MYSQL ---------------------------
user = root
password = password_mysql_anda
pc = localhost
database = nama_database

Note : Selain bagian yang saya sebutkan diatas mohon anda kasih tanda "#" karena yang kita butuhkan disini hanya bagian seperti yang saya sebutkan diatas saja, guna untuk koneksi ke database mysql-nya.

Sekarang anda masuk ke directory /docs/example/config/ terdapat file ‘mysql.sql’ , yang adalah structure table yang digunakan, anda tinggal memasukkannya di MySQL database anda.

Buat database sms
#mysqladmin –u root –p create sms

Buat table gammu dari file ‘mysql.sql’
#mysql –u root –p < mysql.sql

Atau dengan cara yang lebih mudah, anda dapat membuat database dan membuat table gammu melalui phpmyadmin http://localhost/phpmyadmin

Setelah selesai anda sudah bisa menjalankan daemon smsd-nya
#gammu --smsd MYSQL /etc/smsdrc
Log filename is "smsdlog"
Press Ctrl+C to stop the program ...

Jika keluar seperti yang diatas berarti SMS Gateway anda sudah berjalan dengan baik dan anda bisa menggunakan sesuai kebutuhan anda, dan semua sms yang ada di handphone anda akan lansung masuk kedalam database mysql.

Untuk tahap selanjutnya anda tinggal menampilkan sms anda ke web menggunakan php scripts, php scripts-nya bisa anda download di
http://posmetropadang.com/gammu/sms.zip

Anda perlu sedikit mengedit sms.php-nya sesuai dengan keadaan server database anda.

Sekarang anda bisa membuka sms lewat browser kesayangan anda dengan mengetik http://localhost/sms.php

Nah sekarang apa yang harus anda lakukan?? yang perlu anda lakukan adalah menjalan service daemon smsd secara otomatis ketika komputer di restart.

Buatlah file dengan nama gammu.sh dan simpanlah dalam direktori /usr/local/bin/
#cd /usr/local/bin/
#vi gammu.sh

Isinya sebagai berikut :

#!/bin/sh
export LANG=da_DK
/usr/local/bin/gammu --smsd MYSQL /etc/smsdrc

Setelah itu editlah file /etc/inittab anda
#vi /etc/inittab

Tambahkan baris dibawah ini pada inittab anda

GA:345:respawn:/usr/local/bin/gammu.sh

Wah... cukup panjang juga, hmmm mudah-mudahan tidak ada masalah ya... sekarang habiskan kopi anda, sampai disini anda sudah selesai membangun SMS Gateway menggunakan Gammu. Jika ada kritikan dan pertanyaan jangan sungkan kontak saya.

e-mail : yonaldi@gmail.com
Wrote : Yonaldi
 

Setting dan Konfigurasi vsftpd.conf
Anda ingin membangun FTP Server dengan vsftpd? sebelumnya mohon maaf karena disini saya tidak menjelaskan bagaimana cara meng-install vsftpd, mungkin untuk installasi nanti kita bahas pada tutorial berikut-nya, konfigurasi dibawah ini adalah konfigurasi vsftpd yang ada di server saya Trustix 3.0 dan konfigurasi yang ada dibawah, seorang user bisa meng-upload data tapi tidak diizinkan untuk menghapus file atau folder yang telah diupload-nya tapi jika anda berkeinginan sebaliknya silahkan anda beri tanda comment "#" pada bagian "cmds_allowed"

Untuk tahap awal, silahkan anda buat "group" pada linuxbox anda :
#groupadd ftpgroup

Dan satu folder tujuan untuk user ftp, misal kita bikin folder di /home/ :
#cd /home/
#mkdir ftp-folder
#chmod 777 ftp-folder/

selanjutnya buatlah user untuk ftp anda :
#adduser -d /home/ftp-folder/ -s /sbin/nologin -g ftpgroup ftpuser

Silahkan anda beri password ftpuser anda
#passwd ftpuser

Selanjutnya gantilah kepemilikan folder /home/ftp-folder
#chown -R ftpuser.ftpgroup /home/ftp-folder/


Sekarang silahkan anda copy-kan baris dibawah ini pada vsftpd.conf anda, yang berada pada /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=222
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd
xferlog_std_format=YES
nopriv_user=ftp
ftpd_banner=Trustix FTP Server (TSL)
chroot_local_user=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
secure_chroot_dir=/var/lib/vsftp/chroot
cmds_allowed=ABOR,CWD,LIST,USER,PASS,PASV,QUIT,PWD,STOR,NLST,TYPE,SIZE


Jika ada kekeliruan dalam penulisan dan pengetikan mohon di koreksi kembali, terima kasih.
 

Membangun IRC server dengan ircd-hybrid-7.1.3
Semoga tutorial ini berguna bagi rekan2 yang membutuhkan bagi yang sudah ahli dalam bidang ini mohon koreksi dan perbaikan, bagi pemula ini sudah lebih dari cukup untuk membangun sebuah Irc server local, dan mengetahui bagaimana sih sebenarnya server irc itu bekerja, hmm....... kayaknya lansung saja ya :) terlalu banyak ngomong hihi.

Pertama sekali kumpulkan dulu semua bebutuhan yang diperlukan untuk menginstall IRC server ini :
1. ircd-hybrid-7.1.3 bisa didapatkan di http://easynews.dl.sourceforge.net/sourceforge/ircd-hybrid/ircd-hybrid-7.1.3.tgz
atau bisa juga dengan

#wget http://easynews.dl.sourceforge.net/sourceforge/ircd-hybrid/ircd-hybrid-7.1.3.tgz

Lansung saja ya, jika file-nya sudah didapatkan silahkan upload ke folder tujuan anda setelah itu lansung di extract, yang pasti anda login sebagai root.
#tar xvfz ircd-hybrid-7.1.3.tgz
#cd ircd-hybrid-7.1.3
#./configure

Note : harap diperhatikan apakah ada yang error pas ./configure kalo ada error-nya biasanya sih yang dibutuhkan disini adalah tcl8.4.9-src.tar, jika ada error silahkan anda install dulu tcl8.4.9. setelah itu lanjutkan lagi ./configure

#make
#make install

Jika tidak ada keluaran error apa2 berarti installasi irc server anda berhasil dan untuk selanjutnya tinggal configurasi ircd.conf, biasa-nya semua file yang sudah anda install berada :
/usr/local/ircd/

Sekarang masuk ke /usr/local/ircd
#cd /usr/local/ircd
#cd etc/
root@trustix /usr/local/ircd/etc# ls -la
total 56
drwx------ 2 ircd ircd 4096 Mar 28 13:41 ./
drwxr-xr-x 9 ircd ircd 4096 Mar 27 20:52 ../
-rw------- 1 ircd ircd 0 Mar 27 20:25 cresv.conf
-rw------- 1 ircd ircd 0 Mar 27 20:25 dline.conf
-rw-r--r-- 1 ircd ircd 30778 Mar 27 20:25 example.conf
-rw------- 1 ircd ircd 58 Mar 27 20:25 ircd.motd
-rw------- 1 ircd ircd 5 Mar 28 13:41 ircd.pid
-rw------- 1 ircd ircd 0 Mar 27 20:25 kline.conf
-rw------- 1 ircd ircd 0 Mar 28 14:04 links.txt
-rw------- 1 ircd ircd 0 Mar 27 20:25 nresv.conf
-rw------- 1 ircd ircd 0 Mar 27 20:25 xline.conf

Coba anda lihat di folder etc ada file example.conf, sekarang anda abaikan saja, dan selanjutnya download saja file configurasi yang sudah jadi di :
#wget www.posmetropadang.com/va236904-ircd/ircd.conf

IP (192.168.1.108) yang ada pada file ircd.conf diganti dengan IP irc server anda sendiri.

Sekarang bikin group dan user untuk menjalankan service ircd
#groupadd ircd
#adduser -d /usr/local/ircd -g ircd ircd
#passwd ircd

Sekarang keluar dari root dan loginlah sebagai user ircd dan jalan service ircd yang ada di /usr/local/ircd/bin
#cd bin/
#./ircd
ircd: version hybrid-7.1.3
ircd: pid 1931
ircd: running in background mode from /usr/local/ircd

Kalau semua-nya anda configurasi dengan benar setelah anda ketik ./ircd anda akan mendapatkan keluaran seperti yang diatas.

Sekarang coba anda test di client dan bukalah program mIRC anda lalu ketikkan
/server 192.168.1.108

Jika ada koneksi berarti irc server anda sudah bekerja dengan benar.

Selamat mencoba semoga tutorial ini bermanfaat.

 

Grabbing Informasi Cuaca dari Situs BMG
Sebuah aplikasi ramalan cuaca dapat dibuat dengan mengambil data dari situs lain, disini penulis mencoba mangambil lansung dari Situs BMG Indonesia.
Untuk mengakses data dari situs lain digunakan fungsi fopen().

Semoga dapat bermanfaat !.

<div align="center">
<center>
<table border="1" width="40%" bordercolorlight="#000000" cellpadding="2" bordercolordark="#000000">
<tr><td width="100%" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p align="center"><font size="5"><b>Prakiraan Cuaca di Indonesia</b></font><br>
( Source: BMG <a href="http://www.bmg.go.id" target="_blank">www.bmg.go.id</a>)<hr>
<form method="get" action="<?=$php_self?>">
<p align="center">
<input type="hidden" name="BMG" size="1" value="Submit">
<select size="1" name="weather_bmg" onchange=javascript:this.form.submit();">
<option value="null">----SUMATRA----</option>
<option value="bandaaceh">Banda Aceh</option>
<option value="medan">Medan</option>
<option value="pekanbaru">Pakanbaru</option>
<option value="padang">Padang</option>
<option value="jambi">Jambi</option>
<option value="palembang">Palembang</option>
<option value="bengkulu">Bengkulu</option>
<option value="lampung">Lampung</option>

<option value="null">-----JAWA------</option>
<option value="jakarta">Jakarta</option>
<option value="bandung">Bandung</option>
<option value="semarang">Semarang</option>
<option value="yogjakarta">yogyakarta</option>
<option value="surabaya">Surabaya</option>

<option value="null">-NUSA TENGGARA-</option>
<option value="denpasar">Denpasar</option>
<option value="sumbawabesar">Sumbawa Besar</option>
<option value="mataram">Mataram</option>
<option value="kupang">Kupang</option>

<option value="null">---KALIMANTAN--</option>
<option value="pontianak">Pontianak</option>
<option value="samarinda">Samarinda</option>
<option value="palangkaraya">Palangkaraya</option>
<option value="banjarmasin">Banjarmasin</option>

<option value="null">----SULAWESI---</option>
<option value="manado">Manado</option>
<option value="palu">Palu</option>
<option value="makasar">Makasar</option>
<option value="kendari">Kendari</option>

<option value="null">-----MALUKU----</option>
<option value="ternate">Ternate</option>
<option value="ambon">Ambon</option>

<option value="null">---IRIAN JAYA--</option>
<option value="sorong">Sorong</option>
<option value="biak">Biak</option>
<option value="jayapura">Jayapura</option>
<option value="merauke">Merauke</option>
</select><br>
</form>

<?

// Baris ini adalah untuk pilihan default pertama kali adalah JAKARTA.
if (!isset($weather_bmg) || $weather_bmg=='null'){
$weather_bmg='jakarta';
}

// Mengambil page per nama nama kota
$fd= fread(fopen("http://meteo.bmg.go.id/aspfile/$weather_bmg.asp", "r"), 100000);


// Kondisi ini boleh tidak dipakai, karena hanya untuk mengambil baris intinya saja.
if ($fd) {
$start= strpos($fd, "<TABLE>");
$finish= strpos($fd, "</TABLE>");
$length= $finish-$start;
$code=Substr($fd, $start, $length);
}

//Baris ini adalah untuk mengganti direktory imagenya agar langsung mengambil ke situs BMG bukan kelokal.
$code = str_replace('../images/', 'http://meteo.bmg.go.id/images/', $code);

echo $code;
?>

</td></tr>
</table>
</center>
</div>

Ucapan Terima Kasih
Terima kasih..untuk Maryulis max yang telah mengajarkan saya tentang blogger, sebelumnya saya tidak terlalu paham dengan blogger ini, setelah saya mencoba dan mencobanya ternyata tidaklah sesulit yang saya bayangkan, berkat asuhan Maryulis Max sekarang saya sudah bisa membangun blog sendiri, sekali lagi terima kasih lho...
Menginstall webmin di Linux

Contributed by: anaconda
Apa itu webmin.... Webmin sendiri adalah fasilitas administrasi via website, hampir semua jenis servis, dan berbagai customasi dapat dilakukan oleh webmin. Tentunya : webmin mempermudah mengubah konfigurasi / memanajemen linux yang dulunya dilakukan via konsole melalui ssh.
Menginstall webmin merupakan hal yang mudah, walaupun tidak terlalu mudah juga...
 

Prasyaratnya : anda memiliki account root.

selanjutnya, ambil file webmin dari situsnya webmin.com di mana versi terbaru pada saat tulisan ini dibuat adalah webmin-1.080. Jika ingin versi yang lebih baru silahkan Anda download pada situs project webmin sendiri http://webmin.com/

Lalu, untuk menginstall, taruhlah webmin-1.080.tar.gz pada sebuah folder (terserah),

disarankan sih /usr/share/.
Pertama, kita copy file webmin ini ke /usr/share dg command berikut:

# cp webmin* /usr/share/
Lalu masuk folder /usr/share dg command berikut:
# cd /usr/share
nah selanjutnya kita mengekstrak webmin dengan cara :
# tar xvfz webmin-1.080.tar.gz
tunggu sebentar, akan terbentuk direktori webmin-1.080
marilah kita pindah ke direktori itu dengan
# cd webmin-1.080
lanjutnya juga mudah.... jalankan setup dengan :
# ./setup.sh

konfigurasikan letak folder setting (default /etc/webmin-1.080), port terkoneksi (standar : 10000), penggunaan ssl (pasang saja yes), dan nama domain/ip yang dapat diakses (secara default dikenali webmin), satu lagi adalah user dan password-nya.
setelah itu, webmin akan menanyakan apakah service akan dijalankan secara otomatis setiap kali bootup ? jawab saja ya !!!
 

tahapan selanjutnya kita login ke webminnya :buka webbrowser, ketikkan

https://ipaddressdimaksud:10000

SELESAI ...............

Sharing Internet Standar Dengan Iptables
Membangun internet sharing menggunakan Iptables dibawah ini adalah salah satu contoh script Iptables dibuat menggunakan "Iptables generator" jika anda ingin membuat script iptables sendiri menggunakan generator dapat anda kunjungi pada situs http://iptables-script.dk/index1.php #!/bin/sh # iptables script generator: V0.1-2002 # Comes with no warranty! # e-mail: michael@1go.dk # Diable forwarding echo 0 > /proc/sys/net/ipv4/ip_forward LAN_IP_NET='192.168.0.1/24' LAN_NIC='eth1' WAN_IP='202.15X.XX.XX' WAN_NIC='eth0' # load some modules (if needed) modprobe ip_nat_ftp modprobe ip_conntrack_ftp # Flush iptables -t nat -F POSTROUTING iptables -t nat -F PREROUTING iptables -t nat -F OUTPUT iptables -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 21 iptables -A INPUT -j ACCEPT -p tcp --dport 110 iptables -A INPUT -j ACCEPT -p tcp --dport 25 iptables -A INPUT -j ACCEPT -p tcp --dport 22 # STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Enable forwarding echo 1 > /proc/sys/net/ipv4/ip_forward