Kali ini saya akan menjelaskan tentang Konfigurasi Web Server HTTP dan HTTPS di CentOS 6
Konsep Dasar
Web Server adalah sebuah layanan kepada klien yang berupa website. Web Server sendiri mempunyai 3 protokol yaitu HTTP, HTTPS dan FTP. HTTP (Hyper Text Transfer Protocol) yang bertugas untuk mengatur komunikasi antara web browser dengan web server. Tidak dianjurkan untuk melakukan registrasi atau yang berhubungan dengan user dan password menggunakan protokol HTTP karena tidak aman dan bisa dilacak user dan password tersebut. Port default HTTP menggunakan 80 atau 8080.
HTTPS (Hyper Text Transfer Protocol Secure) yang sama fungsinya dengan HTTP tetapi HTTPS ini lebih aman karena menggunakan SSL (Secure Socket Layer) atau TLS (Transport Layer Security) sebagai sublayer dibawah HTTP. Sangat dianjurkan untuk melakukan registrasi atau yang berPort default untuk HTTPS menggunakan 443.
Untuk konfigurasi kali ini saya menggunakan 3 server yaitu untuk Server DNS, Web HTTP, HTTPS. DNS diperlukan untuk domain karena kita akan membuat 2 domain yang berbeda “zainun.web.id & zainun.net”. Untuk mengakses web HTTP dan HTTPS kita tidak perlu lagi menulis IP Address masing masing server. Disinilah fungsinya DNS Server sebagai pengganti IP Address ke Domain.
Untuk mengakses Web HTTP dibuatkan user authentication sedangkan Web HTTPS tidak menggunakan authentication user. Untuk file “index.html” 2 server harus saling bersinkronisasi berarti kita menggunakan NFS agar file index.html bisa sinkronisasi ke Web HTTP maupun ke HTTPS.
Keterangan :
IP Address :
DNS Server = 12.12.12.60/24
HTTP Server = 12.12.12.61/24
HTTPS Server = 12.12.12.62/24
Client = 12.12.12.63/24
Konfigurasi
DNS Server
Untuk penjelasan DNS Server kalian bisa lihat di Configure DNS Server Master and Slave on CentOS 6
1. Pertama , kita install paket BIND terlebih dahulu. Karena BIND yaitu digunakan untuk DNS Server
yum install -y bind bind-utils
2. Lalu edit file /etc/named.conf
listen-on port 53 = Masukkan dengan IP Server DNS
allow-query = Masukkan dengan IP Block yang digunakan
3. Membuat zone untuk HTTP dan HTTPS yang akan kita gunakan. Dan untuk file reverse nya masukkan 1 saja.
4. Lalu masuk ke /var/named/ dan ganti file named.localhost menjadi file forward dan file named.loopback menjadi file reverse
5. Dan lalu ganti groupname untuk file Forward dan Reverse menjadi groupname named
chgrp named forward.shuffahaqgzz.com(forwardfile)
chgrp named forward.shuffahaqgzz.net(forwardfile)
chgrp named reverse.shuffahaqgzz
ls -l
6. Kemudian edit file forward untuk HTTP Server
7. Selanjutnya edit file forward untuk HTTPS Server
8. Selanjutnya edit file reverse untuk DNS nya
9. Setelah itu kita restart named
/etc/init.d/named restart
chkconfig named on
10. Selanjutnya masukkan nama search untuk nama domain dan nameserver untuk IP Server
11. Dan coba nslookup apakah sudah aktif atau belum domain nya. Jika sudah berarti kita berhasil membuat domain untuk HTTP dan HTTPS
HTTP Server
1. Pertama kita install paket nfs untuk melakukan mirror data dari HTTP Server ke HTTPS Server
yum install -y nfs-utils nfs-utils-lib
2. Lalu membuat direktori yang akan dimirror data
3. Lalu edit file /etc/exports dan tambahkan script dibawah ini untuk melakukan mirror folder IP Address
4. Lalu di restart nfs nya agar aktif
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart
chkconfig nfs on
5. Kemudian jalankan perintah dibawah ini untuk mengaktifkan file script yang ada di file /etc/exports
6. Sebelum mulai konfigurasi HTTP kita disable dahulu Selinux agar paket bisa terinstall atau konfigurasi dapat berjalan
nano /etc/selinux/config
7. Lalu disable lagi firewall nya
iptables -F
setenforce 0
8. Baru mulai install paket HTTP dengan cara
yum install -y httpd php
9. Membuat direktori untuk membedakan tempat index.html dan password authentication user
10. Masuk ke direktori /tempatweb lalu buat file baru dengan nama ".htaccess"
11. Lalu membuat User baru untuk AuthUserFile pada tahap sebelumnya
htpasswd -cm /tempatweb/password/.htpasswd shuffahaqgzz(user)
12. Selanjutnya kita buat file index.html di /tempatweb/html dan tambahkan script untuk halaman di web HTTP
13. Lalu edit file /etc/httpd/conf/httpd.conf untuk konfigurasi.
14. Jika sudah kita restart HTTP supaya aktif dengan cara
<Directory "/tempatweb"> = Untuk menentukan letak .htaccess dan index.htmlAllowOverride AuthConfig = Untuk authentication user yang sudah kita buat di .htaccessNameVirtualHost *:80 = Untuk aktifkan port 80 untuk HTTP<VirtualHost *:80> = Untuk informasi VirtualHost HTTP supaya Synconize
/etc/init.d/httpd restart
HTTPS Server
1. Pertama kita install NFS untuk mengambil data dari HTTP Server
yum install -y nfs-utils nfs-utils-lib
2. Lalu selanjutnya kita restart dahulu NFS nya supaya aktif
service nfs restart
3. Selanjutnya kita buat direktori untuk tempat yang akan memasukkan direktori yang akan di Mounting. Lalu mounting dengan IP dan direktori sebelumnya dan direktori yang baru kita buat.
mkdir /weweban/mount 172.16.11.61:/tempatweb/ /weweban/172.16.11.61 = IP HTTP Server untuk memounting direktori dari HTTP Server ke HTTPS Server/tempatweb/ = Direktori yang dimounting dari HTTP Server ke HTTPS Server
4. Seperti HTTP Server , HTTPS Server juga harus mendisablekan Selinux agar konfigurasi dapat jalan.
nano /etc/selinux/config
5. Setelah itu matikan Firewall nya.
iptables -F
setenforce 0
6. Baru install paket untuk HTTPS. Bedanya dengan HTTP untuk paket HTTPS kita juga menginstall mod-ssl yaitu paket untuk secure web
yum install -y httpd php mod-ssl
7. Lalu buat direktori untuk menyimpan file SSL Certificate
mkdir /etc/httpd/ssl
8. Lalu masukkan perintah dibawah ini , untuk menginput data informasi untuk Certificate SSL
openssl req -x509 -nodes -days 356 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
9. Lalu edit file /etc/httpd/conf.d/ssl.conf
DocumentRoot "/weweban/html" = Untuk membaca penyimpanan Index.htmlServerName www.shuffahaqgzz.com:443 = Untuk memberikan SSL untuk Web yang akan kita gunakan
10. Dan jangan lupa untuk mengecek SSLEngine apakah ON atau OFF , Jika OFF SSL kita tidak akan aktif
11. Kemudian cari pada bagian “SSLCertificateFile” kemudian ganti dengan file CRT yang sudah dibuat dan “SSLCertificateKeyFile” kemudian ganti dengan file KEY yang sudah dibuat.
12. Lalu kita restart supaya berjalan
/etc/init.d/httpd restart
chkconfig httpd on
Client
1. Pertama kita setting IP Address dahulu dengan IP DNS mengarah ke DNS Server kita supaya Web kita aktif
2. Dan coba kita buka Web HTTP dahulu, Jika ada perintah untuk memasukkan User/Nama pengguna dan Password/Sandi maka kita berhasil melakukan Konfigurasinya.
3. Dan akan muncul tampilan yang sudah kita buat di Index.html
4. Lalu kita coba buka yang HTTPS , Jika ada perintah memasukkan Certificate SSL berarti kita sudah berhasil Konfigurasi HTTPS. Coba masukkan dan akan muncul tampilan yang sudah kita buat tadi.
5. Dan coba cek Certificate SSL nya
Sekian dari penjelasan yang saya berikan , kurang lebihnya mohon dimaafkan. TERIMA KASIH.
Wassalamualaikum Wr Wb....




































No comments:
Post a Comment