Menginstall Apache, PHP dan MySQL

Apache

Proses install

$ apt-get install apache2

Proses start

$ /etc/init.d/apache2 start

Proses restart

$ /etc/init.d/apache2 restart

Proses stop

$ /etc/init.d/apache2 stop

Pada instalasi apache ini secara default akan langsung dapat dijalankan dengan document kerja default yaitu pada /var/www untuk meletakkan halaman web kita, kita dapat mengubah halaman kerja di folder yang kita inginkan, dengan mengedit file konfigurasi yang berada di /etc/apache/httpd.conf dengan menggantikan documentroot [letak folder], setelah melakukan pengeditan file konfigurasi httpd.conf maka dilakukan restart service dari apache seperti pada perintah diatas yaitu /etc/init.d/apache2.restart. Secara default halaman web yang akan di load adalah halaman yang bernama index.php atau index.html.

PHP

Proses install

$ apt-get install php5

Untuk mengetahui service-service apa saja yang sdang dijalankan pada php ini kita dapat membuat script php yang cukup pendek untuk menampilkan service-service pada php yaitu dengan memanggil fungsi dari php sendiri phpinfo( ); jadi kita dapat langsung menuliskan fungsi tersebut dihalaman web kita seperti dibawah ini:

<?

phpinfo( );

?>

Cukup dengan memanggil fungsi diatas dapat kita menampilkan halaman php yang berisi service yang dapat digunakan. Tanda <? adalah tanda pembukaan untuk script php, seluruh yang berada setelah tanda <? akan dikenal sebagai script php hingga ditemukan tanda penutup dari script php yaitu ?>, namun pada block <? dan ?> dapat disisipkan script html, jadi saat kita sisipkan script html pada block penulisan script php maka script html tetap akan dikenal sebagai script html.

MySQL

Proses install

$ apt-get install mysql-server

Mysql yang akan kita install disini digunakan untuk proses database yang dapat diakses melalui web, sehingga saat pembuatan halaman wb menggunakan script php kita dapat membuat aplikasi database yang dapat diakses dimana daja melalui halaman web jika mysql ini terinstall pada komputer yang dapat diakses melalui jaringan internet. Namun pada praktek ini tidak dilakukan pembuatan database.

$ apt-get install php5-mysql

Paket ini berfungsi untuk menjembatani koneksi ke database mysql melalui script php. Dengan menginstallkan paket tersebut secara otomatis php akan mengenali fungsi-fungsi untuk koneksi ke database mysql.

$ /etc/init.d/apache2 restart

Published in: on July 13, 2007 at 8:10 am  Leave a Comment  

APACHE

Apache HTTP Server adalah software open sources untuk HTTP web server yang dijalankan di platform sistem Unix-like seperti BSD, Linux, dan Unix, Microsoft Windows dan lainnya. Apache dikembangkan dan dipelihara oleh komunitas terbuka yang bergabung dengan Apache Software Foundation. Mulanya, Apache sekedar open sources alternative untuk Netscape web server (kini dikenal sebagi Sun ONE). Kemudian berkembang dengan pesat dan melampaui semua jenis Unix based HTTP server lainnya dalam fungsionalitas dan kecepatan. Apache adalah HTTP server paling popular di Internet sejak April 1996 dan menguasai 57% pangsa pada bulan Mei 1999. Pada bulan Agustus 2004 tercatat peningkatan menjadi 67%. Apache piawai dengan fitur ‘highly configurable error messages, DBMS-based authentication databases, and content negotiation’. Apache mendukung fitur yang diimplementasikan sebagai modul terkompilasi mulai dari server-side programming language support sampai dengan authentication schemes. Sejumlah bahasa pemeograman yang lazim digunakan seperti Perl, Phyton, dan PHP didukung Apache sepenuhnya.

Untuk membangun apache server ini kita membutuhkan beberapa paket yang ada di Linux. Ada beberapa paket yang dibutuhkan diantaranya: APACHE, PHP5, MySQL. Paket-paket ini digunakan untuk membangun server agar dapat bekarja sesuai keinginan. Apache digunakan sebagai web server yang mengolah script php, php digunakan untuk melakukan proses-proses aritmatika, database dan lainnya, sedangkan MySQL digunakan untuk pembuatan database yang terhubung dengan halaman web yang dilakukan oleh script php. Web server Apache terdiri dari beberapa bagian, kode source apache asli dengan beberapa patch dan beberapa executable tambahan. Sebaiknya kita gunakan Web server Apache yang tegolong ‘stable version’ yang mungkin akan lebih mudah untuk dikompilasi dan akan menghasilkan daemon yang cukup stabil.

Beberapa direktori penting untuk Apache:

1. cgi-bin/ – direktori CGI scripts

2. conf/ – konfigurasi file httpd server

3. htdocs/ – main direktori untuk dokumen-dokumen

4. logs/ – direktori dengan log files

5. other stuff (bin/, icons/, include/, proxy/, man/, …..)

Menginstall server di Unix:

1. paket dapat diinstall langsung jika memiliki package pre built.

2. Jika tidak terdapat package tersebut, langkah-langkah yang dapat dilakukan sbb:

1) Download and unpack in siutable directory (ftp, uncompress, gunzip, tar,…)

2) Initial configuration

3) Compile the server

4) Install executable in system

5) Futher configuration files to reflect your environment

6) Run httpd

Konfigurasi dasar Apache:

  • Server type standalone
  • Port 80
  • User www-data
  • Group www-data
  • Server Admin your email address
  • ServerRoot /etc/apache
  • ErrorLog /var/log/apache/error.log
  • LogFile /var/run/apache.lock
  • PidFile /var/run/apache.pid
  • DocumentRoot /var/www
  • UserDir public_html
  • DirectoryIndex index.php index.html index.htm index.shtml index.cgi
  • ScriptAlias /cgi-bin/ /usr/lib/cgi-bin

Untuk membangun server ini kita membutuhkan beberapa paket yang ada di Linux. Ada beberapa paket yang diutuhkan diantaranya: Apache, PHP5, MySQL. Paket-paket ini digunakan untuk membangun server agar dapat bekarja sesuai keinginan.

Published in: on July 13, 2007 at 7:42 am  Leave a Comment  

NAT (Network Address Translation)

Network Address Translation atau yang biasa disebut NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan suatu alamat IP.

NAT (Network Address Translation)

 

#!/bin/sh

 

# variable

IPT=/sbin/iptables

INPUT=”$IPT -A INPUT “

FORWARD=”$IPT -A FORWARD “

MASQ=”$IPT -t nat -A POSTROUTING -j MASQUERADE “

 

# cleaning up

$IPT -F

$IPT -t nat -F

$IPT -P INPUT ACCEPT

$IPT -P FORWARD ACCEPT

 

if [ "$1" = "stop" ]; then

echo “firewall reset”

exit 0

fi

 

# default policy

$IPT -P INPUT DROP

$IPT -P FORWARD DROP

$IPT -P OUTPUT ACCEPT

 

# INPUT access

$INPUT -j ACCEPT -p tcp -m state –state ESTABLISHED,RELATED

$INPUT -j ACCEPT -s 127.0.0.0/8 -d 0/0

$INPUT -j ACCEPT -s 192.168.x.y/24 -d 0/0

$INPUT -j ACCEPT -s 10.10.10.0/24 -d 0/0

$INPUT -j ACCEPT -s 10.100.100.0/24 -d 0/0

$INPUT -j ACCEPT -s 0/0 -p udp -m multiport –sport 13,37,53,123,631,3130

$INPUT -j ACCEPT -s 0/0 -p udp -m multiport –dport 13,37,53,123,631,3130

$INPUT -j ACCEPT -s 0/0 -p tcp -m multiport –sport 13,20,21,22,25,37,53,80,123,443,631,3128,3130,8080,10000

$INPUT -j ACCEPT -s 0/0 -p tcp -m multiport –dport 13,20,21,22,25,37,53,80,123,443,631,10000

 

# FORWARD access

#$FORWARD -j DROP -o eth0 -s 10.10.10.0/24 -d 0/0 -p tcp -m multiport –dport 80,443

$FORWARD -j ACCEPT -i eth1 -o eth0 -s 10.10.10.0/24 -d 0/0

 

# MASQUERADE access

$MASQ -s 10.10.10.0/24 -d 0/0 -o eth0 -p tcp -m multiport –dport 80,443

$MASQ -s 10.10.10.0/24 -d 0/0 -o eth0

 

 

 

SQUID

 

a. Buka dan edit file /etc/squid/squid.conf

 

#Default:

# none

#cache_peer proxy.lipi.go.id parent 3128 3130 no-query default login=PASS

cache_peer proxy.lipi.go.id parent 3128 3130 no-query default login=PASS

 

acl jakarta dstdomain puslit.lipi.go.id

always_direct allow jakarta

 

acl to_internet dst 0.0.0.0/0

acl lipi_intra dst 192.168.0.0/16

always_direct allow lipi_intra

never_direct allow to_internet

 

 

 

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

 

acl dalam src 10.10.10.0/24

http_access allow dalam

 

# Example rule allowing access from your local networks. Adapt

# to list your (internal) IP networks from where browsing should

# be allowed

#acl our_networks src 192.168.1.0/24 192.168.2.0/24

#http_access allow our_networks

http_access allow localhost

 

b. Hidupkan squid dengan perintah /etc/init.d/squid/start

c. Cek konfigurasi

 

 

 

DNS (Domain Name Server)

 

a. buka file /etc/bind/named.conf.options

 

options {

# directory “/var/cache/bind”;

directory “/etc/bind/zona-puslit”;

 

// If there is a firewall between you and nameservers you want

// to talk to, you might need to uncomment the query-source

// directive below. Previous versions of BIND always asked

// questions using port 53, but BIND 8.1 and later use an unprivileged

// port by default.

 

query-source address * port 53;

 

// If your ISP provided one or more IP addresses for stable

// nameservers, you probably want to use them as forwarders.

// Uncomment the following block, and insert the addresses replacing

// the all-0′s placeholder.

 

forwarders {

192.168.0.2;

192.168.0.10;

};

 

auth-nxdomain no; # conform to RFC1035

 

};

 

 

b. buka file /etc/ bind/named.conf.local

 

//

// Do any local configuration here

//

 

// Consider adding the 1918 zones here, if they are not used in your

// organization

//include “/etc/bind/zones.rfc1918″;

 

include “/etc/bind/puslit.lipi.go.id”;

 

 

c. buat file /etc/bind/

 

zone “puslit.lipi.go.id” {

type master;

file “/etc/bind/zona-puslit/puslit.lipi.go.id.data”;

};

 

zone “x.168.168.in-addr.arpa” {

type master;

file “/etc/bind/zona-teori/192.168.x.data”;

};

 

d. buat directory /etc/bind/zona-puslit

e. buat pada dir /etc/bind/zona-puslit buat file 192.168.x.data

 

$TTL 604800

@ IN SOA server.puslit.lipi.go.id. admin.puslit.lipi.go.id. (

2007010303 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS 192.168.x.x

 

$ORIGIN x.168.192.in-addr.arpa.

 

2 PTR server.puslit.lipi.go.id.

3 PTR web.puslit.lipi.go.id

 

f. buat pada dir /etc/bind/zona-puslit buat file puslit.lipi.go.id.data

 

;

; BIND data file for benk.org

;

$TTL 1440

@ IN SOA server.puslit.lipi.go.id. admin.puslit.lipi.go.id. (

2006120100 ; Serial

3H ; Refresh

1H ; Retry

1D ; Expire

6H) ; Negative Cache TTL

;

@ IN NS server.puslit.lipi.go.id.

 

$ORIGIN puslit.lipi.go.id.

gateway IN A 192.168.x.1

@ IN A 192.168.x.2

www IN A 192.168.x.2

server IN A 192.168.x.2

data IN A 192.168.x.2

proxy IN A 192.168.x.2

 

 

g. buka file /etc/resolv.conf

 

search puslit.lipi.go.id

nameserver 127.0.0.1

nameserver 192.168.x.x

nameserver 192.168.0.10

 

h. buka dan edit file /etc/hosts

 

127.0.0.1 localhost.localdomain localhost

192.168.x.x server.puslit.lipi.go.id server

 

# The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

 

i. hidupkan bind9 dgn perintah /etc/init.d/bind9 start

j. cek konfigurasi

 

 

 

 

VIRTUAL HOST

 

a. buat file /etc/apache2/site-availables/puslit.lipi.go.id

 

<VirtualHost 192.168.x.x:80>

ServerAdmin admin@puslit.lipi.go.id

ServerName intra.puslit.lipi.go.id

DocumentRoot /var/www/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /var/www/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# This directive allows us to have apache2′s default start page

# in /apache2-default/, but still have / go to the right place

RedirectMatch ^/$ /apache2-default/

</Directory>

 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory “/usr/lib/cgi-bin”>

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

 

ErrorLog /var/log/apache2/error.log

 

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

 

CustomLog /var/log/apache2/access.log combined

ServerSignature On

Alias /icons/ “/usr/share/apache2/icons/”

<Directory “/usr/share/apache2/icons”>

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

 

Alias /doc/ “/usr/share/doc/”

<Directory “/usr/share/doc/”>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

#Include /etc/squirrelmail/apache.conf

 

</VirtualHost>

 

 

b. buat file /etc/apache2/site-availables/data.puslit.lipi.go.id

 

<VirtualHost 192.168.x.x:80>

ServerAdmin admin@puslit.lipi.go.id

ServerName data.puslit.lipi.go.id

DocumentRoot /home/data/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /home/data/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# This directive allows us to have apache2′s default start page

# in /apache2-default/, but still have / go to the right place

RedirectMatch ^/$ /apache2-default/

</Directory>

 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory “/usr/lib/cgi-bin”>

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

 

ErrorLog /var/log/apache2/error.log

 

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

 

CustomLog /var/log/apache2/access.log combined

ServerSignature On

Alias /icons/ “/usr/share/apache2/icons/”

<Directory “/usr/share/apache2/icons”>

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

 

Alias /doc/ “/usr/share/doc/”

<Directory “/usr/share/doc/”>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

#Include /etc/squirrelmail/apache.conf

 

</VirtualHost>

 

c. Buat shortcut di dalam directory /etc/apache2/site-enable untuk alamat virtual host.

d. Buat dan edit file /etc/apache2/NameVirtualHost

 

NameVirtualHost 192.168.x.x:80

 

e. Hidupkan apache2 dengan perintah /etc/init.d/apache2 start

f. Cek konfigurasi

Published in: on July 13, 2007 at 3:59 am  Leave a Comment  

DNS Server dengan Linux Debian 4.0

DNS adalah suatu bentuk database yang terdistribusi, dimana pengelola secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (jaringan) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan atau menggunakannya.

Struktur dari database DNS bisa diibaratkan dengan struktur file dari sebuah sistem operasi Unix. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .edu, .com, .net, .id dan lain sebagainya, yang relatif terhadap puncaknya. Ini bisa diibaratkan dengan relative pathname pada sistem file Unix, seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS dinotasikan dengan “.” atau “/” pada sistem file UNIX.

Pada setiap node juga merupakan root dari subtree, atau pada sistem file UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS disebut dengan nama domain. Pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file UNIX. Pada bagian subdomain juga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya.

Cara kerja DNS

DNS bekerja dengan konsep client server, sebuah komputer yang menjalankan fungsi server disebut DNS atau name server dan komputer lain meminta penerjemahan hostname ke ip address disebut client DNS. DNS juga merupakan sistem database yang terdistribusi, sehingga memungkinkan setiap bagian dari database dikelola secara terpisah. DNS umumnya diterapkan dengan menggunakan server terpusat yang disebut server DNS atau name server yang memiliki wewenang atau otoritas dalam mengelola beberapa nama domain dan mengacu ke beberapa domain lainnya yang dikelola server DNS lain. Ketika komputer client meminta informasi ip address suatu hostname ke name server, biasanya melalui port 53, kemudian name server mencoba menerjemahkan berdasarkan library resolv nya, apakah hostname merupakan nama domain yang dikelola oleh name server dan name server memberikan jawaban berdasarkan cache dari data informasi yang sama yang pernah ditanyakan sebelumnya dan berhasil dijawab.

BIND sebagai server DNS (name server)

BIND (Berkeley Internet Name Domain) adalah salah satu aplikasi server DNS yang menjadi default aplikasi DNS dalam semua distribusi linux. Paket BIND itu berisi program server DNS yaitu /usr /bin/named yang bertanggung jawab dalam merespon pertanyaan client DNS, paket ini perlu kita install dan mengkonfigurasinya.

Nah, sekarang melakukan Percobaan DNS Server

1. Menginstall BIND9
$ apt-get install bind bind9-doc dnsutils
2. edit file pada /etc/resolv.conf
$ vim /etc/resolv.conf
3. edit nama hostname pada direktori /etc/hostname
$ vim /etc/hostname
4. konfigurasi file host.conf pada direktori /etc/hosts
$ vim /etc/hosts
5. mengkonfigurasi file-file yang dibawa oleh BIND
a. pada direktori /etc/bind/named.conf
$ vim /etc/bind/named.conf
b. pada direktori /etc/bind/named.conf.local
$ vim /etc/bind/named.conf.local
c. pada direktori /etc/bind/named.conf.options
$ vim /etc/bind/named.conf.options
d. buat file /etc/bind/db.0 dengan konfigurasi dibawah ini
$ vim /etc/bind/db.0
e. buat file /etc/bind/db.127 dengan konfigurasi dibawah ini
$ vim /etc/bind/db.127
f. buat file /etc/bind/db.255 dengan konfigurasi dibawah ini
$ vim /etc/bind/db.255
g. buat file /etc/bind/db.root dengan konfigurasi dibawah ini
$ vim /etc/bind/db.root
i. buat file /var/cache/bind/db.192.168.254 dengan konfigurasi dibawah ini
$ vim /var/cache/bind/db.192.168.254
j. buat file /var/cache/bind/db.testing dengan konfigurasi dibawah ini
$ vim /var/cache/bind/db.testing
Jadi kesimpulannya DNS adalah hasil pengembangan dari metode pencarian hostname terhadap IP address di internet. Pada DNS client (resolver) mengirimkan queries ke name server (DNS). Name server akan menerima permintaan dan memetakan nama komputer ke IP address. Domain Name Space adalah pengelompokkan secara hirarki yang tebagi atas root-level domains, top-level domains, second-level domains, dan hostname.

Published in: on July 13, 2007 at 2:36 am  Leave a Comment  
Follow

Get every new post delivered to your Inbox.