19 January 2011

Mandriva 2010.1 : nginx + php

langsung saja
nyambung ke repo mandriva 2010.1/2010.2 kambing

http://kambing.ui.ac.id/mandriva/

setelah itu update repo nya, sapa tau ada update aplikasi baru

urpmi.update -a

setelah ok update repo, sekarang install nginx dan dukungan php

urpmi nginx php-fpm

tekan Y untuk 'yes' / ya menginstal semua dukungan untuk nginx dan php, dan tunggu sampe selesai.

ok, sekarang konfigurasi keduanya, nginx agar isa menjalankan php pake php-fpm

edit file /etc/php-fpm.conf agar listen di port 9000, soalnya default php-fpm di mandriva pake socket

;listen = 127.0.0.1:9000
listen = /var/lib/php-fpm/php-fpm.sock

ubah menjadi

listen = 127.0.0.1:9000
;listen = /var/lib/php-fpm/php-fpm.sock

kemudian simpan, trus lanjutkan edit file /etc/nginx/nginx.conf agar isa menjalankan php

           # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
    #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
           #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

uncomment baris diatas, jadi seperti ini :

            pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
               fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

kemudian simpan.

saatnya beraksi !!

/etc/init.d/nginx start / service nginx start
dan
/etc/init.d/php-fpm start / service php-fpm start

cek

[root@localhost box]# netstat -pln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      3305/php-fpm.conf) 
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      3275/nginx.conf    

ok, service jalan semua, trus caranya ngebuktiin si nginx isa ngejalanin php

13 January 2011

Debian DNAT ke Lokal Server

Merujuk ke tulisan sebelume, atau dengan kata lain menyambungkan diri dari tulisan ini :
http://bayu.blitarian.com/2011/01/debian-507-lenny-simple-gateway.html

Konfigurasi network sama persis, cuman di tambahi server lokal yang akan bisa diakses melalui jalur internet / WAN, lebih mudahnya seperti bagan di bawah ini :

pe-REMOTE <> Internet <> Modem <> Debian <> Server / LAN

IP public modem ke Internet misal : 222.222.222.2

Ok waktunya beraksi :
- Cek koneksi modem dengan DEBIAN, pake ping
- Cek koneksi DEBIAN dengan Server/LAN, dimana IP Server / LAN 192.168.0.2 dengan ping
- Pastikan Server / LAN menjalankan service apa, misal service ftp dengan port default 21 dan 20
- Konfigurasi Modem dengan NAT ke IP DEBIAN : 192.168.1.2 port nya 20 dan 21
- Konfigurasi iptables DEBIAN menggunakan DNAT untuk request port 20 dan 21 ke Server / LAN

#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j DNAT --to 192.168.0.2:20
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.0.2:21

- pe-REMOTE silahkan mencoba mengakses FTP Server ini, caranya dengan mengarahkan host tujuan FTP server ke IP 222.222.222.2

Catatan :
- Server/LAN pastikan bisa mengakses ke internet

05 January 2011

DEBIAN 5.0.7 LENNY : Simple Gateway

DEBIAN 5.0.7 Lenny isa di dapatkan di sini :

http://kambing.ui.ac.id/iso/debian/current/i386/iso-cd/debian-507-i386-netinst.iso

WAN IP :192.168.1.1/24
LAN IP : 192.168.0.0/24
DNS ISP : 8.8.8.8
(pake punya google)

Bakar/burning .iso file tadi, kemudian install seperti biasa.


Konfigurasi simple :

Konfigurasi IP untuk masing-masing ethernet card, eth0 dan eth1

Edit file /etc/network/interfaces

#ke Localhost
auto lo
iface lo inet loopback

#ke WAN
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8

#ke LAN
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Untuk  resolv DNS bisa juga manual dengan cara menambahkan file /etc/resolv.conf yang isinya seperti ini :

nameserver 8.8.8.8

Update repositori
edit file /etc/apt/sources.list (kasi tanda # semuanya) dan tambahkan repo kambing

deb http://kambing.ui.ac.id/debian lenny main contrib non-free

kemudian jalankan perintah dibawah ini
apt-get update

Aktifkan NAT
edit file /etc/sysctl.conf

net.ipv4.ip_forward = 1

kemudian jalankan perintah ini :

sysctl -p /etc/sysctl.conf

Setelah itu restart network yang ada dengan perintah sebagai berikut :

/etc/init.d/networking restart

Install SSH Server

apt-get install openssh-server

Install Monitoring Tool

apt-get install htop iftop iptraf

Install Proxy Server

apt-get install squid squidclient

Konfigurasi iptables untuk NAT
NAT, jalankan perintah ini:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Transparant Proxy

iptables -A PREROUTING -t nat -p tcp --dport 8080 -j REDIRECT --to-port 3128

Simpan rule firewall / iptables diatas :

iptables-save -c > /etc/iptables.conf

Agar setiap kali server di restart atau network di restart aturan iptables di atas di jalankan, edit file /etc/network/interfaces dan tambahkan baris berikut :

post-down iptables-save -c > /etc/iptables.conf
pre-up iptables-restore < /etc/iptables.conf

Jadi hasil akhir dari file /etc/network/interfaces seperti ini :

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
post-down iptables-save -c > /etc/iptables.conf
pre-up iptables-restore < /etc/iptables.conf

Konfigurasi Proxy Server menggunakan squid
ubah file /etc/squid/squid.conf menjadi /etc/squid/squid.conf-default


mv /etc/squid/squid.conf /etc/squid/squid.conf-default

buat file konfigurasi baru untuk squid proxy server

nano /etc/squid/squid.conf

dan paste kode konfigurasi contoh squid.conf dibawah ini :


http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 64 MB
maximum_object_size 128000 KB
minimum_object_size 0 KB
cache_dir diskd /var/spool/squid 50000 16 256
cache_store_log none
#cache_access_log /var/log/squid/access.log
cache_access_log none
half_closed_clients off
cache_swap_high 100%
cache_swap_low 80%
log_mime_hdrs off
forwarded_for off
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
half_closed_clients off
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
acl mynetwork src 192.168.0.0/255.255.255.0
http_access allow mynetwork
http_access allow localnet
http_access allow localhost
http_reply_access allow all
icp_access allow all
visible_hostname Server@LENNY
#append_domain .javanet.net
err_html_text bayu@blitar.org
memory_pools off
coredump_dir /var/spool/squid
ie_refresh on

Restart squid proxy server

/etc/init.d/squid restart

Selesai.