Selasa, 02 Oktober 2012

Instalasi dan Konfigurasi Dasar Squid

Instalasi

Menginstal squid sangatlah mudah, semudah menginstal aplikasi lain dari repositori Ubuntu.
sudo apt-get install squid
Untuk menjalankan squid, bisa menggunakan perintah,
sudo /etc/init.d/squid start
Untuk mematikan squid, bisa menggunakan perintah,
sudo /etc/init.d/squid stop

Mengkonfigurasi

Setelah squid terinstal, lokasi konfigurasi ada di /etc/squid/squid.conf. Mari kita backup terlebih dahulu, karena kita akan melakukan beberapa perubahan di berkas konfigurasi tersebut.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.asli
Sebelum kita lanjutkan, saya ingin menunjukkan sesuatu. Coba jalankan perintah di bawah ini,
sudo cat /etc/squid/squid.conf |wc -l

4529
Hasilnya kira-kira seperti tertulis di atas, yaitu 4529. Artinya berkas squid.conf yang akan kita sunting memiliki 4529 baris. Wow! Pantas kalau banyak admin pemula yang bingung ketika akan mengkonfigurasi squid.
Berbeda dengan apache atau postfix, pemaket sudah menyiapkan konfigurasi yang siap pakai, yang artinya begitu postfix atau apache diinstal sudah ada contoh yang bisa dilihat dan bisa dijalankan langsung. Tapi untuk paket squid di Ubuntu ini, squid.conf yang disertakan bukanlah contoh siap pakai. Berkas ini lebih mirip berkas dokumentasi hehe.
Oke, cukup ceritanya sampai disitu, mari kita mulai mengkonfigurasi. Dari sekian ribu baris, sebetulnya untuk menjalankan squid sebagai web proxy, kita hanya perlu mengkonfigurasi beberapa baris saja. Mari kita lihat apa saja yang harus dikonfigurasi.

acl dan http_access

Sebetulnya ini adalah topik yang besar, dan sudah saya rencanakan untuk membahasnya secara terpisah. Tapi karena untuk tahap awal, kita harus mengijinkan akses dari LAN agar bisa menggunakan proxy, kita bahas sekilas saja.
Yang perlu Anda ketahui, konfigurasi squid dibaca dari atas ke bawah. Artinya, yang pertama kali cocok, itulah yang menang. Selalu ingat konsep dasar ini, karena akan sangat penting untuk memahami mengapa konfigurasi squid Anda tidak bekerja dengan seharusnya.
Ok, sekarang kita harus membuat acl baru untuk mengijinkan semua IP di LAN Anda bisa menggunakan squid proxy yang baru diinstal.
Misal, Anda memiliki dua LAN, 192.168.1.0/24 dan 192.168.2.0/24. Maka konfigurasinya,
acl jaringan_saya src 192.168.1.0/24 192.168.2.0/24
http_access allow jaringan_saya
Jika Anda menginginkan hanya IP tertentu saja, bukan satu network, Anda bisa juga menuliskannya seperti di bawah ini.
acl jaringan_saya src 192.168.1.0/24 192.168.2.0/24
http_access allow jaringan_saya
 
acl kantor_cabang src 192.168.5.5
http_access allow kantor_cabang
Sekarang IP 192.168.5.5 yang ada di kantor cabang, bisa juga menggunakan proxy yang baru Anda buat.

cache_dir

Yang lain yang bisa dikonfigurasi saat ini adalah cache_dir. Defaultnya,
cache_dir ufs /var/spool/squid 100 16 256
Saya jelaskan singkatnya, artinya lokasi direktori cache (tempat menyimpan objek yang dicache) ada di direktori /var/spool/squid dan dialokasikan sebesar 100 mega bytes. Angka 16 dan 256 adalah jumlah direktori cache yang dibuat. 16 artinya akan ada 16 direktori di /vaar/spool/squid, dan didalamnya masing-masing ada 256 direktori lagi.
Jadi kalau Anda ingin mengubah besar alokasi untuk cache, ganti angka 100 itu dengan angka baru. Misal untuk mengalokasikan sebesar 2 GB, ganti dengan 2000.

Menerapkan Konfigurasi

Untuk saat ini cukup dua konfigurasi itu saja (biar Anda tidak pusing). Setelah selesai menyunting berkas konfigurasi untuk menerapkan perubahan yang baru dibuat, Anda bisa merestart squid.
sudo /etc/init.d/squid restart
Tapi proses restart biasanya akan agak lama. Untuk mempermudah, tanpa perlu melakukan restart squid, jalankan saja perintah berikut.
sudo squid -k reconfigure
 
Source : ngadimin.com 

Terjemahan TAG: acl di squid.conf

Mari kita mulai dengan membaca tipe-tipe acl yang didefinisikan di squid.conf. Jika Anda kesulitan memahami karena kendala bahasa, saya coba terjemahkan blok acl tadi di bawah ini.

#  TAG: acl
#   Mendefinisikan Access List
#
#   acl namaacl tipeacl string1 ...
#   acl namaacl tipeacl "berkas" ...
#
#   ketika menggunakan "berkas", di dalam berkas tersebut harus berisikan satu item
#   per baris
#
#   tipeacl adalah salah satu dari tipe-tipe yang dijelaskan di bawah
#
#   Secara default, regular expression diset CASE-SENSITIVE
#   untuk membuatnya case-insensitive, gunakan opsi -i 
#
#   acl namaacl src      alamat-ip/netmask ...       (alamat IP klien)
#   acl namaacl src      alamat1-alamat2/netmask ... (rentang dari alamat-alamat)
#   acl namaacl dst      alamat-ip/netmask ...       (alamat IP dari targer URL)
#   acl namaacl myip     alamat-ip/netmask ...       (alamat IP untuk local socket)
#
#   acl namaacl arp      alamat-mac ... (format penulisannya xx:xx:xx:xx:xx:xx )
#     # ACL arp memerlukan opsi khusus saat mengkonfigurasi --enable-arp-acl.
#     # Lebih jauh lagi, ACL arp tidak berlaku untuk semua sistem operasi.
#     # Berfungsi di Linux, Solaris, FreeBSD dan beberapa varian *BSD.
#     #
#     # CATATAN: Squid hanya bisa mendeteksi alamat MAC dari klien yang ada di
#     # subnet yang sama. Jika klien berada di subnet yang berbeda, maka Squid tidak
#     # bisa mengetahui alamat MAC nya.
#
#   acl namaacl srcdomain   .fulan.com ...  # reverse lookup, IP klien
#   acl namaacl dstdomain   .fulan.com ...  # server tujuan dari URL
#   acl namaacl srcdom_regex [-i] xxx ...   # regex yang cocok dengan nama klien
#   acl namaacl dstdom_regex [-i] xxx ...   # regex yang cocok dengan server
#     # Untuk dstdomain dan dstdom_regex reverse lookup dicoba jika URL berbasiskan
#     # IP yang digunakan tidak ada yang cocok. Nama "none" digunakan jika reverse
#     # lookup gagal.
#
#   acl namaacl time     [day-abbrevs]  [h1:m1-h2:m2]
#       day-abbrevs:
#       S - Sunday (Minggu)
#       M - Monday (Senin)
#       T - Tuesday (Selasa)
#       W - Wednesday (Rabu)
#       H - Thursday (Kamis)
#       F - Friday (Jumat)
#       A - Saturday (Sabtu)
#       h1:m1 harus kurang dari h2:m2
#   acl namaacl url_regex [-i] ^http:// ...    # regex yang cocok di URL secara 
#                                                keseluruhan
#   acl namaacl urlpath_regex [-i] \.gif$ ...  # regex yang cocok pada bagian 
#                                                path URL
#   acl namaacl urllogin [-i] [^a-zA-Z0-9] ... # regex yang cocok pada bagian 
#                                                login URL
#   acl namaacl port     80 70 21 ...
#   acl namaacl port     0-1024 ...            # rentang diperbolehkan
#   acl namaacl myport   3128 ...              # (local socket TCP port)
#   acl namaacl proto    HTTP FTP ...
#   acl namaacl method   GET POST ...
#   acl namaacl browser  [-i] regexp ...
#     # pola yang cocok pada header User-Agent (lihat juga req_header di bawah)
#   acl namaacl referer_regex  [-i] regexp ...
#     # pola yang cocok pada header Referer
#     # Referer sangatlah tidak reliable, jadi gunakan dengan hati-hati
#   acl namaacl ident    namauser ...
#   acl namaacl ident_regex [-i] pattern ...
#     # string yang cocok pada keluaran ident.
#     # gunakan REQUIRED untuk menerima semua ident yang tidak kosong.
#   acl namaacl src_as   angka ...
#   acl namaacl dst_as   angka ...
#     # Kecuali untuk access control, AS number bisa digunakan untuk 
#     # mengarahkan request ke cache tertentu. Sebagai contoh untuk mengarahkan
#     # semua request untuk AS#1241 dan hanya itu saja ke cachesaya.domainsaya.net:
#     # acl ascontoh dst_as 1241
#     # cache_peer_access cachesaya.domainsaya.net allow ascontoh
#     # cache_peer_access cachesaya.domainsaya.net deny all
#
#   acl namaacl proxy_auth [-i] namauser ...
#   acl namaacl proxy_auth_regex [-i] pattern ...
#     # daftar dari namauser yang valid
#     # gunakan REQUIRED untuk menerima semua username yang valid. 
#     #
#     # CATATAN: ketika header Proxy-Authentication dikirim tetapi dia tidak
#     # diperlukan pada saat pengecekan ACL, maka username TIDAK akan dicatat
#     # di access.log.
#     #
#     # CATATAN: proxy_auth memerlukan program autentikasi EXTERNAL
#     # untuk memeriksa kombinasi username/password (lihat direktif auth_param).
#     #
#     # CATATAN: proxy_auth tidak bisa digunakan di transparent proxy karena
#     # peramban perlu dikonfigurasi menggunakan proxy agar bisa merespon pada
#     # proses autentikasi proxy.
#
#   acl namaacl snmp_community string ...
#     # String community untuk membatasai akses ke agen SNMP Anda.
#     # Contoh:
#     #
#     # acl snmppublic snmp_community public
#
#   acl namaacl maxconn angka
#     # Ini akan cocok ketika alamat IP dari klien memiliki
#     # jumlah koneksi HTTP yang tersambung melebihi dari 
#
#   acl namaacl max_user_ip [-s] angka
#     # Ini akan cocok ketika user mencoba login melebihi dari  
#     # alamat ip yang berbeda. Parameter authenticate_ip_ttl mengontrol
#     # nilai timeout pada entri-entri ip.
#     # Jika dituliskan -s maka pembatasannya ketat, browsing akan ditolak
#     # dari alamat IP lainnya sampai nilai ttl expire. Tanpa -s Squid hanya
#     # akan membuat user kesel dengan "secara acak" menolak akses.
#     # (pencatatan akan di reset setiap kali batasan tercapai dan request
#     # akan ditolak)
#     # CATATAN: pada mode akselerasi atau ketika disana ada banyak anak proxy,
#     # klien mungkin akan terlihat datang dari beberapa alamat saat mereka memasuki
#     # peternakan proxy, jadi pembatasan hanya 1 akan menyebabkan problem ke user.
#
#   acl namaacl req_mime_type mime-type1 ...
#     # regex yang cocok dengan mime type dari request yang digenerate oleh klien
#     # Dapat digunakan untuk mendeteksi berkas upload atau beberapa tipe request
#     # HTTP tunneling.
#     # CATATAN: Ini TIDAK akan cocok dengan reply. Anda tidak bisa menggunakan
#     # ini untuk mencocokkan dengan tipe berkas yang dikembalikan.
#
#   acl namaacl req_header header-name [-i] any\.regex\.here
#     # regex yang cocok dengan request header apa saja yang sudah dikenali.
#     # Mungkin bisa dianggap sebagai superset dari ACL-ACL "browser", "referer" dan
#     # "mime-type".
#
#   acl namaacl rep_mime_type mime-type1 ...
#     # regex yang cocok dengan mime type dari reply yang diterima oleh squid. Dapat
#     # digunakan untuk mendeteksi berkas yang didownload atau beberapa tipe dari
#     # request HTTP tunneling.
#     # CATATAN: Ini tidak akan berpengaruh pada aturan http_access. Ini hanya akan
#     # berpengaruh pada aturan yang mempengaruhi reply data stream seperti misalnya
#     # http_reply_access.
#
#   acl namaacl rep_header nama-header [-i] regex\.apa\.saja\.disini
#     # regex yang cocok dengan reply header apa saja yang sudah dikenali.
#     # Mungkin bisa dianggap sebagai superset dari ACL-ACL "browser", "referer" dan
#     # "mime-type".
#     #
#     # Contoh:
#     #
#     # acl banyak_spasi rep_header Content-Disposition -i [[:space:]]{3,}
#
#   acl nama_acl external nama_class [arguments...]
#     # ACL external yang melakukan pencarian melalui class bantu yang didefinisikan
#     # oleh direktif external_acl_type.
#
#   acl urlgroup group1 ...
#     # cocok dengan urlgroup seperti yang diindikasikan oleh redirector.
#
#   acl namaacl user_cert atribut nilai...
#     # cocok dengan atribut-atribut dari user sertifikat SSL
#     # atributnya adalah salah satu dari DN/C/O/CN/L/ST
#
#   acl namaacl ca_cert attribut nilai...
#     # cocok dengan atribut-atribut dari user-user yang menerbitkan sertifikat 
#     # CA SSL
#     # atributnya adalah salah satu dari DN/C/O/CN/L/ST
#
#   acl namaacl ext_user namauser ...
#   acl namaacl ext_user_regex [-i] pola ...
#     # string yang cocok dengan namauser yang diberikan oleh pembantu acl external
#     # gunakan REQUIRED untuk menerima namauser apa saja yang tidak-kosong.
 
 
 

ACL yang paling umum digunakan

Dari sekian banyak tipe acl yang bisa digunakan, menurut pengalaman saya hanya beberapa saja yang umum digunakan. Tentunya memang semua itu tergantung kebutuhannya. Walau tidak umum digunakan, tapi kalau memerlkukannya, mungkin saja digunakan dan sebaliknya.
Biasanya yang paling umum diguanakan adalah, src, dst, dstdomain, port. ACL lainnya yang mungkin sering ditemui adalah url_regex, proxy_auth, maxconn, max_user_ip, time.
Untuk lebih memahami cara penggunaan acl ini, saya akan coba berikan beberapa contoh penggunaan acl.

Contoh 1: Membatasi akses internet dari IP tertentu

Misal, dalam satu jaringan kantor, semua diperbolehkan mengakses internet via proxy. Kecuali beberapa komputer di meja penerima tamu atau front office.
acl jaringan_kantor src 192.168.1.0/24
acl front_office src 192.168.1.21    # komputer1 di front office
acl front_office src 192.168.1.22    # komputer2 di front office
acl front_office src 192.168.1.23    # komputer3 di front office
 
http_access deny front_office
http_access allow jaringan_kantor
Sekalian untuk format penulisan acl di atas, Anda bisa juga menuliskannya seperti di bawah ini.
Format inline, jadi IP dituliskan ke samping, tanpa menekan enter atau penanda baris baru.
acl jaringan_kantor src 192.168.1.0/24
acl front_office src 192.168.1.21 192.168.1.22 192.168.1.23
 
http_access deny front_office
http_access allow jaringan_kantor
Format rentang, karena kebetulan IP si komputer front office berurutan.
acl jaringan_kantor src 192.168.1.0/24
acl front_office src 192.168.1.21-192.168.1.23/32
 
http_access deny front_office
http_access allow jaringan_kantor
Silakan dilihat lagi di blok ACL yang sudah saya terjemahkan di atas.

Contoh 2: Membatasi akses ke situs tertentu

Anda ingin memblock beberapa situs porno yang paling sering dikunjungi oleh user Anda. Tentu saja ini cara paling sederhana, dan mungkin tidak cocok untuk memblock situs porno secara keseluruhan. Tapi ini hanya sekedar contoh saja.
Pertama, pastikan rules untuk membatasi akses ke situs porno itu muncul lebih dahulu, dibandingkan rules lain yang membolehkan akses internet. Lihat contoh dibawah ini. Kita akan menggunakan tipeacl dstdomain, yang bisa digunakan untuk menandai domain tujuan yang akan diakses.
acl situs_porno dstdomain .playboy.com
acl situs_porno dstdomain .porno.com
http_access deny situs_porno
 
acl jaringan_kantor 192.168.1.0/24
http_access allow jaringan_kantor
Contoh penempatan yang salah ada di bawah ini
# Contoh penempatan yang salah
 
acl jaringan_kantor 192.168.1.0/24
http_access allow jaringan_kantor
 
# rules di bawah ini tidak akan pernah dijalankan, karena akses sudah diperbolehkan
# di baris sebelumnya
acl situs_porno dstdomain .playboy.com
acl situs_porno dstdomain .porno.com
http_access deny situs_porno
Jadi perlu Anda ingat, posisi menentukan prestasi. Atau posisi rules yang Anda buat di squid.conf sangat menentukan apakah rules tersebut akan digunakan atau tidak.

Contoh 3: Membatasi akses internet di jam kerja

Kali ini kita akan menggunakan tipe acl time. Langsung saja ke contoh.
acl jam_kerja time MTWH 08:00-12:00  # Senin s.d Kamis jam 08:00 s.d Jam 12:00
acl jam_kerja time F 08:00-11:30  # Jumat 08:00-11:30 WIB
acl jam_kerja time MTWHF 13:00-16:00 # Senin s.d Jumat jam 13:00 s.d 16:00
 
acl jaringan_kantor src 192.168.1.0/24
 
# Buka akses internet, diluar jam kerja
http_access allow jaringan_kantor !jam_kerja
Lihat tanda seru (!) di depan acl. Yang berarti tanda negasi, atau NOT (bukan). Jadi artinya kita hanya membuka akses internet untuk jaringan_kantor dan waktunya bukan di jam kerja.

Contoh 4: Membatasi akses internet di jam kerja, kecuali manager dan bos

Contoh lain, kantor hanya ingin membuka akses internet untuk komputer-komputer manajer dan si Boss besar. Karyawan lainnya, bisa mengakses internet tapi hanya di luar waktu kerja.
acl jam_kerja time MTWH 08:00-12:00  # Senin s.d Kamis jam 08:00 s.d Jam 12:00
acl jam_kerja time F 08:00-11:30     # Jumat 08:00-11:30 WIB
acl jam_kerja time MTWHF 13:00-16:00 # Senin s.d Jumat jam 13:00 s.d 16:00
 
# jaringan kantor
acl jaringan_kantor src 192.168.1.0/24
 
# manager dan boss
acl manager src 192.168.1.51  # manager keuangan
acl manager src 192.168.1.52  # manager marketing
acl manager src 192.168.1.53  # general manager
acl boss src 192.168.1.68     # si boss besar
 
# Buka akses internet untuk manager dan boss, tanpa batasan waktu
http_access allow manager
http_access allow boss
 
# Untuk karyawan lainnya, buka akses internet diluar jam kerja
http_access allow jaringan_kantor !jam_kerja
 
Source  : ngadimin.com 

Internet Sharing dengan CENTOS

Seting Internet Connection dengan menggunakan Linux Centos
Kondisi Jaringan :
IP WAN : Static pada eth0
IP LAN : Static pada eth1
eth=inteface Network
IP WAN = 10.2.1.10/29
IP LAN = 192.168.1.1/24
kita seting IP dahulu pada eth0 :
kita menggunakan edtor nano
ketik nano /etc/sysconfig/network-script/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
HWADDR=00:0C:29:6B:70:62
ONBOOT=yes
IPADDR=10.2.1.10
NETWORK=10.2.1.0
NETMASK=255.255.255.0
GATEWAY=10.2.1.1
kemudian pencet CTRL o kemudian pilih yes
kemudian pencet CTRL x untuk keluar dari editor

sekarang kita seting IP pada eth1
ketik nano /etc/sysconfig/network-script/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0c:29:6b:70:6c
IPADDR=192.168.1.1
NETWORK=192..168.1.0
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
Kemudian pencet CTRL o untuk save
Kemudian pencet CTRL x untuk keluar
Sekarang kita seting DNS server
Nano /etc/resolve.conf
Masukan nameserver ISP  misalkan ISP kita mempunyai DNS servernya 202.158.3.7
nameserver  202.158.3.7
kemudian Save dengan menekan CTRL o dan CTRL X untuk keluar
kemudian coba ping ke google.com
dengan perintah ping google.com
Jika ada repply seperti ini :
64 bytes from sin01s05-in-f0.1e100.net (74.125.235.32): icmp_seq=1 ttl=50 time=13.7 ms
Berarti Server anda sudah terkoneksi dengan internet

SHARING INTERNET CONNECTION
Nano /etc/sysconfig/network
Tambahkan dibaris bawah dengan       FORWARD_IPV4=yes    kemudian save dengan ctrl o dan CTRL X untuk keluar
Aktifkan IP Forward dengan merubah pada  /etc/sysctl.conf
net.ipv4.ip_forward = 0  -- menjadi net.ipv4.ip_forward=1  , kemudian save
PADA FIREWALL (IPTABLES)
root@kasepuhan#iptables --flush
root@kasepuhan#iptables  --table nat  --flush
root@kasepuhan#iptables  --delete-chain
root@kasepuhan#iptables  --table nat  --delete-chain
root@kasepuhan#iptables  --table nat  --append POSTROUTING  --out-interface eth0 –j MASQUERADE
root@kasepuhan#iptables  --append FORWARD  --in-interface eth1 –j ACCEPT
root@kasepuhan # echo 1 > /proc/sys/net/ipv4/ip_forward
root@kasepuhan #service iptables save
biar selalu jalan ketika restart chkconfig iptables on
Seting Script di /etc/rc.local
Tambahkan pada baris bawah dengan script ini
/sbin/iptables -table nat -append POSTROUTING -out-interface eth0 -j MASQUERADE
/sbin/iptables -append FORWARD -in-interface eth1 -j ACCEPT

Kemudian Save,
Restart  Server anda shutdown –r now
Seting pada client di windows
Seting IP
Ip address : 192.168.1.10
NETMASK :255.255.255.0
GATEWAY : 192.168.1.1
DNS : 192.168.1.1




Senin, 07 Mei 2012

Memperbaiki squid: ERROR: No running copy

[root@proxy squid]# squid -k reconfigure squid: ERROR: No running copy [root@proxy squid]# service squid start Starting squid: ……………….. [FAILED] liat di lognya #tail -f /var/log/message : Squid Parent: child process 13608 started : storeAufsDirOpenSwapLog: Failed to open swap log. : Squid Parent: child process 13608 exited due to signal menggunakan perintah berikut # squid -NC -d1 Starting Squid Cache version 2.6.STABLE4 for i686 -redhat-linux-gnu… Process ID 13675 With 1024 file descriptors available Using epoll for the IO loop Performing DNS Tests… Successful DNS name lookup tests… DNS Socket created at 0.0.0.0, port 32771, FD 5 Adding nameserver dns-local from squid.conf Adding nameserver dns-public 4 from squid.conf Adding nameserver dns-public from squid.conf helperOpenServers: Starting 5 ‘ncsa_auth’ process es User-Agent logging is disabled. Referer logging is disabled. Unlinkd pipe opened on FD 15 Swap maxSize 102400000 KB, estimated 7876923 obje cts Target number of buckets: 393846 Using 524288 Store buckets Max Mem size: 6144 KB Max Swap size: 102400000 KB Local cache digest enabled; rebuild/rewrite every 3600/3600 sec Store logging disabled | /var/spool/squid/swap.state: (13) Permission deni ed FATAL: storeAufsDirOpenSwapLog: Failed to open swap log. Aborted (core dumped) Telah terjadi perubahan di /var/spool/squid yang menyebabkan error diatas -rw-r—– 1 root squid 185401920 Nov 12 08:45 swap.state lalu di ubah kepemilikannya menjadi #chown squid swap.state dan hasilnya kembali menjadi -rw-r—– 1 squid squid 17358624 Nov 12 09:23 swap.state lakukan #service squid start Starting squid: . [ OK ] #squid -k reconfigure dan squid kembali normal Source : http://adimaulana.wordpress.com

Sabtu, 31 Maret 2012

Install Webserver Localhost di Ubuntu

1. Install Apache2

$ sudo apt-get install apache2

jika sudah selesai, buka browser dan ketikkan pada address bar: localhost atau 127.0.0.1 . Jika yang terlihat adalah tulisan:

It works!

berarti Apache kita sudah bekerja baik, tapi jika terdapat pesan error (kebetulan mengenai saya) seperti ini :

Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

kita bisa memperbaiki dengan cara :

$ gksu gedit /etc/apache2/conf.d/fqdn

ketika aplikasi Gedit sudah terbuka, ketik ServerName localhost di dalam file tersebut dan jangan lupa klik Simpan kemudian bisa ditutup.

2. Install php5

$ sudo apt-get install php5 libapache2-mod-php5

agar php5 bisa jalan, kita restart dulu apache2 kita, untuk merestart apache, jalankan perintah ini :

$ sudo /etc/init.d/apache2 restart

untuk memeriksa apakah php5 sudah jalan atau belum, caranya :

* membuat file php baru di dalam /var/www/folder, caranya : $ sudo gedit /var/www/phpinfo.php
* setelah aplikasi gedit terbuka, silakan isikan :



* buka browser lagi dan ketikkan pada address bar http://localhost/phpinfo.php
* Jika melihat phpinfo() dan informasi installasi tentang php, berarti sudah benar dan bisa dilanjutkan. Perhatikan gambar di bawah :

php5

3. Install mysql

$ sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Di akhir installasi kita diharuskan mengisi password root atau admin.

4. Installasi phpmyadmin

$ sudo apt-get install phpmyadmin

ketika dalam installasi kita disuruh untuk memilih server web ( Please choose the web that should be automatically configured to run phpMyAdmin ) yang digunakan pilihlah apache2 dengan tombol space.

Secara default phpMyAdmin akan terinstall ke dalam /usr/share/ ( /usr/share/phpmyadmin/direktori ). Kita salin terlebih dahulu ke dalam /var/www ( /var/www/direktori ). Untuk menyalin, silakan ketikkan perintah :

$ sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

Untuk mencoba apakah berhasil atau belum, silakan buka kembali browser dan ketikkan pada address bar : http://localhost/phpmyadmin/index.php. Untuk mysql biasanya usernamenya root, password silakan yang tadi telah dibuat dalam installasi mysql.

phpmyadmin

5. Mengganti tampilan awal localhost/server web.

Secara default ketika kita mengetikkan localhost pada browser akan diredirect ke halaman index.html yang telah ada Kita bisa mengedit halaman tersebut sesuai yang kalian kehendaki dengan mengeditnya didalam

$ sudo gedit /var/www/index.html
atau bisa membuat halaman index tersendiri yang lebih menarik.

Source : http://mashendri.com

Kamis, 29 Maret 2012

Konfigurasi DNS Server Pada Centos 5.3

2. Intall Paket
[root@kuningan ~]# yum install bind bind-chroot bind-libs bind-utils caching-nameserver

3. Konfigurasi RNDC
[root@kuningan ~]# cd /var/named/chroot/etc/
[root@kuningan etc]# rndc-confgen > rndc.key
[root@kuningan etc]# chown root:named rndc.key

Edit rndc.key seperti ini:
[root@kuningan etc]# vim rndc.key
# Start of rndc.conf
key "rndckey" {
algorithm hmac-md5;
secret "HegIBd7PDqY5mQYzCe5L0w==";
};

4. Konfigure named.conf
[root@kuningan etc]# vim /var/named/chroot/etc/named.conf
Konfigurasi named.conf seperti dibawah:

//sertakan isi file rndc.key
key "rndckey" {
algorithm hmac-md5;
secret "HegIBd7PDqY5mQYzCe5L0w==";
};
//dns server adalah 10.200.16.11 dimana akan //memberikan kontrol kepada alamat jaringan yang //menggunakan dns
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; };
inet 10.200.16.11 allow { 10.200.16.0/25; } keys { "rndckey"; };
inet 10.200.16.11 allow { 10.200.15.128/25; } keys { "rndckey"; };
};
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
recursion yes;
allow-recursion {
127.0.0.1;
10.200.16.0/25;
10.200.15.128/25;
};
forwarders {
202.51.96.5;
202.51.96.10;
};
listen-on {
127.0.0.1;
10.200.16.11;
};
query-source address * port 53;
// so people can't try to guess what version you're running
version "REFUSED";
allow-query {
127.0.0.1;
10.200.16.0/25;
10.200.15.128/25;
};
};
server 10.200.16.11 {
keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "nockplace.net" IN {
type master;
file "nockplace.net.db";
};

5. Membuat zona

[root@kuningan etc]# vim /var/named/chroot/var/named/
nockplace.net.db
Isinya adalah seperti berikut :

$ttl 38400
nockplace.net. IN SOA ns.nockplace.net. admin.nockplace.net. (
2007020400 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
nockplace.net. IN NS ns.nockplace.net.
nockplace.net. IN MX 1 mx.nockplace.net.
nockplace.net. IN MX 5 mx2.nockplace.net.
www.nockplace.net. IN A 10.200.16.11
ns.nockplace.net. IN A 10.200.16.11
cacti.nockplace.net. IN A 10.200.16.11
mrtg.nockplace.net. IN A 10.200.16.17
mx.nockplace.net. IN A 10.200.16.11
mx2.nockplace.net. IN A 10.200.16.11
mail.nockplace.net. IN CNAME mx.nockplace.net.

6. Mengubah resolv.conf
[root@kuningan etc]# vim /etc/resolv.conf
Ubah nameserver menjadi :
nameserver 127.0.0.1
[root@kuningan etc]# service network restart

7. Menjalankan Service DNS
[root@kuningan etc]# service named start
[root@kuningan etc]# chkconfig named on

8. Query
[root@kuningan etc]# nslookup www.nockplace.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.nockplace.net
Address: 10.200.16.17

9. Pengaturan Document Root
[root@kuningan etc]# vim /etc/httpd/conf/httpd.conf
Tambahkan:

DocumentRoot /var/www/html/mrtg-mon
ServerName mrtg.nockplace.net

10. Troubleshooting
Untuk menghilangkan firewall:
[root@kuningan etc]# iptables -F

Source : http://1100060884.blog.binusian.org

Install LAMPP + PhpMyAdmin di Centos 5

Apa itu LAMPP dan PhpMyAdmin?

Mungkin bagi para pengguna internet sudah tidak asing lagi dengan istilah php, mysql, apache. Nah LAMPP adalah singkatan dari Linux, Apache, Mysql, PHP, ProFTPD.

Sedangkan PhpMyadmin adalah suatu aplikasi yang di buat dengan bahasa pemrograman PHP yang ditujukan untuk pengelolaan basis data MYSQL melalui web, sehingga pengguna lebih dimudahkan dalam mengelola databasenya.

Saya menulis artikel ini dengan tujuan agar bisa membantu bagi para pengguna di linux yang belum tau dan ingin menggunakan webserver di linux, karena setau saya masih banyak yang belum mengetahui bagaimana cara menginstall webserver di linux, karena memang ada beberapa hal yang harus di perhatikan dalam menginstallnya agar dapat berjalan dengan lancar.

Baik lah kita mulai saja ya…Oh ya, seperti biasanya bagi para perokok siapkan dulu rokok anda dan kopinya biar tambah ma’nyus..hehehe

Tahap-tahap instalasi:

1. Sebelum menginstall php, mysql, apache download terlebih dahulu paket di bawah ini dan setelah di download langsung install paket tersebut.
[root@heri ~]# wget http://packages.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@heri ~]# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

2. Install paket-paket LAMPP dan phpmyadmin dengan perintah “YUM”
[root@heri ~]# yum install httpd php php-mysql php-gd php-mbstring php-mcrypt mysql mysql-server phpmyadmin

3. Setelah itu coba jalankan service nya dengan perintah di bawah ini:
[root@heri ~]# service httpd start
Starting httpd: [ OK ]
[root@heri ~]# service mysqld start
Starting httpd: [ OK ]

4. Kemudian coba buat sebuah file phpinfo.php yang di gunakan untuk melihat apakah semuanya sudah berjalan dengan lancar atau belum.
[root@heri ~]# cd /var/www/html/
[root@heri html]# vi phpinfo.php

5. Isi file phpinfo.php tersebut dengan script seperti di bawah ini:


6. Kemudian buka browser anda dan arah kan ke http://ip_komputer_anda/phpinfo.php

7. Apabila tidak ada yang error berarti sampai tahap ini webserver anda sudah berjalan dengan baik. Sekarang kita lanjutkan untuk mengkonfigurasikan PhpMyadmin nya

Konfigurasi PhpMyadmin:
1. Pertama kali yang dilakukan adalah edit file config.inc.php
[root@heri ~]# vi /usr/share/phpmyadmin/config.inc.php

2. Cari perintah seperti di bawah ini pada file konfigurasi tersebut:
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

3. Isikan suatu kata diantara tanda (”), terserah anda mau mengisikan apa aja. Contohnya seperti dibawah ini:
$cfg['blowfish_secret'] = '1234'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

4. Apabila anda tidak mengisikan sesuatu di antara tanda tersebut maka akan tampil halaman error seperti di bawah ini:

5. Kemudian buat password root mysql anda untuk login ke phpmyadmin dengan perintah seperti di bawah ini.
[root@heri ~]# mysqladmin -u root password 12345678 <== ini adalah password mysql anda

6. Buka browser anda dan arahkan ke http://ip_komputer_anda/phpmyadmin

. Jangan lupa untuk merubah file di bawah ini jika anda menginginkan agar phpmyadmin bisa di remote dari mana saja(tidak
harus dari localhost aja).

[root@mail ~]# vi /etc/httpd/conf.d/phpmyadmin.conf

8. Kemudian edit pada baris di bawah ini

Allow from 127.0.0.1 menjadi Allow from all

9. Sampai di tahap ini apabila tidak terjadi error maka anda sudah bisa menggunakan webserver dan phpmyadmin anda
dengan lancar. Dan saya ucapkan selamat mencoba, apabila ada terdapat kesalahan silahkan berikan komentar ya..:)


Source : http://heker86.wordpress.com