Kamis, 21 Oktober 2010

Menggunakan Modem Sierra 885 Di Linux

Tutorial ini akan membahas cara melakukan koneksi ke internet dengan menggunakan modem USB Sierra 885 dimana sistem operasi yang digunakan adalah Linux. Tutorial ini tidak spesifik untuk distro Linux tertentu dan dapat diterapkan pada distro Linux apa saja.
Software Yang Diperlukan
Berikut ini adalah daftar software yang diperlukan.
  • wvdial
  • libwvstream (dibutuhkan oleh wvdial)
  • Sierra driver *
  • Kernel source *
  • Development tools (gcc dan make) *
* Hanya diperlukan jika versi driver Sierra yang digunakan dibawah versi 1.3. Silahkan lihat bagian selanjutnya untuk mengetahui versi driver Sierra yang digunakan.
Memeriksa Versi Driver
Ketik modinfo sierra pada command line untuk mengecek versi driver.
Instal Kernel Source dan Development Tools
Instal source kernel dan development tools (seperti compiler gcc dan make) menggunakan software package manager yang disediakan distro Linux Anda. Catatan: langkah ini hanya diperlukan jika versi driver dibawah 1.3.
Instal Driver
Instal driver-nya dengan mengikuti langkah berikut ini. Catatan: langkah ini hanya diperlukan jika versi driver dibawah 1.3.
  • Download driver di sini. Pilih yang sesuai dengan versi kernel Anda.
  • Jika versi kernel Anda adalah 2.6.22 atau lebih rendah, Anda bisa membaca artikel ini.
  • Ketik perintah berikut sebagai user root untuk meng-compile dan menginstal driver.

    tar -xvf v1.7.30_kernel-2.6.25.serial.tar
    cd kernel-2.6.25
    make
    make install
Instal wvdial
Setelah itu, Anda bisa menginstal wvdial menggunakan software package manager yang disediakan distro Linux Anda.
Jalankan wvdialconf
Setelah wvdial diinstal Anda bisa menjalankan perintah wvdialconf dari command line. Anda akan melihat potongan pesan seperti berikut ini.
Modem found on /dev/ttyUSB3
Itu artinya modem terdeteksi sebagai /dev/ttyUSB3.
Edit /etc/wvdial.conf
Berdasarkan informasi di atas kita bisa meng-edit file wvdial.conf dengan mengetik vi /etc/wvdial.conf dari command line.
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","APN"
Modem Type = USB Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB3
Username = username
Password = password
Baud = 460800
Ubah APN, username, dan password sesuai setting dari internet provider Anda. Kita juga bisa lihat di bagian Modem. Isi dengan /dev/ttyUSB3 yang merupakan nama device dari modem yang terdeteksi.
Jalankan wvdial
Setelah selesai meng-edit file, Anda bisa menjalankan program wvdial dengan mengetik wvdial dari command line. Perhatikan output yang bertuliskan Primary dan Secondary DNS. Catat alamat IP-nya karena kita akan menggunakannya nanti. Catatan: untuk keluar dari program wvdial atau melakukan disconnect kita bisa menekan Ctrl + C.
Edit /etc/resolv.conf
Berdasarkan alamat IP Primary dan Secondary DNS yang kita dapatkan dari bagian sebelumnya, kita bisa meng-edit file resolv.conf dengan mengetik vi /etc/wvdial.conf dari command line. Ini adalah contohnya
nameserver 10.0.18.38
nameserver 10.0.18.42
Sekarang kita sudah terkoneksi dengan internet.

Berinternet dengan WVDIAL

Masih banyak pengguna komputer di Indonesia yang menggunakan modem untuk terhubung ke Internet. Oleh karena itu pada tulisan kali ini, kita akan membahas sebuah aplikasi yang sangat berguna untuk melakukan koneksi Internet secara dial-up yaitu Wvdial.

Apa itu Wvdial ?

Wvdial adalah sebuah pendial PPP cerdas yang dibuat oleh WorldVisions, yang berarti ia akan mendial modem dan memulai PPP (Point to Point Protocol) untuk terhubung ke Internet.

Instalasi Wvdial

Sebelum anda menginstalasi wvdial, anda terlebih dulu harus menginstalasi program pppd yang biasanya ada pada CD distro Linux anda.

Kemudian anda baru dapat menginstalasi program wvdial. Jika anda belum memiliki program wvdial, anda dapat memperoleh versi RPM-nya di ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/wvdial-1.41-16.i386.rpm

Setelah anda mendownloadnya, anda kemudian dapat menginstalasinya :

su
password :

# rpm -ivh wvdial-1.41.i386.rpm

Konfigurasi Wvdial

Setelah selesai menginstalasinya, kini tibalah saat yang paling mendebarkan, yaitu konfigurasi wvdial.

Hal pertama yang harus dilakukan saat konfigurasi adalah dengan menjalankan program wvdialconf, yang akan membuat file konfigurasi untuk wvdial.

Wvdialconf akan mendeteksi modem anda, baud rate maksimumnya, dan beberapa hal lain yang berguna untuk wvdial.

Untuk membuat file konfigurasi tersebut dapat dilakukan langkah berikut :

  • masuk sebagai superuser :
$ su
password :

  • jalankan wvdialconf
# wvdialconf /etc/wvdial.conf

File konfigurasi tersebut masih harus anda edit untuk mengisikan nomor telepon, nama login dan password ke ISP anda

Berikut ini adalah contoh file konfigurasi wvdial (wvdial.conf) :

[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
Phone = 1234567
Username = user
Password = user

Yang perlu anda edit hanyalah ketiga buah field yang ditulis dengan huruf tebal di atas.

Untuk memulai menjalankan wvdial, dari xterminal, berikan perintah berikut :

# wvdial

Program wvdial kemudian akan memeriksa modem anda, dan kemudian akan mendial-up ISP anda.

Tunggulah beberapa saat karena wvdial sedang melakukan negosiasi PPP, kemudian bila muncul tulisan berikut ini :

--> Starting pppd at Mon Sep 24 00:33:10 2001

maka sekarang anda telah dapat menggunakan Internet.

Kustomisasi Wvdial

Contoh konfigurasi di atas, hanya untuk satu ISP, lalu bagaimana bila saya menggunakan lebih dari satu ISP ? Itu mungkin yang akan menjadi pertanyaan anda selanjutnya.

Jangan kuatir, wvdial telah memberikan fasilitas untuk hal tersebut. Tambahkan saja baris-baris yang berisikan nomor telepon, username dan password anda untuk ISP kedua. Dengan tetap berdasarkan file konfigurasi di atas, silakan tambahkan baris-baris berikut di akhir file pertama :

[Dialer Phone1]
Phone = 7654321
Username = resu
Password = resu

[Dialer Phone2]
Phone = 7654322

Keterangan :
Pada file konfigurasi ini ditambahkan satu buah account untuk ISP lain, account ini kita beri nama Phone1. Kata setelah Dialer adalah kata bebas yang bisa anda set sesuka hati anda, namun usahakan agar kata tersebut mudah diingat. :)

Selain itu ditambahkan pula satu buah nomor telepon untuk ISP kedua.

Kini kita telah menset dua buah account ke dua ISP dengan tiga nomor telepon.

Bila anda ingin men-dialup ISP pertama, berikan saja perintah :

# wvdial

Sementara bila suatu saat, ISP pertama anda sedang down, anda dapat melakukan dial-up ke ISP kedua, dengan perintah :

# wvdial Phone1

Dan bila telepon pertama ISP kedua anda sedang sibuk atau rusak, anda dapat menggunakan telepon keduanya (bila ISP tersebut memiliki nomor telepon kedua), dengan memberikan perintah :

# wvdial Phone2

Program wvdial dapat anda akhiri sewaktu-waktu dengan menekan tombol Ctrl-C, hingga muncul tulisan sebagai berikut :

Caught signal #2! Attempting to exit gracefully...
--> Disconnecting at Mon Sep 24 00:43:46 2001


Daftar Pustaka

  • Wvdial Manual Page, bisa dilihat dengan memberikan perintah "man wvdial".
  • Wvdialconf Manual Page, bisa dilihat dengan memberikan perintah "man wvdialconf".

Konfigurasi Apache 2 untuk keperluan aplikasi webbase yang menggunakan php

Bermula dari kebiasaan membuat aplikasi webbase menggunakan php, saya sempat ketemu masalah dalam mengimplementasikan aplikasi pada slackware 12. Masalahnya ternyata slackware12 sudah memakai apache versi 2 dimana letak dan cara pengaturan file konfigurasi agak sedikit berbeda dengan apache versi 1 bawaan slackware 11.
Sebelumnya saya mohon ma'af, karena mungkin ada beberapa kata atau istilah yang saya gunakan tidak sesuai secara teknis bila dipandang dari sisi ilmiah, maklum... saya bukan jebolan TI :) hanya seorang newbie... yang mencoba sharing apa yang saya tau. Tulisan ini sekali lagi bukan untuk referensi ilmiah, jadi hanya sebuah tips untuk sekedar menjalankan apache sesuai dengan kebutuhan penulis. kali aja bisa bermanfaat bagi rekan-rekan slackers yang lain :)
Untuk tulisan pertama ini saya pengen berbagi tips untuk sekedar menjalankan apache agar bisa melakukan loading modul php yang akan diperlukan oleh aplikasi webbase yang kita buat dengan php. Tulisan berikutnya saya juga pengen berbagi tips bagaimana melakukan seting virtual host di apache 2, dan tulisan berikutnya lagi, saya juga pengen berbagi lagi tentang implementasi mod_ssl di apache agar aplikasi yang kita pasang di webserver hanya dilewatkan melalui port 443 yang terenkripsi.
Oke... mungkin ini agak panjang... jadi mohon bersabar dan semoga Anda bisa menikmati.
Pertama
Kita harus mengetahui di mana path apache yang biasa kita akses, seperti: httpd.conf, php.ini, mod_php, htdocs, error_log, rc.httpd dan [document_root] dari program kita. Kita harus paham dulu di mana letak file-file dimaksud, agar mudah bagi kita mencari penyelesaian masalah. Perbedaan di apache 2 ini dibanding apache 1 mengenai path adalah letak direktori konfigurasi di /etc/httpd dan direktori log ada di /var/log/httpd, kalau apache 1 nama direktorinya apache. Makanya kita nggak bisa main kopi paste buta dari konfigurasi apache 1 ke konfigurasi apache 2 bawaan slackware default.
Untuk kebutuhan dasar ini, kita cukup memperhatikan file /etc/httpd/httpd.conf dan /etc/httpd/php.ini
Kedua
Kita lakukan konfigurasi sesuai kebutuhan kita, yang penting apachenya bisa jalan. Pertama kita coba menjalankan service apachenya dan memastikan apakah apache default bisa jalan. Periksa di daftar proses ps axf | grep httpd bila muncul seperti ini

2755 ? Ss 0:00 /usr/sbin/httpd -k start
2787 ? S 0:00 \_ /usr/sbin/httpd -k start
2788 ? S 0:00 \_ /usr/sbin/httpd -k start
2789 ? S 0:00 \_ /usr/sbin/httpd -k start
2790 ? S 0:00 \_ /usr/sbin/httpd -k start
2791 ? S 0:00 \_ /usr/sbin/httpd -k start
3574 pts/3 S+ 0:00 | \_ grep httpd

artinya apachenya udah jalan, dan coba akses dari web browser dengan alamat http://localhost, bila ada tulisan it's work, berarti apachenya berjalan normal.
Bila informasinya jauh berbeda dengan keterengan di atas, berarti, ada masalah dalam konfigurasi apache, yang biasanya service apache belum pernah dijalankan atau gagal dijalankan. Coba lakukan restart apache dengan perintah /etc/rc.d/rc.httpd start, namun sebelumnya pastikan file startup tersebut mempunyai permission untuk eksekusi atau 755 atau rwxr-xr-x.
Oke lanjut...
Ketiga
Kita tentukan document_root dari aplikasi yang kita buat. Karena kita baru membahas kebutuhan dasar, maka kita pakai direktori defaultnya apache saja. Sebetulnya pada saat melakukan tes di tahap kedua tadi, Kita sedang mengakses direktori /srv/httpd/htdocs, ini pasti berbeda dari apache versi 1 yang dulu, namun kita tidak merasakan perbedaan tersebut karena direktori /srv/httpd merupakan simbolic link dari /var/www. Didalam direktori htdocs tersebut terdapat file-file manual dari apache dan file testing.
Karena kita belum membahas virtual host, sebaiknya kita manfaatkan direktori htdocs tersebut. Sebelum kita hapus atau kita ganti file-file di dalam direktori tersebut, sebaiknya kita lakukan backup dengan cara mengkopi direktorinya dengan nama lain cp -r /var/www/htdocs /var/www/old_htdocs. Sekarang kita bisa hapus semua file dalam direktori /var/www/htdocs tersebut, atau hapus direktori htdocs tersebut beserta isinya rm -rf /var/www/htdocs dan buat direktori di dalam home kita misal mkdir /home/denic/test, lalu buat symbolic link ln -s /home/denic/test /var/www/htdocs, namun pastikan permission direktori tersebut bisa dibaca oleh daemon apache.
Coba buat file php untuk melakukan testing apakah modul php bisa dijalankan, buat file seperti ini:

<?
phpinfo();
?>

dan beri nama index.php
Kemudian akses dari browser dengan alamat “localhost”, bila kita belum pernah mengubah konfigurasi apache sebelumnya, biasanya hanya akan ditampilkan daftar file index.php, bukan hasil parsing index.php. Saatnya kita perhatikan tahap keempat
Keempat
Lakukan edit file konfigurasi apache di /etc/httpd/httpd.conf, perhatikan beberapa baris berikut:
baris ke 225

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

tambahkan “index.php” supaya browser langsung membaca file php utama kita

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

Hilangkan tanda pagar di depan baris yang menyatakan include mod_php (biasanya di baris ke 472) menjadi seperti ini

Include /etc/httpd/mod_php.conf

Simpan file konfigurasi tersebut, lalu jalankan atau reload kembali service apachenya dengan perintah /etc/rc.d/rc.httpd restart. Coba akses lagi localhost dari browser, pengalaman saya browser hanya menampilkan halaman putih tanpa tulisan apa-apa.
Solusinya...
Edit file /etc/httpd/php.ini di baris ke 131 ganti tulisan “off” menjadi “on”

short_open_tag = on

dan restart service apache kembali (pastikan setelah merubah file konfigurasi apache, jangan lupa melakukan restart service apachenya).
atau...
tambahkan pada script php kita kata “php” setelah tag <? menjadi seperti ini <?php.
Setelah itu... coba lagi akses dari web browser alamat “localhost”, pengalaman saya, biasanya muncul informasi php yang dimaksud, yang artinya modul phpnya sudah berhasil diload dan kita siap membuat aplikasi webbase menggunakan script php.

Konfigurasi Apache

Untuk menginstall Webserver sebenarnya cukup dibutuhkan Apache Web Server. NAmun untuk membuat website yang dinamis, perlu komponen PHP dan MySQL.
Konfigurasi apache ada di httpd.conf , namun ada beberapa versi apache yang konfigurasinya di apache22.conf (httpd.conf-nya melompong)
Beberapa section dari httpd.conf in yang penting adalah:
Listen [IP Address]:[Port]
Dengan konfigurasi ini, apache hanya akan menerima request ke IP ini dan dari Port tertentu
Listen 80
Artinya apache akan menerima dan dari port 80 saja, kebanyakan browser memang menjadikan port 80 sebagai default
LoadModule [PathModule]
Modul-modul inilah yang akan di-load apache, termasuk modul PHP, jika kita menjalankan PHP pastikan modul ini telah ada di httpd.conf

ServerName terminal.arc.itb.ac.id
Selanjutnya, kita mendefinisikan nama web kita disini
DocumentRoot /usr/local/www/data/coba
Konfigurasi ini untuk mendefiniskan dimana kita akan
Terkadang ketika kita membuka website, kita dapat membuka direktori-direktori yang bahkan tidak berisi file html. Mungkin direktori tersebut adalah direktori konfigurasi yang sangat FORBIDDEN!!!. JAdi diperlukan konfigurasi untuk akses direktori tersebut
<Directory “/tempat/direktori”>
Options
AllowOverride
Order
Allow from
</Directory>
File konfigurasi diatas, sama dengan file .htaccess, dengan konfigurasi
AccessFileName .htaccess
Jadi apabila di suatu direktori ada file .htaccess , maka apache akan membaca file ini terlebih dahulu untuk melihat permission dari direktori tersebut
Virtual Host
Terkadang karena alasan alokasi IP yang sedikit, Virtual Host menjadi solusi untuk menjalankan webhosting. JAdi beberapa alamat domain dapat hanya memakai satu alokasi IP. Tentunya dengan menjalankan virtual host, tidak lupa setting di DNS server-nya ,
misal
Saya ingin mempunyai web station.arc.itb.ac.id dan terminal.arc.itb.ac.id di IP 167.205.3.14. JAdi termasuk dalam kategori name-based virtual-host
berikut contoh konfigurasi zone namedb di DNS Server ns.arc.itb.ac.id
station IN A 167.205.3.14
…
terminal IN CNAME station.arc.itb.ac.id.
LAlu untuk file konfigurasi, karena setting virtual host ada di luar httpd.conf, yaitu di ./extra/httpd-vhost.conf. Settingnya, kira-kira seperti ini
# Use name-based virtual hosting.
#
NameVirtualHost 167.205.3.14:80
<VirtualHost 167.205.3.14>
ServerAdmin imam@arc.itb.ac.id #alamat email si empunya web
DocumentRoot /usr/local/www/data/wordpress #Tempat dimana web ditaruh (Wajib!!)
ServerName station.arc.itb.ac.id # Nama Server (Wajib!!!)
ServerAlias www.station.arc.itb.ac.id
ErrorLog “/var/log/station.arc.itb.ac.id-error_log”
</VirtualHost>
<VirtualHost 167.205.3.14>
ServerAdmin imam@arc.itb.ac.id #Kurang lebih sama dengan contoh diatas
DocumentRoot /usr/local/www/data/coba
ServerName terminal.arc.itb.ac.id
ServerAlias www.terminal.arc.itb.ac.id
ErrorLog “terminal.arc.itb.ac.id-error_log”
</VirtualHost>
Include file konfigurasi di htpd.conf dapat diakses pula di luar file ini, dengan melihat file yang di-include pada konfigurasi
….
# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
…
Log.
File log dapat didefiniskan di file konfigurasi dengan konfigurasi
ErrorLog /var/log/httpd-error.log