Selasa, Juni 13, 2006

Mengenai VirtualHost di apache

Pada distribusi Redhat, opsi VirtualHost dimatikan secara default.
Untuk menggunakan Name-based VirtualHost, maka httpd.conf perlu disunting sebagai berikut :

NameVirtualHost *

<VirtualHost *>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>


Pada konfigurasi di atas ada dua VirtualHost, yaitu :
  • zeus.northjogja.net, yang file-filenya (Document Root) berada di /var/www/html/
  • wiki.northjogja.net, yang file-filenya (Document Root) berada di /var/www/html/wiki

Namun konfigurasi di atas tidak bisa bekerja dengan baik bila mod_ssl terpasang. Bila mod_ssl terpasang, dan konfigurasi terpasang seperti di atas, maka bila httpd direstart, akan muncul pesan error :
[error] VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Untuk mengatasinya konfgurasi di atas harus diubah seperti berikut :

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>


Untuk konfigurasi yang lebih kompleks dapat dilihat contohnya di http://httpd.apache.org/docs/2.0/vhosts/examples.html#purename

Jumat, Juni 09, 2006

Mencari file duplikat di Linux

Dari googling, aku mendapatkan link berikut :
http://ubuntu.wordpress.com/2005/10/08/find-duplicate-copies-of-files/

Dari artikel di atas, sekilas ada tiga cara yang ditawarkan :
  1. Menggunakan fdupes
  2. Menggunakan fslint
  3. Membuat script Bash yang dapat dipelajari di sini

Dari ketiga pilihan tersebut, sebenarnya flint merupakan pilihan yang paling menarik, karena telah mempunyai format rpm, namun sayangnya flint berbasis gui.
Akhirnya aku download fdupes-1.40.tar.gz dari situs fdupes. Untungnya proses install yang diperlukan singkat dan tidak membutuhkan library tambahan, prosesnya :
  • make fdupes
  • su root
  • make install
Setelah itu untuk menjalankannya tinggal :
# fdupes -r [nama_direktori]
Untuk opsi lainnya bisa dilihat dengan
# fdupes --help

Salah satu contoh menggunakan utility ini adalah :
# fdupes -r -1 -S /home/master/ > dupfiles.txt

fdupes sebenarnya mempunyai opsi untuk menghapus file duplikat secara interaktif, namun bila file duplikat sangat banyak, hal tersebut cukup merepotkan.
Cara yang lebih elegan adalah memasukkan hasil pencarian ke file, dan kemudian membuat script untuk mengolah hasil tersebut