• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

4.2 Konfigurasi Docker

4.2.3 Instalasi Container Web Server dengan konfigurasi manual . 45

Web Server adalah salah satu web aplikasi yang bisa di –deploy menggunakan container. Untuk melakukan instalasi web server secara manual dibutuhkan beberapa tahapan yaitu menyediakan base image yang akan digunakan sebagai tempat instalasi aplikasi, menentukan service yang akan digunakan untuk web server seperti apache2 atau nginx.

Berikut langkah-langkah untuk instalasi container web server secara manual:

1. Melakukan pull image ubuntu:trusty atau ubuntu:14.04.2 seperti pada gambar 4.25.

2. Buat container baru dengan perintah $ docker run menggunakan image ubuntu:14.04.2 dengan publish port 80.

Gambar 4. 28 Container web server manual

Perintah pada gambar akan menghasilkan sebuah container dengan nama ubuntuwebserver yang berjalan di foreground, port 80 container akan di publish ke host port 8081. Port ini nantinya akan digunakan oleh host ataupun client untuk mengakses webserver yang dijalankan container.

Setelah docker run dijalankan, user akan masuk ke tty container dan untuk keluar dari container melakukan exit harus menekan tombol CTRL + P + Q. Perintah exit akan menonaktifkan container, jadi untuk menjalankan kembali container, gunakan perintah $ docker start nama_container.

3. Setelah masuk kedalam container ubuntuwebserver, lakukan update repositori dan install service apache2 beserta nano dan php5.

Gambar 4. 29 Update repo container dan install apache2 php5 Untuk perintah yang digunakan, user bisa menggabungkan 2 perintah menggunakan tanda “&&” seperti gambar 4.29. Perintah & digunakan untuk menjalankan perintah lainnya setelah perintah pertama selesai. Untuk menginstall service apache2, package nano dan php5 digunakan perintah # apt-get install nano apache2 php5.

4. Setelah service terinstall, dilanjutkan dengan konfigurasi file apache2 000-default.conf yang berada di direktori /etc/apache2/sites-available/. Gunakan perintah # nano /etc/apache2/sites-available/000-default.conf

Gambar 4. 30 Konfigurasi file apache2 sites-available Yang perlu diganti dari settingan default tersebut adalah:

a. ServerName diatur menjadi IP Address server atau alamat dns-server seperti diskominfo.xyz.

b. ServerAdmin atur menjadi [email protected]

c. DocumentRoot diatur menjadi lokasi direktori dari file web server yang akan ditampilkan, baik itu index.php, bootstrap, ataupun info.php.

5. Simpan file 000-default.conf, lalu restart service apache2 menggunakan perintah # service apache2 restart atau #/etc/init.d/ apache2 restart.

Gambar 4. 31 Melakukan restart service apache2 Saat proses restart, muncul pemberitahuan yang menjelaskan bahwa ServerName berbeda dengan IP Address.

6. Permasalahan yang muncul pada gambar 4.31, dapat diatasi dengan menambahkan ServerName sesuai IP Address server pada file apache2.conf di direktori /etc/apache2/ menggunakan editor nano.

Gambar 4. 32 Konfigurasi file apache2.conf

Simpan file dan ulangi perintah service apache2 restart seperti pada gambar 4.31.

7. Setelah restart service apache2 berhasil, buka browser untuk mengakses webserver yang dibuat di container ubuntuwebserver. Seperti yang dijelaskan pada gambar 4.28, container ubuntuwebserver dijalankan dengan port 80 yang dipublish ke port 8081 milik host. Jadi untuk mengakses webserver container ubuntuwebserver bisa menggunakan IP Address server:8081.

Gambar 4. 33 Webserver dari Container ubuntuwebserver Gambar diatas adalah tampilan default website yang diberikan oleh Apache2. Untuk tampilan website bisa diganti dengan template website lainnya sesuai dengan langkah dibawah ini.

8. Selanjutnya jika user akan mengganti template webserver dengan yang lain misalnya dengan template bootstrap. Terlebih dahulu download template dan ekstrak ke sebuah direktori. Untuk proses ini digunakan perintah $ docker cp yang berfungsi menyalin file atau direktori dari local system ke container ataupun sebaliknya. Terlebih dahulu keluar dari shell container menggunakan CTRL + P + Q tanpa stop container.

Gambar 4. 34 Docker cp untuk copying file

Dari local system copy direktori dimana template berada menggunakan perintah seperti pada gambar 4.35. Maksud dari perintah tersebut adalah copy direktori webbootstrap/ ke container ubuntuwebserver, direktori /var/www/. Lalu cek menggunakan perintah ls /var/www/.

9. Selanjutnya konfigurasi kembali file 000-default.conf dengan mengubah DocumentRoot ke direktori /var/www/webbootstrap/ dan berikan file permission di file tersebut.

Gambar 4. 35 Edit DocumentRoot dan File Permission Atur hak akses untuk direktori /var/www/webbootstrap/. File permission juga bisa digunakan dengan perintah chgrp dan chmod. Setelah itu restart kembali service apache2 menggunakan perintah seperti gambar 4.31.

10. Cek web browser, dan ulang akses halaman 172.28.1.101:8081, akan terlihat web server dengan template yang berbeda dari bawaan apache2.

Gambar diatas merupakan hasil dari mengganti website template pada container menggunakan perintah docker cp untuk menyalin file atau direktori ke filesystem container.

11. Instalasi container dengan image Ubuntu14.04.2 untuk pembuatan web server menggunakan service apache2 secara manual telah selesai. 4.2.4 Docker Commit dan Docker Push

Perintah $ docker commit digunakan untuk melakukan perubahan pada suatu image atau membentuk image baru menggunakan container yang ada. Image yang telah di-commit bisa dikirim ke repositori Hub Docker menggunakan perintah $ docker push. Salah satu keuntungan menggunakan docker ialah container yang telah dikonfigurasi bisa dijadikan image lalu dikirim ke repositori. Sewaktu-waktu terjadi kerusakan pada server terutama bagian aplikasi, user bisa melakukan pull image yang tadinya sudah di-push ke repositori Hub Docker.

Gambar 4. 37 Docker commit container ubuntuwebserver

Form perintah docker commit adalah $ docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]. [REPOSITORY[:TAG]] harus sama dengan [REPOSITORY[:TAG]] yang ada di Hub Docker. Jika berbeda, proses docker push tidak akan berjalan.

Setelah proses commit, buat repositori terlebih dahulu di Hub Docker sebelum melakukan push image ke Docker Hub.

Gambar 4. 38 Membuat repositori image di Hub Docker

Berdasarkan gambar 4.38, buat repositori dengan nama pada kotak hitam, lalu tambahkan tag sesuai yang diinginkan pada kotak merah. Untuk kolom dibawah merupakan deskripsi repositori yang akan ditambahkan.

Balik ke terminal, untuk docker push harus login ID Docker terlebih dahulu. Gunakan perintah docker login lalu masukkan username dan password Hub Docker.

Gambar 4. 39 Docker Login

Pada gambar diatas, proses login ke repositori docker sudah berhasil. Dan selanjutnya jalankan perintah docker push repository/tag untuk mengunggah image kedalam repositori Hub Docker.

Gambar 4. 40 Docker Push repository/tag

Setelah proses push selesai, user bisa mengambil repositori tersebut dimana saja, dan juga digunakan saat data server rusak, image yang dikirim ke repositori bisa di pull dan di jalankan kembali.

Dokumen terkait