September 2018

Selasa, 25 September 2018

CARA MEMBUAT FOLDER VENDOR LARAVEL PADA SAAT CLONE DARI GITLAB DI LINUX UBUNTU 16.04


Cara ini yaitu untuk menjalankan Project laravel pada linux menggunakan Xampp/Lamp. Nah saya biasanya membuat suatu repository pada gitlab atau github untuk mempermudah eksekusi pada setiap perubahan script di project. Kendala yang saya hadapi ketika saya clone project dari gitlab setelah koneksi semua cek sudah aman, maka muncul eror blablalba vendor/. Nah jika teman-teman juga mengalami hal yang sama, berikut langkah untuk mengatasinya:

1. Masuk directory project

   cd /opt/lampp/htdocs/mobile_laravel

   untuk memastikan ada apa tidaknya folder Vendor nya maka ketikan perintah ini

   ls -a atau hanya  ls  saja

2. Jika memang Folder Vendor tidak ada maka jalankan perintah ini:

    composer install --ignore-platform-reqs

3. Selesai :)


CARA CEPAT DAN MUDAH MEMBERSIHKAN INSTALASI DAN INSTALL ULANG POSTGRESQL DI LINUX UBUNTU 16.04


Cara ini Saya gunakan untuk menghapus postgresql-9.5 pada LINUX UBUNTU 16.04 . Jika teman-teman memiliki version yang berbeda, sepertinya teman-teman hanya butuh ubah versinya saja pada comman line nya. Berikut adalah langkah-langkahnya:

sudo apt-get  --purge remove postgresql-client-9.5


Apabila data posgresql nya belum benar-benar bersih maka masukan perintah ini:

sudo apt-get  --purge autoremove postgresql-client-9.5

atau

sudo apt-get  --purge autoremove postgresql*


Lalu hapus document - document yang berhubungan dengan postgres nya serta common-common:

sudo apt-get --purge autoremove postgresql postgresql-doc postgresql-common


Setelah melakukan cara diatas biasanya masih ada sisa data postgresqlnya. Caranya adalah teman-teman cek data direktori nya dengan perintah berikut.

 cd var/lib/postgresql

Jika masih ada folder postgresql nya maka hapus folder tersebut dengan cara:
 
rm -rf   /var/lib/postgresql


Setalah melakukan semua tahap tersebut maka instalasi dari postgresql akan bersih dan jika teman-teman ingin install ulang kembali maka dengan cara perintah ini:

sudo apt-get install postgresql-9.5


CARA MUDAH REPLIKASI DATABASE MENGGUNAKAN PROSTGRESQL DI LINUX UBUNTU 16.04


Hallo semua, kali ini saya mau bahas tentang bagaimana cara replikasi database dengan postgresql pada LINUX UBUNTU 16.04. Apasih Replikasi database dan kegunaannya apa?

Replikasi Database adalah suatu cara yang dilakukan untuk back-up data yang ada pada database secara real-time. Pada Replikasi Database ini mengunakan sistem :

1. Master to Slave 
Master sebagai server utama dan Slave sebagai backup atau penampung data dari master. server          slave tersebut hanya sebagai read-only , tidak ada kegiatan tambah,hapus atau ubah disana.

2. Master to Master
Ini dikenal dengan 4 server misal (server A, B, C, D) ketika serve A sebagai master maka server B,C dan D akan sebagai Slave. jika kita menambah data di server A maka data tersebut juga akan bertambah di server B,C dan D. begitu juga sebaliknya dengan server B,C dan D. Okay semoga mengerti ya . Langsung ajah berikut apa saja yang diperlukan dan keterangan server yang saya gunakan:

* Linux Ubuntu 16.04
* Postgresql-9.5
* 2 Server  dengan OS (Ubuntu 16.04)
   - 10.1.1.2 (Master)
   - 10.1.1.3 (Slave)


I. Install dan Konfigurasi Server Master


1. Install terlebih dahulu postgresql dengan command line dibawah ini


    sudo apt-get install postgresql-9.5


2. Jika Instalasi sudah complete, maka langkah selanjutnya adalah pastikan bahwa postrgesql nya          sudah terhubung. Ikuti command line berikut  menggunakan user ROOT:

    systemctl enable postgresql

3. Secara Default postgresql akan menjalankan localhost (127.0.0.1) dengan posrt 5432 pada                  Ubuntu. Jalankan perintah ini untuk mengecek :

    netstat  -plntu



4. Pada gambar diatas postgresql sudah berjalan. Maka langkah selanjutya kita mengganti password        user postgres. Jalankan Perintah berikut:

    sudo su postgres

5. Setelah masuk ke postgres#  selanjutnya jalankan perintah ini:

    \password postgres

     lalu cek info dari user postgres tersebut dengan perintah berikut:
     
     \conninfo

6. Sekarang kita Konfigurasi postgres yaitu dengan user ROOT , kita change directory 

    cd  /etc/postgresql/9.5/main/

  vim  postgresql.conf


     Uncomment dan ubah script berikut :
   
     listen_addresses = '10.1.1.2'

  wal_level = hot_standby

  wal_level = hot_standby

   
  archive_mode = on

     archive_command = 'cp %p  /var/lib/postgresql/9.5/main/archive/%f'

  max_wal_senders = 2    (karena saya pakai 2 server)

   
  wal_keep_segments = 10 ( 1 segment dengan value 16 Mb)

  synchronous_standby_names = 'node'


      Setelah itu simpan file tersebut.

7.  Pada file postgresql.conf saya sudah buat enabled/on  maka kita harus membuat file directory             untuk Archive . Buat  directory Archive baru dan ubah  permission pemilik user postgres:

     mkdir -p  /var/lib/postgresql/9.5/main/archive/

    chmod 700  /var/lib/postgresql/9.5/main/archive/

    chown  -R  postgres:postgres  /var/lib/postgresql/9.5/main/archive/

8. Selanjutnya ubah file pg_hba.conf dengan perintah ini :

    vim pg_hba.conf

    Tambahkan Script konfigurasi berikut:

    # Localhost
  host replication     replica   127.0.0.1/32   md5

  # PostgreSQL Master IP address
  host  replication    replica   10.1.1.2/32     md5

  # PostgreSQL SLave IP address
  host  replication   replica   10.1.1.3/32      md5

   
     Simpan dan exit.

9. Kemudian restart postgresql dengan perintah berikut:

    systemctl  restart  postgresql

     Maka postgressql  sudah berjalan  pada IP 10.1.1.2 atau biasanya saya pakai tanda  (*)  di                   Listen Addreses maka postgresql nya berjalan di IP 0.0.0.0:5432

     Cek postgresql nya dengan cara

     netstat  -plntu

    

10. Selanjutnya buat user baru untuk Replikasinya dengan nama user replica dan password nya                password. Untuk password bebas silahkan dibuat sendiri. kita masuk ke user postgres:

      su su postgres

   psql

   CREATE  USER  replica  REPLICATION  LOGIN  ENCRYPTED  PASSWORD  'password';

        Lalu cek user baru replica sudah punya hak akses:

   \du





II.  Install dan Konfigurasi Server Slave

1. Install postrgesql 9.5
2. Setelah diinstal selanjutnya masuk ke user ROOT lalu stop  postgresql

     systemctl  stop  postgresql

3. Edit File postgresql.conf  dengan perintah berikut ini:
 
     cd  /etc/postgresql/9.5/main/

  vim  postgresql.conf

  Uncomment dan edit :

     listen_addresses = '10.1.1.3'

     wal_level = hot_standby

     synchronous_commit = local

     max_wal_senders = 2

     wal_keep_segments = 10

     synchronous_standby_names = 'node'

      hot_standby = on

  Simpan file tersebut dan exit.

4. Login sebagai user postrges. Lalu ikuti perintah berikut ini
  
    sudo su postgres

  cd 9.6/

     mv main main-backup

  mkdir main/

  chmod 700 main/

5. Selanjutnya copy data main dari Server Master  ke Server Slave dengan menggunakan user              replica

  pg_basebackup  -h 10.1.1.2  -U replica -D  /var/lib/postgresql/9.5/main  -P  --xlog

    Lalu Masukan Password:

6. Jika data sudah tercopy sempurna maka langkah selanjutnya adalah  ke directory main untuk              membuat  file recovery.conf

    cd  /var/lib/postgresql/9.5/main/ 

    vim recovery.conf

  Isi File tersebut dengan script dibawah ini:
     
     standby_mode = 'on'     primary_conninfo='host=10.1.1.2  port=5432 
     user=replica password=password  application_name=node'
     restore_command = 'cp  /var/lib/postgresql/9.5/main/archive/%f   %p'
     trigger_file = '/tmp/postgresql.trigger.5432'

  Simpan file tersebut dan exit.

7. Ubah permission file tersebut:

     chmod 600 recovery.conf



8.  Lalu Start  postgresql nya  dengan perintah:

     systemctl  start  postgresql

    netstat -plntu
 


   Data trasnfer  antara Server Master dan Server Slave sudah complete.

9. Cek status  Replikasi pada Server Master 

    sudo  su  postgres

    select application_name, state, sync_priority, sync_state from pg_stat_replication;

  select * from pg_stat_replication;
   
    
10.  Testing data apakah kedua server tersebut sudah sinkron?

        sudo su postgres
      
        psql

   CREATE TABLE replica_test (hakase varchar(100));


    INSERT INTO replica_test VALUES ('howtoforge.com');


    INSERT INTO replica_test VALUES ('This is from Master');


    INSERT INTO replica_test VALUES ('pg replication by hakase-labs');

  


   Cek data pada server Slave:

       sudo su postgres
     
        psql

   Cek data replica_test dengan query berikut:

        select * from replica_test;


   Maka akan terlihat data yang sama seperti gambar berikut:

       
   Untuk selanjutnya silahkan isi data pada Server Master  lalu kemudian cek di Server  Slave.
   



Oke teman- teman, sekian sharing dari saya, semoga tutorial ini sangat bermanfaat. Jangan lupa di like comment atau dibagikan , biar bermanfaat juga dengan teman-teman kita yang membutuhkan πŸ˜ƒThank you guys... see you next in the next tutorial byeeee...πŸ˜‡πŸ˜‡πŸ˜‡