Skip to content

arfianz/autobash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Project Mini Class Linux

Merupakan tahap akhir dari pembelajaran Mini Class Linux yang diselenggarakan oleh cilsy.id

made-with-bash Maintenance Ask Me Anything ! made-with-Markdown Documentation Status contributions welcome License License: GPL v2 License: MIT Analytics

Learning Outcome, setelah menyelesaikan big project ini adalah peningkatan kemampuan dalam:

  • Merancang topologi untuk infrastruktur server yang akan digunakan
  • Membuat program otomasi untuk installasi layanan server dengan bash
  • Menjakankan lebih dari satu web dan domain didalam sserver
  • Dapat memanfaatkan git untuk penyimpanan proyek aplikasi
  • Dapat melakukan setup wordpress dengan infrastruktur server sendiri
  • Dapat memeriksa log yang ada pada sebuah layanan server

1. Requirement

Big Project ini memuat semua materi yang sudah dipelajari selama beberapa pekan terakhir, berikut beberapa requirement yang harus dikerjakan.

  • Topologi untuk infrastruktur server
  • Bash script untuk otomasi layanan
  • 3 buat virtual host dengan aplikasi wordpress

2. Goal

Adalah dapat membuat sebuah infrastruktur server on premises sederhana, yaitu layanan webserver dan database server untuk Web Wordpress. Agar memudahkan installasi, Infrastruktur yang dibuat harus dibangun secara automasi dengan script bash, agar ketika nanti membuat infrastruktur yang sama hanya cukup menjalankan script dan web wordpress di simpan di repository Github/Gitlab. Selain itu dengan adanya virtual host dapat membuat beberapa web berjalan dalam satu server, dan dapat melakukan checking pada log yang ada pada sebuah layanan aplikasi.

3. Metode dan Desain

Metode yang digunakan dalam pelaksanaan Big-Project ini adalah menggunakan Virtualisasi, dimana PC/Laptop peserta ditambahkan Hypervisor supaya dapat dipasang Virtual Machine (VM, mesin virtual).

Metode virtualisasi dapat dilihat dari gambar berikut:

Desain dari Big Project dapat dilihat dari gambar berikut:

Penjelasan: Pada PC/Laptop peserta yang sudah terinstal aplikasi mesin virtual (seperti Oracle Virtualbox atau VMWare Workstation. Kemudian disiapkan 1 buah virtual mesin dengan OS Ubuntu 18.04 (dalam hal ini memakai Ubuntu Server). Konfigurasi jaringan di virtualbox untuk VM tersebut menggunakan mode Bridge (supaya bisa diakses juga oleh PC/User lain dalam jaringan).

Untuk memudahkan proses pengetesan Big-Project ini, maka dilakukan konfigurasi jaringan untuk VM Ubuntu Server, mode jaringan yang dipilih adalah mode Bridge, dapat dilihat dari gambar dibawah ini:

Proses selanjutnya adalah menyalakan mesin virtual dan dilanjutkan dengan proes instalasi yang sama seperti melakukan instalasi server fisik. Untuk memudahkan proses selanjutnya, maka pada opsi pemilihan paket, maka opsi instalasi OpenSSH agar dipilih, dapat dilihat dari gambar dibawah ini:

Topologi akhir dari Big Project dapat dilihat dari gambar berikut:

Penjelasan: Setelah VM Ubuntu menyala, secara logikal topologi antara PC/Laptop User/Host dengan VM Ubuntu seperti gambar diatas. Seolah-olah ada 2 mesin (PC/Laptop dan Server) yang terhubung melalui switch dalam sebuah jaringan dan juga terhubung ke Internet.

Berikut adalah tampilan layar VM Ubuntu Server yang sudah selesai di instalasi:

Langkah-langkah selanjutnya dilakukan dari PC/Laptop User ke VM Ubuntu Server melalui SSH (Secure Shell).

Dari layar VM Ubuntu Server, lakukan pengecekan alamat IP, dapat dilihat dari gambar dibawah ini:

Dari gambar diatas, diketahui alamat IP dari VM Ubuntu Server adalah: 10.100.0.246

Kemudian dari Terminal di PC/Laptop User, lakukan ssh ke VM Ubuntu Server dengan perintah

ssh 'username'@'ip_vm_ubuntu_server'
-----dalam hal ini:-----

ssh administrator@10.100.0.246

Dapat dilihat dari gambar dibawah ini:

Apabila sudah terhubung ke VM Ubuntu Server, selanjutnya adalah melakukan tahapan instalasi menggunakan bash script.

4. Langkah otomasi server

4.1. Langkah pertama adalah clone repo ini

cd ~
git clone https://github/com/arfianz/autobash

4.2. Web Server

Langkah kedua adalah update system file dan install webserver (Apache2 + PHP)

cd ~/autobash
chmod +x 01-webserver.sh
./01-webserver.sh

Progres script bash dalam melakukan otomasi instalasi dapat dilihat dari gambar dibawah ini:

Dan hasil instalasi webserver, dapat diakses dari PC/Laptop User dengan mengakses alamat IP dari mesin virtual, seperti yang terlihat dari gambar dibawah ini:

4.3. Database Server

Langkah ketiga adalah melakukan instalasi database servr

cd ~/autobash
chmod +x 02-dbserver.sh
./02-dbserver.sh

Progres script bash dalam melakukan otomasi instalasi dapat dilihat dari gambar dibawah ini:

4.4. Aplikasi

Langkah keempat adalah melakukan instalasi aplikasi wordpress untuk 3 virtual hosts

cd ~/autobash
chmod +x 03-webapp.sh
./03-webapp.sh

Progres script bash dalam melakukan otomasi instalasi dapat dilihat dari gambar dibawah ini:

4.5. Virtual Hosts

Langkah kelima adalah konfigurasi virtual host web server

cd ~/autobash
chmod +x 04-virtualhost.sh
./04-virtualhost.sh

Progres script bash dalam melakukan otomasi instalasi dapat dilihat dari gambar dibawah ini:

Dapat dilihat juga di PC/Laptop User dilakukan konfigurasi file /etc/hosts dengan menambahkan record alamat IP VM.

4.6. Membuat Database

Untuk keperluan aplikasi wordpress, diperlukan database. Maka dari itu dibuatkan script bash untuk membuat database secara otomatis.

Perintah untuk membuat database adalah : shell scriptbash <namadb> <passworddb>

cd ~/autobash
chmod +x 05-createdb.sh
./05-createdb.sh arfian arfianpass
./05-createdb.sh kelas kelaspass
./05-createdb.sh mini minipass

Progres script bash dalam melakukan otomasi instalasi dapat dilihat dari gambar dibawah ini:

4.7. Konfigurasi Aplikasi

Aplikasi wordpress memerlukan konfigurasi awal seperti memasukkan nilai database dan menambahkan file wp-config.php.

Gambar berikut adalah konfigurasi database untuk salah satu aplikasi wordpress:

Dari hasil pengisian nilai database, maka aplikasi wordpress akan meminta kita untuk menambahkan file wp-config yang isinya sesuai dengan yang diberikan oleh aplikasi, seperti gambar dibawah ini:

Kedua langkah konfigurasi diatas dilakukan untuk ketiga aplikasi (arfian, kelascilsy dan miniclass).

4.8. Pengetesan Aplikasi

Setelah proses konfigurasi selesai, maka kita bisa melakukan pengetesan ketiga aplikasi tersebut melalui browser dari PC/Laptop User.

Tampilan aplikasi arfian.local:

Tampilan aplikasi kelascilsy.local:

Tampilan aplikasi miniclass.local:

4.9. Monitoring Logs

Untuk melakukan monitoring web server, maka kita bisa melakukannya dengan menganalisa log yang dihasilkan oleh webserver. Gambar dibawah ini menunjukkan Log Akses yang dihasilkan oleh Apache WebServer.

Demikian Hasil Big-Project Mini Class Linux

LICENSE

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.