Minggu, 12 Mei 2013

02.47 - No comments

KONFIGURASI DHCP

Sebelumnya sudah dijelaskan mengenai pembahasan tentang DNS server yang saya kerjakan pada praktikum mata kuliah jaringan komputer, lalu saat ini saya juga akan sedikit menjelaskan mengenai perihal konfigurasi dari DHCP. Berikut soal Praktikum Jaringan Komputer Modul 3 DHCP.

Settinglah konfigurasi IP secara DHCP di mana server DHCP ada di dalam Elmo dengan ketentuan:
- host tom, jerry, spike, dan doraemon mendapatkan IP secara DHCP sesuai dengan IP yang sudah ditentukan di topologi
- untuk host snoppy dan woodstock:
            - untuk soal DNS (IP di set secara statis)
            - untuk soal DHCP, snoopy dan woodstock harus mendapatkan IP random

Topologinya masih sama seperti yang sebelumnya.

klai ini host yang akan dibuat menjadi DHCP adalah host elmo, oleh karenanya install dhcp server terlebih dahulu

apt-get dhcp3-server

lalu buka nano /etc/default/isc-dhcp-server  dan ubah pada bagian
INTERFACES="eth0"

tambahkan eth0 karena hubungan dari router ke tuntap

lalu buka nano /etc/dhcp/dhcp.conf dan tambahkan konfigurasi berikut

option subnet-mask 255.255.255.0;
option broadcast-address 172.16.0.255;
option routers 172.16.0.1;
option domain-name "klpe19.jarkom.com";
option domain-name-servers 172.16.0.4, 172.16.0.13, 172.16.0.2;

//konfigurasi diatas diperuntukan ke router yang menangani jaringan. dimana //patrik 172.16.0.1 dengan beberapa dns server yang ditangani oleh //elmo,woodstock dan stitch



subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.20 172.16.0.200;
}
//konfigurasi diatas untuk menentukan jumlah range ip yang tersedia bagi host //yang belum terdaftar di dhcp server. dan host yang belum terdaftar akan //mendapatkan ip random dari 20 - 200 jika terhubung ke dhcp server.

host doraemon {
hardware ethernet aa:1e:66:eb:07:d4;
fixed-address 172.16.0.5;
}

host tom {
hardware ethernet 86:1e:1e:b1:36:5a;
fixed-address 172.16.0.10;
}

host jerry {
hardware ethernet fe:26:07:50:3d:a6;
fixed-address 172.16.0.11;
}

host spike {
hardware ethernet 4e:e5:3a:12:6d:37;
fixed-address 172.16.0.5;
}
//konfigurasi diatas adalah daftar host yang telah terdaftar pada dhcp server
//nilai hardware ethernet didapatkan dengan menjalankan command ifconfig //pada host yang diinginkan

edit konfigurasi /etc/network/interfaces pada setiap host yang didaftarkan ke dhcp server, dengan mengganti pada bagian  iface eth0 inet static diganti menjadi iface eth0 inet dhcp dan komen pada address,netmask dan gateway host tersebut

contoh : 

auto eth0
iface eth0 inet dhcp
#address 10.151.70.78
#netmask 255.255.255.0
#gateway 10.151.70.77

02.43 - No comments

KONFIGURASI DNS SERVER

Pada kesempatan kali ini saya akan membahas mengenai permasalahan konfigurasi pada sebuah DNS Server, pada mata kuliah jaringan komputer saya mendapati permasalahan konfigurasi pada modul 3 praktikumnya.

Berikut adalah soal Praktikum Jaringan Komputer Modul 3 DNS.



1.   Berilah nama pada komputer dan router sesuai dengan topologi anda:
2.   Dari topologi anda, buatlah hal-hal berikut ini:
a.     Satu domain besar bernama klpxx.jarkom.com, yang ditangain oleh stitch (yang tergabung dalam domain ini adalah selain woodstock & Snoopy)
Clue:
Setelah menginstall pada tempat diatas, sekarang masuk kedalam server Stitch yang menangani domain besar bernama klpxx.jarkom.com.
/etc/bind/name.conf.local
ànano /etc/bind/name.conf.local
b.     Subdomain kartun.klpxx.jarkom.com, beranggotakan woodstock, yang ditangani oleh Stitch. Komputer woodstock akan bernama woodstock.kartun.klpxx.jarkom.com
c.     Subdomain anime.klpxx.jarkom.com, beranggotakan snoopy, yang ditangani oleh elmo. Komputer snoopy akan bernama snoopy.anime.klpxx.jarkom.com
d.     woodstock.kartun.klpxx.jarkom.com akan menjadi slave untuk Anime.klpxx.jarkom.com
e.     Kalau melakukan ping ke admin.klpxx.jarkom.com maka akan mengarah ke Doraemon
f.     Kalau melakukan ping ke dns.klpxx.jarkom.com maka akan mengarah ke Stitch
g.     Elmo menjadi dns slave dari Stitch
3.   Buatlah ‘load balancing’. Sehingga jika kita ping ke server.klpxx.jarkom.com, maka akan muncul 2 IP server, yaitu IP Stitch dan IP Elmo

 BUAT TOPOLOGI JARINGAN TERLEBIH DAHULU

Kita dapat membuat jaringan komputer berdasarkan topologi tertentu secara virtual dengan User Mode Linux. User Mode Linux (UML) merupakan sebuah terminal (xterm) yang masing-masingnya bertindak sebagai sebuah komputer (host). Dalam sebuah sistem operasi berbasis Linux, kita dapat membuat banyak UML sekaligus dan menghubungkan host virtual tersebut antara satu sama lain sehingga terbentuk topologi jaringan komputer yang kita inginkan. Adapun topologi pada modul 3 saat ini dapat dilihat dari gambar berikut : 



Dari gambar tersebut dapat diambil beberapa poin yang nantinya akan membantu dalam setting di dalamnya yaitu : 
  • Terdapat sebuah router, 2 switch, 2 komputer server, dan 6 komputer client.
  • Router memiliki 3 interface, eth0 terhubung ke tuntap (jaringan luar), eth1 terhubung ke subnet pertama, dan eth2 terhubung ke subnet kedua. 
  • Terdapat sebuah switch yang dihubungkan di antara router dan masing-masing subnet. ·         Masing-masing subnet terdiri dari 1 komputer server dan 3 komputer client
Berdasarkan deskripsi tersebut, mari kita buat konfigurasi IP address dari masing-masing host (host: router, komputer server & client).
·         Router (patrick)
o   eth0
§  IP address           : 10.151.70.34
§  Netmask              : 255.255.255.0
§  Gateway              : 10.151.70.33
o   eth1
§  IP address           : 172.16.0.1
§  Netmask              : 255.255.255.0
o   eth2
§  IP address           : 172.16.1.1
                              §  Netmask              : 255.255.255.0
Adapun untuk membuat topologi seperti gambar diatas dibutuhkan bridge untuk menghubungkan kedua switch. pertama install bridge terlebih dahulu pada router

apt-get install bridge-utils

lalu lakukan konfigurasi pada /etc/network/interfaces seperti berikut

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.151.70.78
netmask 255.255.255.0
gateway 10.151.70.77

auto eth1 eth2
iface eth1 inet manual
iface eth2 inet manual

auto br0
iface br0 inet static
bridge_ports eth1 eth2
address 172.16.0.1
netmask 255.255.255.0

dimana eth1 dan eth2 merupakan hubungan kedua switch1 dan switch2 ke router.

lalu sesuai topologi diatas install DNS server pada stitch dan elmo 

apt-get install bind9 dns-utils

bind9 merupakan aplikasi dari dns servernya dan dns-utils merupakan tools untuk melakukan pengecekannya dengan menggunakan nslookup.

Adapun untuk host sisanya dapat disesuaikan dengan settingan berikut ini : 

Subnet Pertama
o   Komputer Server.1 (stitch)
§  IP address           : 172.16.0.2
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.0.1
o   Komputer Client.1.1 (snoopy)
§  IP address           : 172.16.0.3
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.0.1
o   Komputer Client.1.2 (woodstock)
§  IP address           : 172.16.0.4
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.0.1
o   Komputer Client.1.3 (doraemon)
§  IP address           : 172.16.0.5
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.0.1


·         Subnet Kedua
o   Komputer Server.2 (elmo)
§  IP address           : 172.16.1.2
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.1.1
o   Komputer Client.2.1 (tom)
§  IP address           : 172.16.1.3
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.1.1
o   Komputer Client.2.2 (jerry)
§  IP address           : 172.16.1.4
§  Netmask              : 255.255.255.0
§  Gateway              : 172.16.1.1
o   Komputer Client.2.3 (spike)
§  IP address           : 172.16.1.5
§  Netmask              : 255.255.255.0
                              §  Gateway              : 172.16.1.1

berikut konfigurasi di host stitch untuk kasus nomor 1.a

zone "klpe19.jarkom.com" IN{
        type master;
        file "/etc/bind/zone.com.jarkom.klpe19";
};

dns klpe19.jarkom.com bertipe master dengan konfigurasi file pada /etc/bind/zone.com.jarkom.klpe19 seperti berikut ini.

$TTL 1D
@       IN      SOA     klpe19.jarkom.com. root.klpe19.jarkom.com. (
                        2013041905 ; serial
                        8H ; refresh
                        4H ; retry
                        4W ; expire
                        1D ); minimum

@       IN      NS      ns.klpe19.jarkom.com.
@       IN      A       172.16.0.2
ns      IN      A       172.16.0.2


doraemon        IN      A       172.16.0.5
elmo            IN      A       172.16.0.13
tom             IN      A       172.16.0.10
jerry           IN      A       172.16.0.11
spike           IN      A       172.16.0.12

bagian paling bawah atau :
namahost      IN      A         Ip host

adalah daftar host yang terhubung dengan dns server di stitch. dalam kasus ini kecuali host woodstock dan snoopy, host lain ditangani oleh dns server stitch.

untuk penyelesaian kasus nomor 1.b kita harus membuat sebuah sub domain dari klpe19.jarkom.com dengan nama kartun.klpe19.jarkom.com dimana host yang ditangani oleh dns ini adalah woodstock.

pertama buka kembali /etc/bind/named.conf.local lalu tambahkan

zone "kartun.klpe19.jarkom.com" {
        type master;
        file "/etc/bind/zone.com.jarkom.klpe19.kartun";
};


lakukan konfigurasi berikut pada stitch,  copy file /etc/bind/zone.com.klpe19.jarkom.com

cp /etc/bind/zone.com.klpe19.jarkom.com /etc/bind/zone.com.klpe19.jarkom.com.kartun

lalu ubah konfigurasinya menjadi

$TTL 1D
@       IN      SOA     kartun.klpe19.jarkom.com. root.kartun.klpe19.jarkom.com$
                        2013041904 ; serial
                        8H ; refresh
                        4H ; retry
                        4W ; expire
                        1D ); minimum

@       IN      NS      ns.kartun.klpe19.jarkom.com.
@       IN      A       172.16.0.2
ns      IN      A       172.16.0.2

woodstock       IN      A       172.16.0.4

lalu untuk menyelesaikan kasus nomor 1.c dimana akan dibuat sebuah domain anime.klpe19.jarkom.com yang ditangani oleh host elmo yang beranggotakan snoopy lakukan konfigurasi sebagai berikut di elmo.

buka /etc/bind/named.conf.local dan tambahkan

zone "anime.klpe19.jarkom.com" IN{
        type master;
        file "/etc/bind/zone.com.jarkom.klpe19.anime";
};

lalu buka /etc/bind/zone.com/klpe19.jarkom.com.anime dan tambahkan
zone.com.jarkom.klpe19.anime               

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     anime.klpe19.jarkom.com. root.anime.klpe19.jarkom.com. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.anime.klpe19.jarkom.com.
@       IN      A       172.16.0.13
ns      IN      A       172.16.0.13

snoopy  IN      A       172.16.0.3

pada kasus 1.d dns woodstock dijadikan slave dari anime.klpe19.jarkom.com
pada kasus ini woodstock harus memiliki dns server sendiri oleh karenanya install bind9 pada woodstock

lalu buka /etc/bind/named.conf.local dan tambahkan

 zone "anime.klpe19.jarkom.com" IN{
        type slave;
        file "/etc/bind/zone.com.jarkom.klpe19.anime";
        masters {
                172.16.0.13;
        };
};

yang menandakan bahwa woodstock menjadi slave dari dns anime yang berlokasi di 172.16.0.13 atau elmo.

untuk kasus pada 1.e dan 1.f kita hanya perlu membuka kembali /etc/bind/zone.com.klpe19.jarkom pada stitch dan menambahkan syntax sebagai berikut

 admin     IN    CNAME  doraemon
dns      IN    CNAME   @

@ yang berarti stitch sendiri.

 pada kasus 1.g dns server elmo menjadi slave untuk stitch, sama seperti pada kasus 1.e buka kembali /etc/bind/named.conf.local di elmo dan tambahkan

zone "klpe19.jarkom.com" IN{
        type slave;
        file "/etc/bind/zone.com.jarkom.klpe19";
        masters {
                172.16.0.2;
        };
};

dimana elmo akan menjadi slave dari 172.16.0.2 atau stitch

untuk kasus nomor 2 buka kembali /etc/bind/zone.com.klpe19.jarkom dan tambahkan syntax berikut

server          IN      A       172.16.0.2 ; load
server          IN      A       172.16.0.13 ; balancing

jangan lupa untuk terus melakukan restart setiap kali melakukan perubahan pada host yang menjadi dns server dengan menjalankan perintah

service bind9 restart

sekarang dns server sudah selesai sesuai dengan studi kasus seperti yang diatas. untuk mengetahui apakah dns server sudah berjalan kita dapat melakukan beberapa tes.

test konfigurasi pada named.conf.local
named-checkconf  [nama_file]
konfigurasi sudah benar jika tidak ada syntax yang salah

tes konfigurasi pada zone.com.klpxx.jarkom.com
named-checkzone name [nama_file]
konfigurasi sudah benar jika terdapat status OK yang muncul

mencoba alamat atau domain klpxx.jarkom.com
pada /etc/resolv.conf tambahkan syntax berikut pada baris paling atas

nameserver [IP DNS server]
cth:
nameserver 172.16.0.2

lalu ping domain yg diinginkan

ping [nama domain]
cth:
ping klpe19.jarkom.com

berhasil jika mendapat respon

untuk load balancing kita dapat melakukan tes dengan
ping server.[nama domain]
 

Senin, 15 April 2013

17.49 - No comments

Cari tahu yuk membuat Java Web Server dengan menampilkan file html pada localhost



JAVA WEB SERVER
  • Bagaimana caranya menampilkan sebuah file html dengan cara membuka localhost sendiri dengan port yang telah ditentukan.

Dari Code yang sudah ada dan sudah dijadukan panutan itu sbenernya hanya ada beberapa yang harus diubah ataupun juga ditambahkan baris codenya yaitu seperti gambar berikut ini: 

Jadi ditengah soucre codeny yang ada, tambahkan 3 baris seperti diatas untuk dapat mengakses html yang pathnya telah kami tentukan sebelumnya. Jadi kita membuat sebuah variable file dengan tipe data sebuah file dengan path yang telah ditentukan. Setelah pathnya sudah benar maka variable file tersebut akan dimasukkan ke dalam class file input stream.
Setelah itu tambahkan bebrapa line lagi agak dibawah kode sebelumnya dengan seperti berikut :



Yang dmana code diatas berfungsi untuk memanggilkan file input stream tadi, lalu dengan itu file html yang berada pada path pilihan kita nantinya akan dapat di outputkan dan dapat diperiksa.

Minggu, 14 April 2013

17.14 - No comments

Cari tahu yuk tata cara membuat WEB SERVER yang baik dan benar


WEB SERVER

  • Cara memuat routing sederhana yang terdiri atas client, router dan DMZ?
Caranya Pertama buatlah sebuah file yang akan menginisiasikan tiap host dan switch. Tulis script berikut pada file tersebut.
            Untuk membuat switch :
            uml_switch -unix [nama_switch] > /dev/null < /dev/null &
           
            untuk membuat host yang terhubung dengan switch :
             xterm -T [nama_host] -e linux ubd0=[nama_host],uml umid=[nama_host]             eth0=daemon,,,[nama_switch] mem=[jumlah memori] &
           
            untuk membuat router:
            xterm -T [nama_router] -e linux ubd0=[nama_router],uml umid=[nama_router]             eth0=tuntap,,,10.151.70.77 eth1=daemon,,,[nama_switch] mem=[jumlah_memori] &
           
            buatlah host sebanyak yang dibutuhkan dengan nama yang berbeda-beda, dalam soal buat  routing dengan 1 client, 1 DMZ dan 1 router. Kita anggap client dan DMZ  sebagai host   yang terhubung dengan switch sehingga buat 2 host ,1 switch dan 1 router

  • Cara meng-install apache,mySQL, phpmyadmin pada DMZ
    Host ,switch dan router telah dibuat, namun saat dijalankan host,router dan switch masih belum terhubung satu dengan yang lainnya dan belum terhubung ke internet juga. Oleh karenanya kita harus melakukan beberapa konfigurasi untuk terhubung ke jaringan ITS sehingga dapat menginstall apache,mySQL dan phpmyadmin pada host DMZ.

    Konfigurasi pada Router :
    edit file pada direktori /etc/network/interfaces dengan text editor (nano,vim,dll). Tambahkan script berikut :
    auto lo
    iface lo inet loopback

    auto eth0 # inisiasi hubungan ke jaringan luar
    iface eth0 inet static
    address 10.151.70.78 #ip router yang diinginkan(IP yang diberikan +2)
    netmask 255.255.255.0 #netmask
    gateway 10.151.70.77 # gateway yang diinginkan(IP yang diberikan +1)

    auto eth1 # hubungan ke switch
    iface eth1 inet static
    address 172.16.0.3 #ip router ke switch
    netmask 255.255.255.0

    buka file pada /etc/sysctl.conf
    uncommnet pada bagian net.ipv4.ip_forward=1
    untuk dapat ping ke jaringan luar kita harus menambahkan script untuk mengatur iptables. Edit file pada /etc/rc.local dan tambahkan script berikut :
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE.

    Restart service untuk jaringan dengan menginput command :
    service networking restart.

    Tes untuk koneksi ke jaringan ITS dengan ping its.ac.id.


    Konfigurasi pada host
    buka dan edit file pada /etc/network/interfaces dengan script berikut :

    auto lo
    iface lo inet loopback

    auto eth0 # untuk hubungan dengan router
    iface eth0 inet static
    address 172.16.0.131 #ip host yang diinginkan
    netmask 255.255.255.0
    gateway 172.16.0.3 #gateway adalah ip router yang terhubung dengan switch

    restart service untuk networking dengan menjalankan command :
    service networking restart

    Ping ke router lalu ping ke its.ac.id
    jika host telah mendapatkan respond maka sudah terhubung dengan jaringan ITS.
    Install apache2, mySQL dan phpmyadmin 

    apt-get install apache2
    apt-get install mySQL
    apt-get install phpmyadmin
     

  • DMZ akan digunakan sebagai Web Server. Terdapat 2 buah website yang ditangani oleh web server ini yaitu ip_anda:80, ip_anda:8080. Kemudian pada website  ip_anda:80  terdapat subdirektori /admin yang mana sebenarnya file-filenya terletak di /home/admin, berbeda dengan file-file lain yang terletak di /var/www.Ketika mengakses ip_anda:8080 user harus menginputkan username dan password (menggunakan .htaccess) Semua website tidak boleh menampilkan list direktori. Jadi jika tidak ada file index (index.html, index.php, default.asp) maka daftar file dan subdirektori yang ada tidak akan tampil. Ketika kita mengakses ip_anda:80/example maka akan diarahkan ke ip_anda:80/example/example.html

Untuk dapat membuka laman sebuah website kita harus menginstall lynx browser pada virtual host yang kita miliki.

Apt-get install lynx

setelah menginstall apache cobalah untuk membuka laman default dari DMZnya dengan menjalankan command 

lynx (ip_anda)172.16.0.131:80 atau localhost
Jika mengeluarkan tampilan sebagai berikut maka apache2 sudah terinstall dengan baik

Konfigurasi untuk port 80:

untuk menambahkan meletakkan file-file yang ingin diakses pada sebuah direktori tambahkan direktori baru pada direktori home dengan menjalankan command :
mkdir /home/admin.

Agar dapat membuka file pada direktori admin tersebut dengan menggunakan lynx kita harus mengedit file pada /etc/apache2/sites-availble/default dengan menambahkan :
 <Directory /home/admin/>

                Order allow,deny

                allow from all

        </Directory>


Lalu untuk mengubah agar lynx hanya membuka alamat dengan menunjuk kepada direktori file yang terdapat pada /admin kita tambahkan script berikut

Alias /admin /home/admin

dan hapus kata indexes pada kalimat Option Indexes FollowSymLinks Multiviews
sehingga script pada /etc/apache2/sites-availble/default menjadi :

Konfigurasi pada port 8080:
copy  script /etc/apache2/sites-availble/default (blm diedit) ke filebaru pada direktori /etc/apache2/sites-availble/filebaru. Lalu edit pada beberapa bagian diantaranya :
tambahkan pada baris paling atas listen 8080
ganti virtualhost yang dituju menjadi 8080
<VirtualHost *:8080>

ganti direktori pada document root menjadi /var/www/fiilebaru(nama file baru)
DocumentRoot /var/www/ fiilebaru

untuk menambah autentikasi pada saat membuka laman dengan port 8080. buatlah file baru pada /var/www/ dengan nama .htaccess jalankan dengan command :
nano /var/www/.htaccess
tambahkan pada file tersebut :

AuthName "selamat datang" #header dari kalimat saat prompt autentikasi keluar
     AuthType Basic
     AuthUserFile /var/www/.htpasswd #letak dari password tiap user yang telah direquire
     require user e19 # nama-nama user yang dapat mengakses laman

Buat file .htpasswd dengan menjalankan command
htpasswd -cmd .htpasswd , dimana akan diberikan prompt untuk memasukan nama user dan password yang ingin diberikan. Atau dengan membuat file baru pada /var/www/ dengan nama .htpasswd yang berisi namauser:enkripsipassword.

Lalu edit kembali file /etc/apache2/sites-availble/port8080 dengan mengganti pada kalimat AllowOverride None diganti menjadi AllowOverride AuthConf

jalankan command service apache2 restart. Untuk merestart apache
jalankan dengan membuka laman lynx ip_anda:8080


  • Buatlah configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate. 


Untuk membuat ssl dengan studi kasus self-signed-certificate , pertama kita harus mengenerate sertifikatnya dan keynya dengan menjalankan command berikut :
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days NNN

buat folder baru pada direktori yang diinginkan lalu copy sertifikat dan  key yang telah digenerate tadi ke folder tersebut.

cp new.cert.cert /direktori_anda/apache.pem

cp new.cert.key /direktori_anda/apache.key
lalu buka dan edit file pada /etc/apache2/sites-availble/default-ssl menjadi :

SSLEngine on

SSLCertificateFile /direktori_anda/apache.pem

SSLCertificateKeyFile /direktori_anda/apache.key


jalankan command a2ensite default-ssl
service apache2 restart

untuk mencobanya buka laman dengan tambahan https sebagai protokolnya.

  •  Lakukan configurasi untuk mengoptimasi Apache dengan asums:  guaranteed  RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB 


Kita lihat besar memori yang digunakan untuk menjalankan webserver dengan mengetikkan command top. Disitu kita dapat melihat jumlah memori yang digunakan tiap proses, jika kita mengetikkan shift+m maka akan di sort sesuai dengan jumlah terbesar dari yang terkecil. Alhasil pada data yang kami dapatkan terlihat bahwa terdapat lebih dari satu proses apache yang berjalan. Untuk mengoptimasi penggunaan memori ini kita ambil nilai dari memori yang paling besar

lalu jalankan command free -m untuk melihat jumlah memori yang terpakai seluruhnya dan yang free.

Maka jalankan rumus sebagai berikut.

N = nilai optimasi
M = jumlah memori yang dipakai proses apache2
F = memori yang free

(ceil)N = M * 0,8 / F
nilai N dibulatkan keatas

lalu buka file pada /etc/apache2/apache2.conf  cari MaxClients yang digunakan dan ganti dengan nilai dari N.
Min dan MaxSpareServers adalah 20% dari nilai MaxClients dan dibulatkan
sehingga menjadi

MinSpareServers         20%*N(Ceil)
MaxSpareServers        20%*N(Ceil)
MaxClients                  N
untuk melihat hasilnya jalankan command top kembali shift+m lihat jumlah proses dengan command apache2