Membuat DNS server, Web server dan Database server menggunakan Linux fedora 8

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:
Server Linux Fedora 8

1. Membuat DNS server untuk domain linuxer.local
2. Membuat DNS server virtual untuk domain fxekobudi.local, sarolangun.local
3. Membuat Web server untuk domain linuxer.local, fxekobudi.local, dan sarolangun.local
4. 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.1
IP Address NIC: 192.168.0.44
Netmask: 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.a7
Paket APACHE: httpd-2.2.6-3, httpd-tools-2.2.6-3, system-config-httpd-1.4.4-1, httpd-manual-2.2.6-3
Paket MySQL: mysql-libs-5.0.45-4.fc8, mysql-5.0.45-4.fc8, mysql-server-5.0.45-4.fc8
Paket 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 SERVER
Instal 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 (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.linuxer.local.
IN MX 20 mail.linuxer.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp 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 (
1196006769
10800
3600
604800
38400 )
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 (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.fxekobudi.local.
IN MX 20 mail.fxekobudi.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp IN CNAME fxekobudi

Isi file /var/named/chroot/var/named/zone/sarolangun.local.zone:

$ttl 38400
@ IN SOA ns.linuxer.local. root.linuxer.local (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.sarolangun.local.
IN MX 20 mail.sarolangun.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp IN CNAME fxekobudi

Konfigurasi untuk file /etc/resolv.conf:

search linuxer.local
search fxekobudi.local
search sarolangun.local
nameserver 127.0.0.1
nameserver 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 SERVER
Instal paket:

# yum install httpd

Edit file konfigurasi apache:

# vim /etc/httpd/conf/httpd.conf

Berikut beberapa konfigurasi yang perlu Anda lakukan:

### Section 1: Global Environment
User apache
Group apache

### Section 2: ‘Main’ server configuration
DocumentRoot “/var/www/html”

DirectoryIndex index.html index.html.var index.php

### Section 3: Virtual Hosts
# Konfigurasi virtual host
Include ./conf/vhosts.conf

Buat file virtual host:
# vim /etc/httpd/conf/vhosts.conf

NameVirtualHost 192.168.0.44:80


ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html
ServerName linuxer.local
ServerAlias www.linuxer.local
ErrorLog logs/error_log
CustomLog logs/access_log combined


ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/fxekobudi
ServerName fxekobudi.local
ServerAlias www.fxekobudi.local
ErrorLog logs/fxekobudi.local-error_log
CustomLog logs/fxekobudi.local-access_log combined


ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/sarolangun
ServerName sarolangun.local
ServerAlias www.sarolangun.local
ErrorLog logs/sarolangun.local-error_log
CustomLog logs/sarolangun.local-access_log combined

Jalankan daemon web server untuk runlevel yang diinginkan:

# /sbin/chkconfig –levels 235 httpd on

3. DATABASE SERVER
Instal paket:

# yum install mysql-libs mysql mysql-server

Jalankan 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. PHP
Instal paket:

# yum install php-common php php-gd php-mysql

Untuk edit file php.ini, gunakan command berikut:

vim /etc/php.ini

Pada 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

Comments

Popular Posts