CLICK HERE FOR BLOGGER TEMPLATES AND MYSPACE LAYOUTS »

Rabu, 25 Februari 2009

membuat web server

Membuat DNS Server, Web Server dan Database Server Menggunakan Linux Fedora 8by FX. Eko Budi Kristanto DNS Server dan LAMP menggunakan Linux Fedora sebenarnya pernah saya tuliskan pada artikel saya yang terdahulu, tentang DNS Server Linux, Web Server Linux. Dengan tujuan membantu rekan-rekan yang baru saja beralih ke Linux dan kebetulan menggunakan Linux Fedora 8, ada baiknya saya menuliskan artikel ini. Panduan ini untuk kasus sebagai berikut:
Membuat DNS server untuk domain linuxer.local Membuat DNS server virtual untuk domain fxekobudi.local, sarolangun.local Membuat Web server untuk domain linuxer.local, fxekobudi.local, dan sarolangun.local Membuat Database server menggunakan MySQL yang akan digunakan oleh aplikasi open source (Wordpress, Joomla, dan Drupal) pembangun situs lokal pada domain yang telah saya sebutkan di atas. Sebelum mulai melangkah ke konfigurasi DNS dan LAMP (Linux-Apache-PHP-MySQL), berikut ini adalah konfigurasi pada Laptop yang saya gunakan:
IP Loopback: 127.0.0.1IP Address NIC: 192.168.0.44Netmask: 255.255.255.192 (/26)
Paket BIND: bind-9.5.0-18.a7, bind-libs-9.5.0-18.a7, bind-utils-9.5.0-18.a7, bind-chroot-9.5.0-18.a7Paket APACHE: httpd-2.2.6-3, httpd-tools-2.2.6-3, system-config-httpd-1.4.4-1, httpd-manual-2.2.6-3Paket MySQL: mysql-libs-5.0.45-4.fc8, mysql-5.0.45-4.fc8, mysql-server-5.0.45-4.fc8Paket PHP: php-common-5.2.4-3, php-5.2.4-3, php-gd-5.2.4-3, php-cli-5.2.4-3, php-mysql-5.2.4-3
Semua paket sudah disertakan dalam DVD Installer Fedora 8, jadi jika belum terinstal, silahkan instal dengan menggunakan media DVD atau bisa juga menggunakan repository Fedora 8. Untuk mengecek apakah sudah terinstal atau belum, gunakan command: $ rpm -qa grep [nama-paket]
1. DNS SERVERInstal paket:# yum install bind bind-libs bind-utils bind-chroot
Tidak seperti pada fedora 7, Anda dapat menemukan named.conf setelah instalasi bind. Sehingga hanya perlu mengedit konfigurasinya saja.
# vim /var/named/chroot/etc/named.conf
options {listen-on port 53 { 127.0.0.1; };listen-on-v6 port 53 { ::1; };directory “/var/named”;dump-file “/var/named/data/cache_dump.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { localhost; };recursion yes;};
logging {channel default_debug {file “data/named.run”;severity dynamic;};};
zone “.” IN {type hint;file “named.ca”;};
include “/etc/named.rfc1912.zones”;
// ————-// Resolve DNS// ————-zone “linuxer.local” IN {type master;file “./zone/linuxer.local.zone”;allow-update { key “rndckey”; };allow-transfer { 192.168.0/26; };};
// ————-// Reverse DNS// ————-zone “0.168.192.in-addr.arpa” IN {type master;file “./zone/0.168.192.in-addr.arpa.zone”;allow-update { key “rndckey”; };allow-transfer { 192.168.0/26; };};
include “/etc/named.primary.conf”;
Isi file /var/named/chroot/var/named/zone/linuxer.local.zone:
$ttl 38400@ IN SOA ns.linuxer.local. root.linuxer.local (119600677010800360060480038400 )IN NS fxekobudi.linuxer.local.IN MX 20 mail.linuxer.local.fxekobudi IN A 192.168.0.44www IN CNAME fxekobudiftp IN CNAME fxekobudi
Isi file /var/named/chroot/var/named/zone/0.168.192.in-addr.arpa.zone:
$ttl 38400@ IN SOA ns.linuxer.local. root.linuxer.local (119600676910800360060480038400 )IN NS fxekobudi.linuxer.local.44 IN PTR fxekobudi.linuxer.local.
Konfigurasi untuk file /var/named/chroot/etc/named.primary.conf:# vim /var/named/chroot/etc/named.primary.conf
// —————————-// Virtual Domain fxekobudi.local// —————————-zone “fxekobudi.local” IN {type master;file “./zone/fxekobudi.local.zone”;allow-update { key “rndckey”; };allow-transfer { 192.168.0/26; };};
// —————————-// Virtual Domain sarolangun.local// —————————-zone “sarolangun.local” IN {type master;file “./zone/sarolangun.local.zone”;allow-update { key “rndckey”; };allow-transfer { 192.168.0/26; };};
Isi file /var/named/chroot/var/named/zone/fxekobudi.local.zone:
$ttl 38400@ IN SOA ns.linuxer.local. root.linuxer.local (119600677010800360060480038400 )IN NS fxekobudi.fxekobudi.local.IN MX 20 mail.fxekobudi.local.fxekobudi IN A 192.168.0.44www IN CNAME fxekobudiftp IN CNAME fxekobudi
Isi file /var/named/chroot/var/named/zone/sarolangun.local.zone:
$ttl 38400@ IN SOA ns.linuxer.local. root.linuxer.local (119600677010800360060480038400 )IN NS fxekobudi.sarolangun.local.IN MX 20 mail.sarolangun.local.fxekobudi IN A 192.168.0.44www IN CNAME fxekobudiftp IN CNAME fxekobudi
Konfigurasi untuk file /etc/resolv.conf:search linuxer.localsearch fxekobudi.localsearch sarolangun.localnameserver 127.0.0.1nameserver 192.168.0.44
Tes konfigurasi DNS server:$ dig linuxer.local$ nslookup www.linuxer.local
Jalankan daemon DNS server untuk runlevel yang diinginkan:# /sbin/chkconfig –levels 235 named on
2. WEB SERVERInstal paket:# yum install httpdEdit file konfigurasi apache:# vim /etc/httpd/conf/httpd.confBerikut beberapa konfigurasi yang perlu Anda lakukan:
### Section 1: Global EnvironmentUser apacheGroup apache
### Section 2: ‘Main’ server configurationDocumentRoot “/var/www/html”DirectoryIndex index.html index.html.var index.php
### Section 3: Virtual Hosts# Konfigurasi virtual hostInclude ./conf/vhosts.conf
Buat file virtual host:# vim /etc/httpd/conf/vhosts.conf
NameVirtualHost 192.168.0.44:80
ServerAdmin admin@linuxer.localDocumentRoot /var/www/htmlServerName linuxer.localServerAlias www.linuxer.localErrorLog logs/error_logCustomLog logs/access_log combined
ServerAdmin admin@linuxer.localDocumentRoot /var/www/html/fxekobudiServerName fxekobudi.localServerAlias www.fxekobudi.localErrorLog logs/fxekobudi.local-error_logCustomLog logs/fxekobudi.local-access_log combined
ServerAdmin admin@linuxer.localDocumentRoot /var/www/html/sarolangunServerName sarolangun.localServerAlias www.sarolangun.localErrorLog logs/sarolangun.local-error_logCustomLog logs/sarolangun.local-access_log combined
Jalankan daemon web server untuk runlevel yang diinginkan:# /sbin/chkconfig –levels 235 httpd on
3. DATABASE SERVERInstal paket:# yum install mysql-libs mysql mysql-serverJalankan daemon mysql server untuk runlevel yang diinginkan:# /sbin/chkconfig –levels 235 mysqld on
Gunakan phpMyAdmin untuk mempermudah administrasi. Baca artikel saya tentang instalasi phpMyAdmin.Buat user selain root untuk mengakses database, gunakan interface phpMyAdmin saja.
4. PHPInstal paket:# yum install php-common php php-gd php-mysqlUntuk edit file php.ini, gunakan command berikut:vim /etc/php.iniPada bagian;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Error handling and logging ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Rubah pada baris 356:display_errors = On
Pada baris 619, tambahkan extension=gd.so agar script php dapat memanggil modul gd yang akan digunakan untuk Joomla:
;;;;;;;;;;;;;;;;;;;;;;; Dynamic Extensions ;;;;;;;;;;;;;;;;;;;;;;;extension=gd.so