Anda di halaman 1dari 22

Modul 14 – Web Server dan Database Server

A. Tujuan
- Mengerti fungsi web server dan database server.
- Mengerti fungsi database server.
- Mengerti fungsi PHP sebagai adalah bahasa pemrograman script server-side yang digunakan
dalam pengembangan web.
- Mengerti fungsi Webmin dalam melakukan pengelolaan server.

B. Alat pendukung
- Multimedia Proyektor.
- Whiteboard.
- Spidol.
- VMWare.
- Linux Ubuntu Server 16.04
- Webmin

C. Indikator Pencapaian

- Praktikan mampu melakukan instalasi dan konfigurasi Web Server.


- Praktikan mampu melakukan instalasi dan konfigurasi Database Server.
- Praktikan mampu melakukan instalasi dan konfigurasi PHP.
- Praktikan mampu membuat Virtual Host.
- Praktikan mampu mengelola database yang dibutuhkan oleh halaman web.
- Praktikan mampu melakukan instalasi halaman web dengan Free CMS Wordpress.

Teori
Pengertian Umum
Web server

Web server adalah sebuah aplikasi yang berada pada server yang memberikan layanan berbasis data
dengan protokol HTTP atau HTTPS. Layanan pada web server diakses dengan web browser seperti
Mozilla Firefox, Google Chrome, Opera, Internet Explorer dan lain-lain. Berkas data yang dikirim web
server ke pengguna secara umum berbentuk dokumen HTML. Berkas pada suatu halaman web bisa
terdiri dari teks, video, gambar, file dan lain-lain. Aplikasi web server yang banyak digunakan adalah:

 Apache
 Nginx
 Internet Information Services (IIS)
 Caddy
 Lighttpd.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Database Server

Database Server adalah sebuah aplikasi pada server yang melakukan pengelolaan, penyimpanan konten
informasi dan penyediaan layanan basis data dengan model client-server. Macam-macam aplikasi
database antara lain:

 JSON
 XML
 MySQL
 MongoDB
 MariaDB
 Postgre SQL
 Oracle Database
 SAP HANA
 MemSQL
 IBM Db2
 Firebird
 Interbase
 Database Warehouse (DW atau DWH)
 Microsoft SQL Server
 Microsoft (Office) Access
 SQLite

PHP

PHP merupakan scripting language atau bahasa pemrograman yang berjalan pada sisi server yang
digunakan untuk pengembangan halaman web. Dengan menggunakan PHP kita bisa membangun
aplikasi web yang bersifat dinamis dibandingkan menggunakan kode HTML biasa yang bersifat statis.

Gambar 1. Cara kerja web server

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Paket Perangkat Lunak

Paket perangkat lunak berbasis open source yang populer dalam membangun layanan web antara lain:

1. LAMP
LAMP adalah istilah yang merupakan singkatan dari Linux, Apache, MySQL/MariaDB, dan PHP.
Merupakan sebuah paket perangkat lunak berbasis open source yang bebas digunakan dalam
menjalankan aplikasi web secara lengkap.

Komponen-komponen dari LAMP:


 Linux – sistem operasi
 Apache HTTP Server – web server
 MariaDB atau MySQL – sistem basis data
 PHP atau Perl atau Python – bahasa pemrograman yang dipakai.

2. LEMP
LEMP adalah paket aplikasi yang digunakan untuk menjalankan web server sama halnya seperti
LAMP. Perbedaannya LEMP menggunakan EngineX (Nginx), sedangkan LAMP menggunakan Apache
sebagai web server. LEMP merupakan singkatan dari Linux, Nginx, MySQL/MariaDB, PHP.

Komponen-komponen dari LEMP :


 Linux – sistem operasi
 EngineX (NginX) – web server
 MariaDB atau MySQL – sistem basis data
 PHP atau Perl atau Python – bahasa pemrograman yang dipakai.

Nginx merupakan aplikasi web server berbasis open source yang memiliki kelebihan sendiri
dibandingkan Apache, karena Nginx lebih unggul dalam performa dan efisiensi penggunaan memori.

Skenario Praktikum
Catatan Pendahuluan

Skenario Praktikum ini ada hubungan dengan materi sebelumnya, yaitu Instalasi Linux Ubuntu dan DNS
Server.

 Lakukan instalasi Linux Ubuntu dengan merujuk ke materi sebelumnya.


 Hostname yang digunakan adalah svr.tedc.com dengan IP address 192.168.1.103, DNS Server
192.168.1.102 dan gateway 192.168.1.1. Skenario bisa berubah tergantung dengan pengalamatan
yang digunakan.
 Jalankan DNS Server yang sudah dikonfigurasi sebelumnya.
 Penambahan DNS Record dilakukan pada DNS Server yang telah dibuat sebelumnya.
 Seluruh perintah harus dijalankan dengan privilege Sudo.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Melihat IP Address

Setelah selesai instalasi Linux Ubuntu Server, selanjutnya kita masuk ke console CLI pada Virtual Machine
untuk akan melihat IP Address pada server. Ketikkan perintah:
ifconfig –a

Login sebagai sudo

Selanjutnya login sebagai sudo dengan perintah:

sudo su

Masukkan password yang diminta, tekan enter.

Mengubah IP Address

Untuk mengubah IP Address, ketik perintah:

nano /etc/network/interfaces

Berikan IP Address pada server sesuai dengan alamat yang dipakai pada jaringan kita, contoh:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


auto ens33
iface ens33 inet static
address 192.168.1.103
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.102 192.168.1.1 8.8.8.8
dns-domain tedc.com

Untuk menyimpan tekan ctrl x, tekan y, kemudian enter.

Restart konfigurasi interface dengan perintah:

service networking restart

Lakukan ping ke google.com untuk memeriksa apakah server kita bisa terhubung ke internet.

ping google.com

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Selanjutnya buka Command Prompt pada komputer kita, lakukan ping pada IP Address tersebut. Jika
mendapat Reply berarti antara Server Ubuntu yang diinstall pada Virtual Machine sudah terhubung
dengan komputer kita.

Konfigurasi dengan Putty

Kemudian konfigurasi server dengan Putty. Buka Putty pada komputer, masukkan IP Address
192.168.1.103, dan pilih port 22, klik open. Jika muncul Putty Security Alert pilih Yes. Masukkan
username dan password.

Setelah berhasil login, masuk sebagai sudo.

sudo su

Lakukan update server.

apt-get update

Edit hostname

nano /etc/hosts

127.0.0.1 localhost
192.168.1.103 svr svr.tedc.com

# The following lines are desirable for IPv6 capable hosts


::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Editing Resolver

nano /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)


# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.102
nameserver 192.168.1.1
nameserver 8.8.8.8
search tedc.com

Instalasi Nginx Web Server


apt install nginx -y

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Setelah instalasi selesai, start Nginx dan enable agar Nginx tetap aktif walaupun server di restart/reboot.
systemctl start nginx
systemctl enable nginx

Konfigurasi Firewall

Uncomplicated Firewall (UFW) adalah sebuah interface firewall di sistem operasi berbasis Linux. Dengan
UFW, konfigurasi firewall yang cukup rumit bisa lebih disederhanakan sehingga memudahkan sistem
administrator dalam mengelola firewall. Dianjurkan untuk mengaktifkan firewall pada server.

Tambahkan port layanan SSH dan HTTP ke konfigurasi firewall. Jalankan perintah UFW seperti di bawah
ini:
ufw allow ssh
ufw allow http

Start firewall UFW dan enable agar firewall tetap aktif walaupun sistem di reboot.
ufw enable

Membuka Nginx pada Web Browser

Buka web browser, ketik http://192.168.1.103, jika muncul tulisan Welcome to nginx! Berarti Nginx
sudah terinstal dan berjalan dengan baik.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Instalasi MySQL Database Server
sudo apt install mysql-server mysql-client -y

Berikan password untuk root, ulangi dengan password yang sama (password yang diberikan harap
diingat dengan baik).

Setelah instalasi MySQL selesai, start layanan MySQL dan enable agar MySQL tetap aktif walaupun
server di restart/reboot.
systemctl start mysql
systemctl enable mysql

Instalasi PHP-FPM
apt-get install php-fpm php-mysql

Edit php.ini
nano /etc/php/7.0/fpm/php.ini

Setelah file terbuka, tekan ctrl w dan ketik cgi.fix_pathinfo. Hapus tanda semi-colon (;) dan ubah nilai 1
menjadi 0

cgi.fix_pathinfo=0

Untuk menyimpan Tekan ctrl x, ketik y dan enter.

Restart php7
systemctl restart php7.0-fpm

Konfigure Nginx agar bisa menggunakan PHP


nano /etc/nginx/sites-available/default

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

index index.php index.html index.htm index.nginx-debian.html;

server_name 192.168.1.103;
location / {

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server

try_files $uri $uri/ =404;


}

location ~ \.php$ {
include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

Tes konfigurasi Nginx dan pastikan tidak ada kesalahan.


nginx –t

Restart Nginx.
systemctl reload nginx

Membuat file PHP untuk menguji Konfigurasi


nano /var/www/html/info.php

Ketik isi file seperti contoh dibawah ini.


<?php
phpinfo();

Untuk menyimpan Tekan ctrl x, ketik y dan enter.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Buka web browser, ketik URL http://192.168.1.103/info.php tekan enter

Instalasi Webmin

Download Webmin.

wget https://prdownloads.sourceforge.net/webadmin/webmin_1.930_all.deb

Install dependencies file.


apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-
runtime libio-pty-perl apt-show-versions python unzip

Install Webmin.
dpkg --install webmin_1.930_all.deb

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Allow Webmin pada UFW.
ufw allow webmin

Melihat UFW Status

ufw status

Status: active

To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
10000/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
10000/tcp (v6) ALLOW Anywhere (v6)

Buka Webmin https://192.168.1.103:10000

Buka menu Webmin, klik Webmin Configuration, pilih Webmin Modules.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Instalasi modul Nginx pada Webmin

Untuk menginstall module nginx pada Webmin, copy link:


https://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.11.wbm_.gz

Pada Webmin Modules centang From HTTP or FTP URL, dan paste link tersebut. Klik Install Module.

Klik Return to Webmin configuration. Klik Refresh Modules.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Kemudian klik Servers

Kembali ke Putty, ketik perintah:


nano /etc/nginx/nginx.conf

Ubah nilai keepalive_timeout menjadi 2. Keepalive_timeout adalah batas waktu sesi koneksi server
dengan klien dalam satuan detik. Nginx akan menutup sesi koneksi dengan klien setelah periode waktu
ini.

keepalive_timeout 2;

Jika sesi koneksi tidak dibatasi dan terjadi akses secara konkuren dengan jumlah akses yang banyak
maka akan menghabiskan resource memory pada server.

Restart Nginx.

systemctl reload nginx

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Kembali ke Webmin, pilih menu Servers, klik MySQL Database Server, masukkan password yang dibuat
pada proses instalasi.

Setelah berhasil masuk, maka akan terlihat daftar database yang ada secara default.

Membuat Halaman Web

Sebelum membuat halaman web, tambahkan A Record pada ns1.tedc.com (DNS Server) domain
if.tedc.com dengan IP Address 192.168.1.103.

nano /var/lib/bind/tedc.com.hosts

$ttl 3600
tedc.com. IN SOA ns1.tedc.com. root.tedc.com. (
1570947547

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server

10800
3600
604800
38400 )
tedc.com. IN NS ns1.tedc.com.
ns1.tedc.com. IN A 192.168.1.102
if.tedc.com. IN A 192.168.1.103
informatika.tedc.com. IN CNAME if.tedc.com.
svr.tedc.com. IN A 192.168.1.103

Restart BIND.

/etc/init.d/bind9 restart

Pada svr.tedc.com

nano /etc/nginx/sites-available/if

server {
listen 80;
listen [::]:80;

root /var/www/if.tedc.com;

index index.php index.html index.htm index.nginx-debian.html;

server_name if.tedc.com;

location / {

try_files $uri $uri/ =404;


}

location ~ \.php$ {
include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server

Download Free CMS Wordpress

Pada komputer kita buka web browser dan buka halaman web https://id.wordpress.org/download/,
Kemudian copy link download https://wordpress.org/latest.zip

Pada putty, masuk ke folder /var/www.

cd /var/www

Download Wordpress dengan perintah wget.

wget https://wordpress.org/latest.zip

Setelah download selesai, extract file latest.zip dengan perintah unzip.

unzip latest.zip

Jalankan perintah ls –la untuk menampilkan daftar file dan folder dalam suatu direktori.

ls -la

drwxr-xr-x 4 root root 4096 Oct 24 03:28 .


drwxr-xr-x 15 root root 4096 Oct 15 00:18 ..
drwxr-xr-x 3 root root 4096 Oct 24 02:49 html
-rw-r--r-- 1 root root 12112743 Oct 15 03:38 latest.zip
drwxr-xr-x 5 root root 4096 Oct 14 20:37 wordpress

Rename folder Wordpress menjadi if.tedc.com dengan perintah mv.

mv wordpress if.tedc.com

Ubah permission folder if.tedc.com dengan owner www-data dan group www-data.

chown -R www-data if.tedc.com


chgrp -R www-data if.tedc.com

Restart Nginx.

systemctl reload nginx

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Kembali ke Webmin, pilih MySQL Database Server, pada bagian MySQL Databases, klik Create New
Database, buat nama database dengan iftedc, kemudian klik Create.

Pada bagian Global Options, klik User Permissions, klik Create New User. Buat Username dengan nama
yang kita inginkan misal adminiftedc, password if@tedc, dan untuk Hosts ketikkan localhost, klik Create.
setelah kembali ke halaman User Permissions kemudian klik Return to database list.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Masih pada Global Options, klik Database Permissions, klik Create New Database Permissions. Pada
databases centang Selected dan pilih iftedc, pada Username ketik adminiftedc, dan pada Hosts ketik
localhost. Untuk Permission, sambil menekan tombol shift, pilih semua permissions. Klik Create,
kemudian klik Return to database list.

Buka web browser ketik http://if.tedc.com, pilih bahasa Indonesia, klik lanjutkan.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Buat nama basis Data, nama pengguna, kata sandi. Host dan Prefix biarkan secara default.

Klik Jalankan pemasangan.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Klik Ayo.

Buat Judul Situs, Nama Pengguna, sandi, dan email. Nama pengguna dan sandi disini digunakan untuk
login ke dasbor web.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Klik Log Masuk, untuk login ke dasbor pertama kali.

Masukkan nama pengguna dan sandi yang dibuat tadi

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Untuk memperindah tampilan web, klik Sesuaikan Situs Anda. Lakukan kustomisasi dengan theme yang
ada.

Setelah selesai, logout dari dasbor.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung


Modul 14 – Web Server dan Database Server
Inilah tampilan web yang sudah dibuat. Untuk mengisi konten, bisa dilakukan pada dasbor.

Candra Setiawan/Dahlan – Politeknik TEDC Bandung

Anda mungkin juga menyukai