Selasa, November 06, 2007

Menggunakan .htaccess untuk otentifikasi user pada situs web

.htaccess adalah sebuah file konfigurasi pada Apache yang mengatur hal-hal yang berkaitan dengan direktori di mana file .htaccess tersebut berada.
.htaccess dapat digunakan untuk melakukan pembatasan akses pada sebuah direktori. Dengan menggunakan .htaccess, maka sebelum user dapat mengakses isi direktori tersebut, ia harus melakukan proses otentifikasi dengan memasukkan nama user dan password. Nama user dan password tersebut disimpan pada sebuah file tersendiri yang akan dirujuk oleh apache.

Jadi pertama kita harus membuat user dan password dahulu dengan menggunakan perintah htpasswd
$ sudo htpasswd -c /etc/apache2/apache-users admin
New password:

Re-type new password:

Perintah di atas akan membuat user admin dalam file /etc/apache2/apache-users.
Opsi -c (create) di atas hanya diperlukan ketika kita pertama kali membuat file password.

Setelah itu kita harus membuat file .htaccess di direktori yang akan kita lindungi.
$ sudo vim /var/www/download/.htaccess

File di atas berisi baris berikut :
AuthName "Untuk Kalangan Sendiri"
AuthType Basic
AuthUserFile /etc/apache2/apache-users
require valid-user


Pastikan file .htaccess tersebut bisa dibaca user yang menjalankan apache

Selain itu kita harus memastikan bahwa untuk situs bersangkutan, penggunaan .htaccess untuk otentifikasi diperbolehkan. Di distro Debian (distro yang lain menyesuaikan) kita harus mengedit di :
$ sudo vim /etc/apache2/sites-enabled/000-default
dan mengganti opsi pada bagian
AllowOverride None
menjadi
AllowOverride AuthConfig
dan merestart Apache

Setelah langkah di atas, bila kita mengakses http://www.situsku.com/download , maka akan muncul permintaan user dan password

Rabu, September 26, 2007

Mengatur locale di Linux Debian Etch

Locale adalah sekumpulan informasi yang digunakan kebanyakan program untuk menentukan setting spesifik berdasar negara dan bahasa. Locale dan datanya merupakan bagian dari pustaka sistem dan dapat ditemukan di /usr/share/locales pada kebanyakan sistem Linux.
Nama locale biasanya mempunyai format ab_CD di mana ab adalah kode bahasa yang terdiri dari 2 (atau 3) huruf sebagaimana dispesifikasikan di ISO-639 dan CD adalah kode negara yang terdiri dari 2 huruf seperti dispesifikasikan di ISO-3166.

Di Debian, kita dapat mengatur locale ini dengan mengetikkan perintah
# dpkg-reconfigure locales
Perintah di atas akan mengatur locale default untuk sistem berjalan

Berikut contoh ketika locale diset ke en_EN :
# locale
LANG=en_US
LANGUAGE=en_ID:en_US:en_GB:en
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
# date
Wed Sep 26 14:50:15 WIT 2007


Ketika diset ke id_ID :
# locale
LANG=id_ID
LANGUAGE=en_ID:en_US:en_GB:en
LC_CTYPE="id_ID"
LC_NUMERIC="id_ID"
LC_TIME="id_ID"
LC_COLLATE="id_ID"
LC_MONETARY="id_ID"
LC_MESSAGES="id_ID"
LC_PAPER="id_ID"
LC_NAME="id_ID"
LC_ADDRESS="id_ID"
LC_TELEPHONE="id_ID"
LC_MEASUREMENT="id_ID"
LC_IDENTIFICATION="id_ID"
LC_ALL=
# date
Rab Sep 26 14:49:08 WIT 2007


Yang juga perlu diperhatikan adalah masing-masing user juga dapat mengatur locale-nya sendiri dengan mengetikkan perintah berikut :
$
export LANG="de_DE"
perintah di atas juga dapat dimasukkan ke .bashrc sehingga otomatis dijalankan ketika user login

Senin, September 10, 2007

Install MRTG di etch

Untuk install paket mrtg kita tinggal ketikkan
apt-get install mrtg

paket mrtg sudah membawa /etc/cron.d/mrtg, sehingga yang perlu kita lakukan tinggal

cp /etc/mrtg.cfg /etc/mrtg.cfg.old
cfgmaker passpublic@localhost > /etc/mrtg.cfg
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

dengan passpublic adalah community (password) dari SNMP yang diset di /etc/snmp/snmpd.conf.
Jadi sebelum kita install mrtg, pastikan paket snmpd telah terinstall dan berjalan

Halaman MRTG sudah bisa kita akses melalui http://alamat_ip/mrtg

Supaya tampilan grafik mengunakan satuan bits, maka kita perlu meng-enable option
Options[_]: growright, bits
Opsi growright di atas bermakna bahwa waktu yang lebih dulu adalah di sebelah kiri, sehingga seakan-akan grafiknya tumbuh ke arah kanan.

Catatan :
untuk mengecek apakah SNMP bekerja dengan baik, jalankan perintah berikut :
snmpwalk -Os -c passpublic -v 1 localhost system
dengan passpublic adalah community (password) dari SNMP untuk localhost
Perintah di atas akan menghasilkan keluaran sperti berikut :

sysDescr.0 = STRING: Linux frigg 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686
sysObjectID.0 = OID: netSnmpAgentOIDs.10
sysUpTimeInstance = Timeticks: (29668961) 3 days, 10:24:49.61
sysContact.0 = STRING: Admin
sysName.0 = STRING: frigg

Kamis, Juni 28, 2007

Setting password user pada mysql

Ketika melakukan instalasi server mysql, password root secara default adalah kosong. Untuk itu kita perlu melakukan set password root dahulu. Berikut caranya (diambil dari http://www.howtoforge.com/)
shell> mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('password-baru') WHERE user='root';
mysql> FLUSH PRIVILEGES;
Cara di atas juga dapat digunakan untuk mengganti password user yang lain dengan mengganti user='....'
Cara lain adalah dengan mengetikkan perintah berikut dari shell
shell> mysqladmin -u root password 'password-baru'
Dari dua cara atas, aku lebih memilih cara pertama karena tidak meningggalkan bekas di history bash
Untuk mengecek apakah sudah bekerja, Anda dapat mencoba masuk ke shell mysql dengan
mysql -u root -p
catatan :
saat instalasi mysql-server di Debian, kita akan diminta mengeset password root saat Package Configuration, sehingga kita mungkin tidak perlu melakukan langkah di atas.

Sabtu, Maret 24, 2007

Membuat Dummy File di Linux

Kadang-kadang untuk keperluan pengujian sistem atau jaringan, kita memerlukan file dengan ukuran yang besar. Bagaimana kalau kita kesulitan mencari file yang besar? Cara termudah adalah membuat dummy file, dan Linux sudah menyediakan perintah dd :
$ dd if=/dev/zero of=100mega bs=10000 count=10000
10000+0 records in
10000+0 records out
100000000 bytes transferred in 0.547400 seconds (182681737 bytes/sec)
$ ls -la 100mega
-rw-r--r-- 1 chandra chandra 100000000 Mar 24 12:45 100mega
Perintah dd di atas artinya kita mengcopykan 10000 block dari zero (karakter null) terbuffer (diperoleh dari /dev/zero yang ditentukan dari opsi of=...) sebanyak 10000 kali ke file dengan nama 100mega (opsi of=...)

Pada dasarnya perintah dd berfungsi untuk menyalin dan mengkonversi data. Contoh penggunaan yang lain adalah
dd if=/dev/zero of=/dev/fd0
yang akan memformat disket floppy

Lebih lanjut dengan perintah dd, bisa dilihat di :