[SQUID] memblokir website pada jam tertentu

Ada pertanyaan dari seseorang, bagaimana mem block facebook , youtube pada jam kantor ?
Dikarenakan karyawan selalu main facebookan pada jam kantor.

caranya ? bisa diselesaikan dengan SQUID acl.

buat file block.acl di /etc/squid
isinya list dari web site yang mau di blokir

trus tulis di squid.conf seperti ini


acl office_time time MTWHF 09:00-18:00
acl bad url_regex "/etc/squid/block.acl"
acl lan_ip src 192.168.9.0/24
http_access deny lan_ip bad office_time

ini untuk mendeklarasikan jam kantor, jam 9 sampai jam 18 pada hari Senin, Selasa,Rabu, Kamis, Jumat
acl office_time time MTWHF 09:00-18:00

Panggil list url yang mau diblokir
acl bad url_regex "/etc/squid/block.acl"

Ini deklarasi lan_ip internal
acl lan_ip src 192.168.9.0/24

dan ini perintah untuk menblokir
http_access deny lan_ip bad office_time

Semoga berhasil !

Oktober 11, 2011 at 5:51 am Tinggalkan komentar

Unban user dari fail2ban

Contoh kasus : menghilangkan ban dari ssh user yang ter ban karena salah password berkali2

Jadi root

sudo bash

kemudian


iptables -nL

cari Chain fail2ban-ssh

temukan ip address yang mau di unban dan hitung posisi baris nya
e.g.:

Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP 0 -- 202.211.117.xxx 0.0.0.0/0
DROP 0 -- 202.231.117.yyy 0.0.0.0/0
RETURN 0 -- anywhere anywhere

execute perintah ini

iptables -D fail2ban-ssh

jika mau unban ip 202.231.117.yyy


iptables -D fail2ban-ssh 2

September 9, 2011 at 9:32 am Tinggalkan komentar

Postgresql: Cara mengetahui schema ada

Kasus : Ingin mengetahui apakah schema trans201101 ada atau tidak.

Solusi nya :
Menggunakan query dibawah ini :

select nspname from pg_catalog.pg_namespace where nspname =’trans201101′;

lalu di kode check apakah record return 0 atau 1

Juni 22, 2011 at 3:59 am Tinggalkan komentar

Konversi ext3 ke ext4

Halo pembaca blog ku yang setia,

Seperti yang kita ketahui filesystem ext4 baru saja keluar. Support terhadap ext4 sudah ada didalam kernel
2.6.28
Keuntungan ext4 nya adalah :

  1. Support hard disk space yang besar 1 EB (exaByte)
  2. File maximum ukuran nya bisa 16TB
  3. Timestamp hingga nanosecond
  4.  Panjang filename hingga 256 bytes

So bila anda masih menggunakan ext3 , maka waktunya updgrade ke ext4.
caranya :
cek dulu filestsem yang ada di harddisk :

# mount | grep "^/dev"

/dev/sda1 on / type ext3 (rw)
/dev/sdb1 on /home type ext3 (rw)
/dev/sdc1 on /u01 type ext3 (rw)

Sekarang aku mau convert /dev/sdb1 yang ext3 ke ext4

umount dulu /dev/sdb1


umount /dev/sdb1

Ingat sebaiknya anda melakukan ini dalam single user mode, sebelum anda melakukan ini
backup semua data anda.

ok lanjut, sekarang kita akan benar benar melakukan konversi :


tune2fs -O extents,uninit_bg,dir_index /dev/sdb1

harus di check dulu, filesystemnya ok atau tidak


fsck -pf /dev/sdb1

selesai, selamat memcoba. ingat backup dulu ya. jaga jaga bila konversi gagal karena lampu mati atau sebab lain

(donairl)

April 19, 2011 at 2:25 am Tinggalkan komentar

Hard disk Quota di Linux

Problem :
User selalu menaruh file – file besar di server membuat server penuh, oleh karena itu kita perlu membatasi berapa banyak space hard disk yang diberikan ke User yang bersangkutan.

Notes:
Disini aku menggunakan Debian Squeeze 6.0

Solution:

Gunakan package quota

Install quota Package.

apt-get install quota quotatool

Tambah kan usrquota,grpquota pada partisi yang mau di set quota nya, dibawah ini contoh saya pada partisi /dev/sda2 yang di mount /home


#
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=928f5c9b-8e3f-4803-94b5-2480e38247a2 / ext3 errors=remount-ro 0 1
# /home was on /dev/sda2 during installation
UUID=884c65d5-2b16-471b-83ca-0cf55c032257 /home ext3 usrquota,grpquota 0 2
# swap was on /dev/sda3 during installation
UUID=01b883ad-56f6-43ee-9644-feca318fee07 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

Lalu remount /home

mount -o remount /home

Dan aktifkan quota dengan perintah dibawah ini

quotacheck -avugm
quotaon -avug

Selesai installasi nya…
lalu bagaimana mengeset nya ??

Ini perintahnya untuk mengeset user testing :

edquota -u testing

Akan tampil text editor seperti dibawah


Disk quotas for user testing1 (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda2 16 44100 44200 4 0 0

Edit lah soft and hard kolom, kedua ini dalam satuan blocks , 1 blocks = 1 kb
Penjelasan kolom :
dari kiri ke kanan
1 filesystem : mount dari hard disk
2. blocks adalah space yg sedang digunakan
3. soft adalah limit space bila user melebihi ini user akan di beri warning, tapi user masih bisa menulis di hd sampai hard limit
4. hard adalah limit final, user tak bisa menulisi lagi setelah mencapai ukuran ini.
5. inodes : jumlah file yang ada
6. soft : batas jumlah file ( masih peringatan)
7 hard : batas jumlah file (sudah tiada ampun lagi)

karena kita membatasi ukuran space hard disk bukan jumlah file maka
diatas kita set
kolom 3 : soft = 44100
kolom 4: hard =44200
untuk kolom 6,7 biarkan nilai nya 0

Ok sekarang sudah set untuk mengecek status dari quota , perintahnya adalah :

root@dxns2:/home/donairl# repquota -s /home

akan keluar tampilan seperti dibawah:


*** Report for user quotas on device /dev/sda2
Block grace time: 7days; Inode grace time: 7days
Space limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 153M 0K 0K 1916 0 0
daemon -- 20K 0K 0K 5 0 0
bin -- 4K 0K 0K 1 0 0
man -- 920K 0K 0K 102 0 0
libuuid -- 4K 0K 0K 1 0 0
Debian-exim -- 28K 0K 0K 7 0 0
statd -- 20K 0K 0K 5 0 0
donairl -- 44K 65000K 65100K 13 0 0
messagebus -- 4K 0K 0K 1 0 0
testing1 -- 16K 44100K 44200K 4 0 0
ntp -- 8K 0K 0K 2 0 0
mysql -- 21504K 0K 0K 80 0 0
postfix -- 60K 0K 0K 44 0 0

Dengan melihat kolom diatas, sudah jelas mana penggunaan oleh user testing1 dan quota nya.

Selesai
Terima kasih atas waktunya.
Donny Airlangga

April 7, 2011 at 2:30 am Tinggalkan komentar

[Linux] Mencari file terbaru

Problem:
Bagaimana mencari file yang baru di buat atau yang tulis ?

solusi:

ls -ct1 | head -1

April 1, 2011 at 2:56 am 1 komentar

Rsync dengan ssh custom port

Problem:

Ingin mengirim file dengan rsync melalui ssh dengan menggunakan port 6622 (bukan port standar)

solusi:

rsync - avz -e "ssh -p 6622" YOUR_USER@YOUR_SERVER:/path/to/files/from/server /path/to/local

 

aku posting ini karena agak sulit mencari nya

April 1, 2011 at 2:28 am Tinggalkan komentar

[Linux]: Mencari file terbaru di directory

Bagaimana mencari file yang terbaru di suatu directory linux ?

Masuk ke dalam directory yang mau dicari dan ketik perintah nya

 

ls -tr | tail -1

Ok, sekarang bila mau memindahkan file directory ke tmp misalnya

maka perintahnya

mv `ls -tr | tail -1` \tmp\newfile

 

Begitu, sekian terima kasih…

donairl

 

 

 

Desember 6, 2010 at 5:06 am Tinggalkan komentar

Program android yang #1

Sekarang aku lagi utak-atik android, tertarik bagaimana cara coding nya. Maka dengan perasaan semangat aku coba coba buat program sederhana.

Android menggunakan bahasa java, tidak menggunakan jvm nya punya sun. tapi dalvik vm. untuk detailnya bisa baca di android manual

Yang diperlukan :

  1. Android SDK :http://developer.android.com/sdk/index.html
  2. Eclipse : http://www.eclipse.org/downloads/.
  3. Otak
  4. Komputer yang ada java nya

Jangan lupa download pula dokumentasi nya. Dan baca dulu , kalo tidak anda akan ndak mudeng mbaca postingan saya ini.

Bila anda tak punya device android, tak payah beli. anda boleh gunakan emulator yang tersedia di SDK nya

Untuk membuat AVD:

1. Dalam Eclipse, pilih Window> Android SDK dan AVD Manager.
2. Pilih Virtual Devices di panel sebelah kiri.
3. Klik Baru.

Buat Baru AVD dialog muncul.
4. Ketik nama AVD, seperti “my_avd”.
5. Pilih target. Sasarannya adalah platform (yaitu, versi dari SDK Android, seperti 2.1) Anda ingin menjalankan di emulator.

Anda dapat mengabaikan kolom yang lain untuk saat ini.
6. Klik Buat AVD. ( Create AVD)

Di eclipse, setelah anda install SDK dan plugin android. Lakukan seperti ini :

New Android Project , beri nama applikasi SuperCobaan

package name org.donairl

nama class cobaan

seperti ini lah

  • Project name: SuperCobaan
  • Application name: SuperCobaan
  • Package name : org.donairl
  • Create Activity: cobaan

Pertama yang harus dilakukan adalah membuat layout.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ajaib"
/>

<EditText android:id=”@+magic/editor”
android:layout_width=”match_parent” android:layout_height=”0dip”
android:autoText=”true”
android:capitalize=”sentences”
android:layout_weight=”1″
android:freezesText=”true” >

</EditText>

<Button android:id=”@+hapus/button”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Hapus” />

<Button android:id=”@+random/button”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Random” />
<Button android:id=”@+about/button”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”About” />

</LinearLayout>

simpan dengan nama main.xml di folder layout

Edit pula strings.xml di folder values


<resources>
<string name="hello">Hello World, Cobaan!</string>
<string name="app_name">SuperCoba</string>
<string name="ajaib">Kata Ajaib anda :</string>
<string name="hakcipta">(c) 2010 , Donny Airlangga</string>
</resources>

isi dari class cobaan.java seperti ini :


package org.donairl;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import android.widget.EditText;

public class Cobaan extends Activity {

private EditText mEditor;
private int cnt=0;
private int cn=0;

/** Called when the activity is first created. */
OnClickListener mClearListener = new OnClickListener() {
public void onClick(View v) {
mEditor.setText(“”);
}
};

OnClickListener mAboutListener = new OnClickListener() {
public void onClick(View v) {
mEditor.setText(R.string.hakcipta);
}
};

OnClickListener mRandomListener = new OnClickListener() {
public void onClick(View v) {
cnt++;
String [] lapo = {“Kamu gila”,”Dapat uang semilyar”,
“Cinta anda ditolak”,
“Ketemu jodoh hari ini”,
“Menang undian”,
“Jaga kesehatan”,
“Kesehatan baik”,
“Karier menanjak”,
“Dapat Customer baru”};

mEditor.setText(” Kata magic anda #”+String.valueOf(cnt));
mEditor.append(“\n “+lapo[cn]);
cn++;
if (cn>8) cn=0;
}
};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEditor = (EditText) findViewById(R.magic.editor);
((Button) findViewById(R.hapus.button)).setOnClickListener(mClearListener);
((Button) findViewById(R.random.button)).setOnClickListener(mRandomListener);
((Button) findViewById(R.about.button)).setOnClickListener(mAboutListener);

}
}

Lalu coba run.

tampilan akan seperti ini

image…

Kalau gagal pasti ada yang salah. Oh ya pastikan menggunakan target platform yang    sesuai. misalnya android 1.6 atau 2.2

target android 1.6 bisa jalan di 2.2 tapi tidak sebaliknya

Desember 4, 2010 at 12:28 pm 1 komentar

js: Date function: count number of day and format days

First function :
Use for format Date in string type.


//donairl : this function for change format dd/mm/yyyy into yyyy/mm/dd
// the reason i do this : because new Date can  accept 'yyyy/mm/dd' to convert into dates
// other format :
//    *  MM-dd-yyyy
//    * yyyy/MM/dd
//    * MM/dd/yyyy
//    * MMMM dd, yyyy
//    * MMM dd, yyyy

// TODO :  Can put custom date separator
function FormatDateStr(inputdt){

var temp = new Array();
temp = inputdt.split('/');

return temp[2]+'/'+temp[1]+'/'+temp[0];

}

Secondly this one i take from other person code, i don’t know who.
Use for count days between 2 dates.
Input is in Date Object.

If you have format string like this ’20/11/2010′
to convert to Date() , then use above function, so become like this :

var startDate = new Date(FormatDateStr($F(‘txtTgl1′)));
var endDate = new Date(FormatDateStr($F(‘txtTgl2′)));

numofdays = CountdaysBetween( startDate, endDate );


function CountdaysBetween(date1, date2) {
var DSTAdjust = 0;
// constants used for our calculations below
oneMinute = 1000 * 60;
var oneDay = oneMinute * 60 * 24;
// equalize times in case date objects have them
date1.setHours(0);
date1.setMinutes(0);
date1.setSeconds(0);
date2.setHours(0);
date2.setMinutes(0);
date2.setSeconds(0);
// take care of spans across Daylight Saving Time changes
if (date2 > date1) {
DSTAdjust =
(date2.getTimezoneOffset() - date1.getTimezoneOffset()) * oneMinute;
} else {
DSTAdjust =
(date1.getTimezoneOffset() - date2.getTimezoneOffset()) * oneMinute;
}
var diff = Math.abs(date2.getTime() - date1.getTime()) - DSTAdjust;
return Math.ceil(diff/oneDay);
}

November 19, 2010 at 8:21 am Tinggalkan komentar

Tulisan Lebih Lama


 

Januari 2012
M S S R K J S
« Okt    
1234567
891011121314
15161718192021
22232425262728
293031  

Kategori


Ikuti

Get every new post delivered to your Inbox.