Recents

Sunday, January 18, 2015

Lab 8 Web Server CentOS Server 6.5

Assalamu'alaikum.wr.wb.

Disini saya akan posting laporan yang saya buat berserta menampilkan video tutorial yang dibuat mengenai materi Web Server di CentOS Server 6.5 menggunakan HTTP dan HTTPS.


A. Topologi 






Tabel Addressing





B. Tujuan

- Dapat mengetahui perbedaan dan penjelasan antara HTTP dan HTTPS.
- Dapat menkonfigurasi HTTP, WordPress, HTTPS, dan Piwigo.


C. Konsep Dasar

HTTP adalah dasar komunikasi data untuk World Wide Web (WWW). Setiap kali kita membuka website / halaman web kita akan menggunakan protokol ini. Sisi client meminta sisi server untuk membuka komunikasi pada port 80, port terbuka sisi server 80 dan di sisi client port acak terbuka.

Apakah HTTP (Hyper Text Transfer Protocol) Aman?

Data paket yang dikirim menggunakan HTTP tidak terenkripsi, siapapun dapat melihat data dalam teks biasa seperti seorang Hacker lakukan. Itulah mengapa tidak menggunakan HTTP untuk perbankan atau transaksi di internet, dan juga itu tidak dianjurkan jika Anda membuka website halaman login yang menggunakan HTTP pada jaringan publik seperti area hotspot nirkabel.

HTTPS adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris. HTTPS adalah kombinasi dari Hyper Text Transfer Protocol dan Secure Socket Layer protokol (SSL) / Transport Layer Security (TLS) untuk menyediakan komunikasi terenkripsi antara web server dan klien. Biasanya HTTPS digunakan untuk internet banking, transaksi pembayaran, halaman login, dll.

HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks.

Protokol ini menggunakan port 443 untuk komunikasi. Website yang sudah menggunakan protokol ini GMail.com, dan juga situs-situs lain seperti PayPal, Amazon, dll.


D. Konfigurasi

1. Konfigurasi DNS dan Web Server (HTTP) beserta pengecekkan di client

Atur network di server dengan perintah '/etc/sysconfig/network-scripts/ifcfg-eth0'. Dan restart dengan perintah '/etc/init.d/network/restart'. Disini saya menggunakan subnet /24.





Atur DNS dengan perintah '/etc/resolv.conf'. kemudian 'ping google.com'.




Instal DNS nya terlebih dahulu dengan perintah 'yum install bind bind-utils'. Apabila sudah menkonfigurasi DNS bisa langsung konfig Web Servernya.



Atur DNS dengan perintah 'named.conf' seperti gambar di bawah ini.




Atur zone forwardnya dan reversenya dengan menggunakan perintah '/var/named/forward.(nama domain)' dan '/var/named/reverse.(nama domain)'. Untuk lebih mudahnya tinggal copy saja file dari forward ke reverse dengan perintah 'cp /var/named/forward.(nama domain) '/var/named/reverse.(nama domain)'.





Atur DNS kembali. kemudian restart namednya dengan perintah 'service named restart' dan 'chkconfig named on'.



Cek firewall di CentOS server apabila masih berjalan akan seperti gambar di bawah ini. 



Matikan firewall CentOS server dengan perintah 'service iptables stop' dan 'chkconfig iptables off'. Kemudian ping, nslookup, dan dig domain yang sudah dibuat.





Instal HTTP dengan perintah 'yum install httpd -y'.



Konfigurasi 'HTTPD' nya dengan perintah '/etc/httpd/conf/httpd.conf' seperti di gambar di bawah ini. Dan restart dengan perintah 'service httpd restart' dan 'chkconfig httpd on'.






Cek di client melalui browser masukkan nama domain. Sebelumnya atur IP Address terlebih dahulu, masukkan IP server di DNS client, ping ke domain. Akan terlihat tampilannya secara default.





Untuk mengubah tampilan defaultnya, dapat di edit 'index.html' nya dengan perintah '/var/www/html/index.html' restart kembali HTTPD dan cek di browser client.





Konfigurasi kembali webs server nya, kali ini saya menggunakan PHP. Sebelumnya instal PHP nya dengan perintah berikut 'yum install php php-mysql -y'. Konfigurasi '/etc/httpd/conf/httpd.conf' kembali edit 'DirectoryIndex index.htm' menjadi 'index.php'.




Edit timezonenya dengan perintah '/etc/php.ini'. Edit 'index.php' untuk lebih mudahnya copy saja dari 'index.html' dengan perintah 'cp /var/www/html/index.html /var/www/html/index.php'. Restart di browser client. Akan terlihat konfigurasi waktu/tanggal otomatis.






2. Konfigurasi WordPress (HTTP) beserta pengecekkan di client

Untuk menginstal WordPress pada web server harus sudah terinstal PHP dan MySQL nya. Instal 'php-gd' terlebih dahulu untuk plugin dan gambar pada WordPress di web server dengan perintah 'yum install php-gd -y' dan instal MySQL untuk database web server dengan perintah 'yum install mysql-server -y'. Aktifkan MySQL server dengan perintah 'service mysql start'.





Buat password untuk MySQLnya. Test masuk login sebagai root masukkan password root dengan perintah 'mysql -u root -p'. Kemudian instal WordPressnya dalam bentuk zip dengan perintah 'wget http://wordpress.org/latest.zip' dan ekstrak ke dalam folder '/var/www/html/'.






Ubah permissionsnya dengan perintah dibawah ini. Buat direktori '/uploads/' dan ubah kepimilikan group apache agar apache dapat membuat file. Buat database WordPressnya dengan login sebagai root dengan perintah 'mysqladmin -u root -p' buat database WordPressnya.







Pindah ke direktori WordPress dengan perintah 'cd /var/www/html/wordpress' ubah nama file dengan perintah ' mv wp-config-sample.php  wp-config.php' kemudian edit dengan perintah 'nano wp-config.php'. Isi name, user, dan password database. Kemudian restart MySQL dan HTTPD nya.




Cek di client, isi registrasi jangan ceklis 'Allow search engines'  kemudian 'Instal WordPress'. Apabila sudah, login yang sudah dibuat tadi username dan passwordnya.







3. Konfigurasi Web Server (HTTPS) beserta pengecekkan di client

Untuk memberikan keamanan di HTTPS, buat sertifikat terlebih dahulu. Pindah direktori ke 'cd /etc/pki/tls/certs'. Instal 'make server.key'. Masukkan password (root) server.key tadi dibuat.




Instal 'make server.csr', isi kode negara, provinsi, kota, organisasi, hostname, serta e-mail. buka 'open sll'. Masukkan password (root) dan enksripsi.






Instal SSL Certificate dengan perintah 'yum install mod_ssl -y'. Kemudian edit '/etc/httpd/conf.f/ssl.conf' sebelumnya bikin file folder 'mkdir /var/www/(nama domain)'. Restart  HTTPD dan MySQL.







Cek di client, buka browser ketik 'https://(nama domain)'. Buka HTTP juga, lihat perbedaan HTTP dan HTTPS, untuk HTTP belum terverifikasi sedangkan HTTPS terverifikasi.




4. Konfigurasi Piwigo (HTTPS) beserta pengecekkan di client

Piwigo adalah tempat penyimpanan online foto, karena WordPress sudah di HTTP, kali ini saya coba untuk HTTPS. Instal piwigo dengan perintah 'wget http://piwigo.org/download/dlcounter.php?code=latest -O /var/www/iman/piwigo.zip'. Kemudian bikin databasenya dengan perintah 'mysql -u root -p' kemudian bikin database seperti di bawah ini dan restart HTTPD dan MySQL.





Cek di browser client, ketik 'https://(nama domain)/piwigo'. Isi registrasi jangan ceklis 'subscribe root@iman.net'. Jika sudah klik 'Visit the gallery' dan 'Start the tour'. Ini sudah berhasil Piwigo untuk HTTPS.







5. Troubleshoot & Solusi

Apabila restart named muncul pesan seperti gambar di bawah ini. Lihat pesan yang muncul untuk melihat kesalahan. Disini saya terjadi kesalahan pada '/var/named/forward.(nama domain)' dan /var/named/forward.(nama domain). Karena kurang '()'. Setelah di edit, restart kembali namednya, akan sukses.






- Video Tutorial



Semoga Bermanfaat.

Terima Kasih.


Wassalamu'alaikum.wr.wb.

0 komentar:

Post a Comment