Skip to content

Latest commit

 

History

History
137 lines (115 loc) · 4.44 KB

File metadata and controls

137 lines (115 loc) · 4.44 KB

Manarang Script

Script yang menyerupai cara kerja provision pada laravel homestead.

Cara Menggunakan

Script ini membutuhkan paket yq untuk membaca file YAML. Dokumentasi paket dapat dilihat pada yq documentation.

- Linux XAMPP

  1. Unduh Linux XAMPP pada website https://www.apachefriends.org/download.html.
  2. Install Linux XAMPP pada direktori /opt menggunakan mode root.
  3. Buat symlink command 'php', 'composer', 'mysql' ke direktori /usr/local/bin, dengan perintah
    $ sudo ln -s /opt/lampp/bin/php /usr/local/bin/php
    ...dst untuk command lain
    

    Unduh composer terlebih dahulu.

  4. Edit file httpd.conf pada direktori /opt/lampp/etc dengan mengubah
    • User dan Group ke username sistem
    • DocumentRoot ke path pilihan anda. Saya menggunakan Direktori Templates untuk pengembangan aplikasi.
    • Aktifkan modul VirtualHost
    • Tambahkan pattern # Mulai Aliases pada baris paling akhir.
  5. Edit file httpd-vhosts.conf pada direktori /opt/lampp/etc/extra dengan menambahkan pada baris terakhir pattern # Mulai Vhosts.

- Install Nettools

Linux XAMPP memerlukan nettools untuk dapat beroperasi. Install dengan cara mengetik

$ sudo apt install net-tools

- YQ Package

YQ diperlukan untuk membaca file YAML yang dijadikan sebagai tempat konfigurasi project kita. Install dengan mengetik

$ sudo add-apt-repository ppa:rmescandon/yq
$ sudo apt update
$ sudo install yq -y

Pada versi 4.*, command yq r sudah dihapus sehingga menyebabkan beberapa error pada script. Sementara jangan gunakan dulu repository di atas sampai perbaikan script berikutnya. Agar dapat menjalankan script silahkan unduh yq pada tautan berikut

- PostgreSQL

Default XAMPP hanya menyertakan database MySQL, jika ingin menggunakan PostgreSQL dapat diunduh pada tautan berikut

- Clone Repository

Clone repository ini kedalam folder Public.

- Akses Global Script

Untuk bisa mengakses script dari direktori apapun buat fungsi berikut di dalam file .bashrc

function manarang() {
    export PGSQLPATH=/opt/lampp/postgresql

    cd ~/Public/Manarang

    command="$1"

    if [ "$command" = "edit" ]; then
        # Sesuaikan dengan editor anda
        nano manarang.yaml
    elif [ "$command" = "provision" ]; then
        bash manarang.sh
    elif [ "$command" = "up" ]; then
        (sudo /opt/lampp/lampp start && bash $PGSQLPATH/postgresql.sh start)
    elif [ "$command" = "halt" ]; then
        (sudo /opt/lampp/lampp stop && bash $PGSQLPATH/postgresql.sh stop)
    else
        (sudo /opt/lampp/lampp restart && bash $PGSQLPATH/postgresql.sh restart)
    fi

    cd -
}

- Pengaturan DNSMASQ

dnsmasq diperlukan sebagai forwarding domain pada server lokal (.test) agar dapat diakses browser.

  • Install dnsmasq dengan mengetik

    $ sudo apt install dnsmasq
    
  • Jika terjadi error port 53 lakukan troubleshoot berikut. Ketik pada terminal

    $ sudo systemctl stop systemd-resolved
    

    Kemudian edit file systemd-resolve dengan mengetik

    $ sudo nano /etc/systemd/resolved.conf
    

    Ikuti konfigurasi berikut :

    DNS=127.0.0.1
    FallbackDNS=
    MulticastDNS=no
    DNSSEC=no
    DNSOverTLS=no
    DNSStubListener=no
    

    Simpan, kemudian buat symlink dengan mengetik perintah

    $ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
    

    Jalankan kembali service systemd-resolve dengan cara

    $ sudo systemctl start systemd-resolved
    
  • Kemudian edit file dnsmasq.conf pada direktori /etc lalu tambahkan pada baris paling akhir konfigurasi berikut.

    domain-needed
    bogus-priv
    
    # define local domain part
    # this will allow you to have domains with .test extension,
    # so make sure all your development apps are using .test as extension,
    # e.g. somedomain.test, myapp.test
    local=/test/
    domain=test
    
    # listen on both local machine and private network
    listen-address=127.0.0.1
    
    # read domain mapping from this file as well as /etc/hosts
    # isikan dengan path file hosts dalam folder Manarang
    addn-hosts=/home/ipulmisaja/Public/Manarang/hosts
    expand-hosts
    
  • Restart dnsmasq dengan mengetik

    $ sudo systemctl restart dnsmasq
    
  • Untuk penggunaan permanen ketik

    $ sudo systemctl enable dnsmasq