Monday, 22 May 2017

LAB Centos 9.2 | PostgreSQL | PHP PGAdmin

Assalamualaikum Wr. Wb.

Yoo semua :v. Apa Kabs ? :v Kembali lagi dengan saya selaku admin blog ini. 
Jadi disini saya akan menshare tentang materi selanjutnya dari PostgreSQL. Yaitu, php PGadmin. Sedikit Pengertian. phpPGadmin adalah sebuah postgresql client yang diakses via web. Jadi tidak perlu anda setting di cli. kan ribet :v. Jadi disini kita membutuhkan Sedikit paket paket yaitu Apache dan Phpnya jadi bisa anda buka untuk penginstallasi web server apache karena kita akan memainkan web :v. langsung saja ketopologinya
Dan mari kita ke konfigurasinya

Server
1. Package PhpPgAdmin tidak ada di repository default centos 7, ia ada di repositroy epel. Maka dari itu kita harus install epel repo terlebih dahulu
"yum install epel-release -y"
2. Jika sudah, sekarang install package phpPgAdmin dengan menggunakan epel repo yang telah terinstall tadi
"yum --enablerepo=epel -y install phpPgAdmin php-pgsql"
3. Setelah itu, Konfigurasi halaman phpPgAdmin
"nano /etc/phpPgAdmin/config.inc.php"
4. Kemudian edit diline 18,35,93,99.

Line 18 = konfigurasi untuk mendefinisikan dimana letak postgresql servernya. Disini saya mengaturnya menjadi localhost, karena postgresql server dan phpPgAdmin berada dalam satu server yang sama. Untuk mengaturnya terletak pada baris $conf['servers'][0]['host']
Line 35 = kemudian atur path pg_dump_path dan pg_dumpall_path ke directory pg_dumb pada aplikasi postgresql. Karena setelah saya baca-baca, jika ini tidak diatur, akan muncul outpout failed to execute pg_dump, Please, fix this path in your configuration and relog, yang nantinya menyebabkan phpPgAdmin PostgreSql ini tidak berjalan dengan semestinya
Line 93 & Line 99 =Nonaktifkan extra_login_security yaitu dengan mengubah valuenya menjadi false. Karena ini memungkinkan kalian tidak bisa login ke PhpPgAdmin ("Login disallowed for security reasons.") yang artinya tidak bisa login karena alasan keamanan. Kemudian atur agar owner, atau hanya pemiliklah yang dapat login atau mengakses database tersebut, yaitu dengan cara mengubah value menjadi true pada baris owned_only

5. Kemudian edit file konfigurasi pada pg_hba.cnf  dan cari di line 82 Kemudian uncoment setiap host yang ada dan mengatur methodnya menjadi md5, namun pada baris local biarkan saja methodnya seperti default, kemudian tambahkan satu host dengan address ip loopback. Setelah itu edit address pada host yang sudah saya tandai warna hijau pada gambar dibawah ini, atur menjadi ip network dari server centos kalian.
6. Dan kita edit file .conf phpPgAdmin pada directory /etc/httpd/conf.d/ dan cari line 11  Edit Kemudian atur  ip network mana yang dapat mengakses module mod_authz_core.c. Hal ini digunakan agar tidak semua orang dapat mengakses phpPgAdmin. Caranya adalah menambahkan baris Require ip didalam tag IfModule mod_authz_core.c
7. Restart service httpd (apache) dan postgresql agar konfigurasi yang baru berjalan
8. Izinkan SELinux Boolean agar dapat mengakses database melalui website
Client 
1. Akses database tersebut dengan mengetikan nama domain pada address bar, kemudian dibelakangnya diikuti dengan /phpPgAdmin. Maka akan muncul halaman utama dari phpPgAdmin
2. Sekarang coba login dengan menggunakan username dari database beserta passwordnya. Untuk User bisa anda lihat di postingan sebelumnya :D
3. Dan Bisa diakses dari web gan :v bisa lihat database yang telah dibuat tadi
Ya terimakasi :v
Wassalamualaikum wr.wb.

Sunday, 21 May 2017

LAB Centos 9.1 | PostgreSQL | Installation

Assalamualaikum Wr. Wb.

Kembali lagi guys:v diblog tercintah :v. Mari kita lihat sekilas tentang blog-blog sebelumnya bisa anda klik Admin Server dibagian bar diatas kalimat ini :v. Ya kali ini saya akan menjelaskan tentang lab baru yaitu Database Server. Untuk sesingkat materi tentang Database.

Database Server adalah program komputer yang menyediakan layanan data lainnya ke komputer atau program komputer, seperti yang ditetapkan oleh model client-server. Istilah ini juga merujuk kepada sebuah komputer yang didedikasikan untuk menjalankan program server database.

Dan Database Server ini yang ada dilab yaitu PostgreSQL, Maria DB dan MySQL. Nah sekarang saya akan membahas tentang PostgreSQL.
PostgreSQL adalah adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Peranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data.

Nah sekarang Untuk topologinya
Jika sudah maka lanjut saja ke Tutorialnya :D

Server
1. Install Paket-paket yang akan dibutuhkan, yaitu Repo centos-sclo-rh. Centos-relase-scl-rh dan centos-release-scl terlebih dahulu
" yum install centos-release-scl-rh centos-release-scl "

2. Kemudian install postgresql dengan menggunakan repo centos-sclo-rh yang sudah terinstall tadi

"yum --enablerepo=centos-sclo-rh install rh-postgresql95-postgresql-server -y"

3. Setelah itu enable scl bash pada postgresql agar berjalan saat reboot
"scl enable rh-postgresql95 bash"

4. Untuk melihat versi Postgre yang diinstall bisa dengan command
"postgres -V"

5. Untuk melihat letak directory Postgres, bisa lakukan perintah berikut
"which postgres"

6. Kita buat file executeable postgres di dalam directory /etc/profile.d/
"nano /etc/profile.d/rh-postgresql95.sh"
7. Dan isi beberapa syntax agar berjalan optimal
"
#!/bin/bash


source /opt/rh/rh-postgresql95/enable
export X_SCLS="`scl enable rh-postgresql95 'echo $X_SCLS'`" 
"
Keterangan :
  • #!/bin/bash biasa disebut dengan bangshell, ini digunakan untuk mendefinikan/memberitahu shell linux program apa yang yang digunakan untuk menjalankan script tersebut pada saat dieksekusi. Pada dasarnya bash adalah sh, dengan lebih banyak fitur dan sintaks yang lebih baik. Sebagian besar perintah bekerja sama, tapi berbeda.
  • Source adalah perintah shell built-in bash yang mengeksekusi konten file yang dilewatkan sebagai argumen, ini digunakan untuk load fungsi file sesuai yang sudah diarahkan kedalam skrip shell.
  • Export Membuat variabel tersedia untuk sub proses, maksudnya nama variabel tersedia untuk setiap proses yang dijalankan dari proses shell tersebut
8. Jalankan perintah berikut untuk membuat cluster database PostgreSQL 
"postgresql-setup --initdb --unit rh-postgresql95-postgresql"

9. Dan kita edit file postgresql.conf yang terletak di /var/opt/rh/rh-postgresql95/lib/pgsql/data/
"nano /var/opt/rh/rh-postgresql95/lib/pgsql/data/postgresql.conf"

10. Kita edit diline 59 dan line 421 dengan cara ctrl W + ctrl T untuk mencari garis isi kalimat




Line 59 pada kalimat listen_addresses atur valuenya menjadi '*' yang artinya semua yang terhubung dengan server dapat diizinkan mengakses postgresql ini.
Line 421 pada kalimat log_line_prefix, atur valuenya menjadi %t %u %d
%t  = Time
%u = User name
%d = Database Name

11. Start dan Enable Service agar bisa berjalan otomatis pas server direboot

12. Tambahkan Firewall pada postgresql agar dapat diakses nantinya, kemudian reload

Try Databases
1. Masuk ke database postgresql kemudian buat user beserta database untuk percontohan
Keterangan :
  • su - postgres adalah perintah untuk masuk ke postgresql
  • createuser adalah perintah untuk membuat user pada database
  • createdb merupakan perintah untuk membuat database
  • -O digunakan untuk mengatur Ownership atau kepemilikan pada database tertentu
  • psql -l adalah perintah untuk menampilkan list database
2.  Jika ingin mengakses database tertentu caranya cukup simple, hanya tinggal mengetik psql kemudian diikuti dengan nama database dibelakangnya. Jika ingin memberi password untuk user pada database tersebut maka kita tambahkan
"alter user "nama user" with password 'password';"

3. Buat tabel pada database tersebut untuk percobaan, untuk caranya bisa kalian lihat pada gambar dibawah ini, jika sudah maka kita lihat hasil yang sudah dibuat

  • create table adalah buat database
  • inster into adalah memasukan syntax
  • select * from adalah melihat hasil yang sudah dibuat

4. Jika ingin menghapus tabel pada database, gunakan perintah drop
"drop table "nama table";"


5. Untuk Keluar dari Table database dan Databasenya bisa dengan command
  • \q
  • exit
Yap sekian untuk materi ini
Wassalamualaikum wr. wb.

Thursday, 18 May 2017

[WIN SER 2012] MY SQL Part 2 (DATABASE SERVER)

Assalamualaikum Wr.Wb.

Kembali lagi kepada postingan Database lagi selanjutnya saya akan membuat datadiri pribadi. Cukup sederhana saja tetapi tanpa basa-basi kita langsung aja ke bagian konfigurasi..

Untuk melihat Postingan database sebelumnya bisa lihat disini..

1. Selanjutnya buat database database baru nya dengan nama apa saja


2. Dan kita lihat apakah database tersebut sudah dibuat

3. Kita Masuk ke Database yang sudah dibuat tadi

4. Sekarang kita gunakan data base yang sudah anda buat, setelah itu Buatlah sebuah table yang bernama biodata+nama anda, perintah no mediumint not null auto increment berguna untuk mengurutkan system numberik/numerik, jadi nanti biodata yang kita bikin akan berurutan sesuai nomor nya, Setelah itu lakukan pengecekan kembali. 

Untuk pengechekan yang sudah dikonfigurasi database tadi

5. Kemudian masukkan data biodata diri kita kedalam table, dengan menggunakan command yang ada pada gambar dibawah
Keterangan :
  • insert into 'nama databases' (no,datadiri,keterangandiri) values = memasukan data ke dalam databases yang kita buat
  • ('1','nama','nama','), = menambahkan isi didalam daftar yang sudah dikonfigurasi tadi
  • dan diakhiri dengan tanda ; untuk keluar dari databases
6. Setelah melakukan pemasukkan data, lakukan pengecekan/verifikasi apakah database biodata yang anda bikin sudah terbentuk, anda bisa menggunakan perintah select * from (nama table/datanya);

Yups sudah ada daftar yang sudah dibuat
Cukup sekian apabila ada kesalahan atau kekurangan mohon dimaafkan :v dan dikomentar
Wassalamualaikum wr.wb.

Thursday, 11 May 2017

LAB Centos 8.19 | NGINX | Proxy Pass with Load Balance

Assalamualaikum wr.wb

Hell-o guys, yoo whatsup ? Yup saya kembali lagi dengan detik detik terakhir mau pergi ada urusan :v. Ya pada kesempatan kali ini saya ngeshare materi tentang Web Server Nginx Yaitu Proxy Pass dengan Load Balance. Lanjutan dari materi sebelumnya ini. monggo dicheck untuk materi sebelumnya dengan klik bagian bar yang ada nama Admin Server.

Load Balance itu apa sih ?

Load Balance merupakan metode untuk membagi beban trafik kepada dua atau lebih jalur koneksi di jaringan. Hal ini berfungsi agar trafik berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap/respon dan meminimalisir terjadinya overload.

Pada Load Balance ini terdapat server controller yang digunakan untuk mengatur berapa beban yang ditanggung oleh server tertentu. Misalnya server A di konfigurasi untuk bisa menangani 3 request client, sedangkan server B menangani 1 request client, dan Server C berperan sebagai server backup yang akan aktif apabila server A dan B sedang Overload atau sedang dalam keadaan mati.

Pada postingan kali ini, saya membuat 4 server, dimana 1 server sebagai controller dan 3 server lainnya sebagai server yang akan dibalancing oleh controller. -google

Yaa Untuk topologi yang lebih jelas tentang load balance
Ya langsung saja kita kekonfigurasi topologi diatas

Controller
 Sebelum kita konfigurasi Load Balance, edit terlebih dulu file konfigurasi DNS pada zona forward dan juga reverse nya untuk menambahkan domain node1, node2, dan node3

1. Pertama, edit zona forward yang sudah kalian buat

 Kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah, sesuaikan IP nya dengan IP node kalian masing-masing
2. Setelah itu, kita edit juga zona reverse nya

 Kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah, sesuaikan IP dan juga domain node1, node2, dan node3

3. Dan restart service named agar konfigurasi yang sudah dilakukan dapat berjalan optimal


4. Lakukan perintah dig untuk melakukan pengetesan domain node1, node2, dan node3




5. Setelah itu, edit file konfigurasi web server nginx. Disini saya mengedit nya pada file Virtual Host yang sudah saya buat pada lab sebelumnya

 
Lalu tambahkan beberapa seperti yang sudah saya tandai pada gambar dibawah

Keterangan :

  • upstream digunakan untuk mendefinisikan sebuah cluster yang dapat direquest proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing
  • backendhafizi merupakan penamaan dari cluster yang akan di balancing
  • server merupakan pendefinisian server mana yang akan dibalancing, disini saya mengaturnya untuk server node1, node2, dan node3
  • weight merupakan beban yang dapat ditanggung pada server tertentu
  • backup berfungsi untuk menentukan server mana yang akan berperan sebagai backup pada saat server lainnya sedang overload atau sedang dalam keadaan mati
  • proxy_pass_header yaitu identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.
6. Masih pada file konfigurasi Nginx, cari syntak location { kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah

Keterangan :
  • proxy_pass digunakan untuk menentukan alamat server proxied dan URI ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar diatas saya mengaturnya ke cluster upstream backendhafizi
7. Kemudian restart service Nginx agar konfigurasi yang sudah dilakukan dapat berjalan secara optimal

Node 1, Node 2, Node 3
1. Pertama edit konten web untuk Node1


2. Edit Konten Node 2

3. Juga edit Node yang terakhir
Client

1. Sekarang lakukan verifikasi pada web browser client dengan cara mengakses Server Controller

Maka Hasil yang client request bakal dikasih dari server controller. dan jika si node 1 telah diakses oleh client sebanyak 3 kali maka diganti dengan ke node 2 dan jika node 2 telah diakses sebanya satu kali maka diganti lagi dengan node 1, sedangkan node 3 itu tidak digunakan karena node 3 bersifat bakcupan kalau kedua node itu mati.

2. Sekarang kita coba matikan server Node1
3. Setelah itu coba akses lagi server controller pada web browser client

Maka pasti akan muncul konten web dari Node 2, itu karena Node1 sedang mati, maka konten web akan dibebankan pada Node2. Sedangkan Node3 masih belum muncul karena server Controller menganggap masih ada server yang aktif dan kemudian request dari client akan diserahkan pada server tersebut

4. Sekarang matikan server Node2

5. Setelah itu coba akses lagi server controller pada web browser client

Dan pada akhirnya Node3 digunakan juga. Hal ini dikarenakan Node1 dan Node2 sedang dalam keadaan mati, maka server Controller akan mencari Server Backup, yaitu Node3 dan kemudian akan menyerahkan request client kepada server Backup tersebut

6. Sekarang kita coba matikkan seluruh server Node, disini kita akan mematikan server Node terakhir, yaitu Node3

7. Jika semua server Node mati, maka pada saat client mengakses web, tampilannya akan menjadi seperti ini
Dan ini Jika semua Server node dimatikan (video)

Ya cukup disitu saja saya sampaikan kalau ada kekurangan mohon dikomentar.
Wassalamualaikum wr.wb.