Persiapan Konfigurasi Environment di Linux Untuk Developer Website
Sebagai programmer tentu harus memiliki Environment sendiri untuk development, agar bisa menjadi lebih produktif dan terbiasa dengan konfigurasi dan tools yang digunakan, saya sendiri lebih suka dengan konfigurasi dan tools yang sudah disetting sesuai kebutuhan pengembangan dan akan sedikit kesulitan jika menggunakan perangkat dan environment yang tidak familiar.
Bagi developer web tentu tidak asing lagi dengan software XAMPP untuk lingkungan pengembangan karena kemudahan konfigurasi. Apache + MariaDB + PHP + Perl dalam sekali install, tentu memudahkan kita untuk fokus pada develop aplikasi ketimbang memikirkan software pendukung. namun pada artikel ini saya tidak akan membahas cara installasinya karena sudah mainstream, kita akan coba membahas tools lainnya yang sering dipakai untuk development aplikasi berbasis website.
Apa itu GIT? Ayo kenalan dengan GIT
Git adalah VCS (version control system) yang digunakan para developer untuk mengembangkan software secara bersama-bersama. git diciptakan oleh Linus Torvalds, tentu tidak asing lagi bagi para pencinta Linux, iya perintis pertama Kernel Linux, Kernel Linux dikembangkan dengan BitKeeper DVCS proprietary sebagai version controlnya, namun karena ada perselisihan dengan perusahaan BitKeeper, status gratis dicabut pada tahun 2005, sehingga Linus berinisiatif untuk membuat sendiri version control system yang memudahkan developer, dengan fitur-fitur yang memenuhi kebutuhan pengembangan sistem yang terdistribusi, cepat, mampu untuk project besar dan mampu menghandle pengembangan non linear (ribuan cabang paralel). dikutip disini.
Kenapa Menggunakan GIT?
Sebenarnya jika kita belum terbiasa, maka menggunakan GIT akan menambah langkah yang harus dilakukan, namun salah satu kelebihan git, kita dapat melihat riwayat perubahan dan perbedaan pada baris-baris project yang sedang kita kerjakan, hal ini akan sangat memudahkan bagi developer yang berkerja secara kolaborasi dengan developer lain, sehingga akan sangat terbantu untuk mengetahui perubahan setiap baris.
Installasi GIT
Pada pembahasan ini kita hanya perlu menginstall git pada komputer kita, untuk cara penggunaan akan dibahas pada artikel lain, berikut cara installasi git pada linux sesuai dengan sistem operasi pembaca.
## debian atau turunannnya
~$ sudo apt-get install git
## archlinux atau turunannnya
~$ sudo pacman -S git
## redhat atau turunannya
~$ sudo yum install git-core
Untuk MacOS dan Windows sudah ada versi GUI nya, jadi lebih mudah, tinggal download saja software GIT.
Composer, Apa itu Composer?
Composer adalah package manager/dependencies manager untuk PHP. Kita akan sangat memerlukan Composer saat development aplikasi berbasis PHP yang menggunakan package atau library PHP yang library tersebut memerlukan library lainnya, disinilah tugas Composer, composer membuat struktur coding menjadi lebih rapi dan mudah menerapkan paradigma OOP. seperti autoload, namespace dan lainnya, composer memudahkan kita mengakses file-file tanpa harus meng-include/require setiap class secara manual.
Installasi Composer
Composer adalah package manager untuk PHP, hal yang unik adalah untuk menginstall composer juga menggunakan perintah PHP. berikut cara install Composer di Linux
## debian dan turunannya
~$ curl -sS https://getcomposer.org/installer -o composer-setup.php
~$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
untuk Windows tersedia versi GUInya, Windows : https://getcomposer.org/Composer-Setup.exe
Node JS, Apa Itu Node JS ?
Node.js adalah aplikasi yang ditulis dengan javascript, memiliki pustaka server HTTP sendiri, sehingga dapat bertindak menjadi webserver layaknya apache ataupun Lighttpd, node.js dibuat oleh Ryan Dahl tahun 2009 dan disponsori oleh Joyent, perusahaan tempatnya bekerja.
Nodejs merubah persepsi orang tentang javascript yang sebelumnya hanya untuk sisi client side scripting, namun sekarang dapat sebagai server side scripting, karena nodejs dibangun dengan javascript, maka memudahkan developer yang sudah menguasai javascript, node.js juga sangat handal untuk aplikasi realtime. framework berbasis javascript yang baru juga banyak bermunculan seperti React, Angular, Vue, Express dan masih banyak lagi.
Installasi Node JS
Untuk installasi nodejs download disini, dan pilih mau install windows, macos atau linux

untuk versi terbaru pilih current, namun untuk lebih baik pilih versi LTS. nodejs hadir dengan NPM (node package manager), npm ini sangat memudahkan sekali untuk installasi-installasi library yang diperlukan, untuk installasi nodejs bagi pengguna linux lebih mudah lagi via CLI :
#install debian
#install modejs versi 10
sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
#install modejs versi 8
sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
#install archlinux
sudo pacman -S nodejs
Untuk testing, silahkan coba ketikkan perintah berikut :
#linux
~$ node -v
v10.14.2
~$ npm -v
6.4.1
#windows
C:> node -v
v10.14.2
C:> npm -v
6.4.1
Docker, Apa itu Docker?
Docker didirikan pada tahun 2009 dengan nama dotCloud, dan pada tahun 2013 dirubah menjadi docker, docker adalah sebuah software open source yang berfungsi sebagai wadah/container bagi sekumpulan software agar dapat bekerja sesuai dengan konfigurasi dan settingan sysadmin, pengaturan software beserta file/hal pendukung lainnya akan menjadi sebuah Image (istilah dalam docker) yang terisolasi.
Berbeda dengan mesin virtual seperti vmware/virtualbox yang membuat isolasi full terhadap sistem operasi, docker merupakan os container yang memberikan isolasi pada level sistem operasi dan memanfaatkan kernel yang sama dari suatu host. sehingga penggunaan resource lebih ringan dari mesin virtual.
Docker sangat berguna bagi sysadmin dalam membantu isolasi sebuah konfigurasi pada mesin server, sebagai contoh misal bagaimana jika salah satu software yang dikembangkan memerlukan nodejs versi 8, dan satunya lagi versi 10, tentu akan sangat sulit agar semua berjalan lancar dalam satu environment, dengan docker kita dapat membuat isolasi secara terpisah dan dapat berjalan secara bersamaan.
Installasi Docker
untuk installasi docker pada debian 9 dan centos dapat mengikuti perintah installasi berikut ini
# INSTALLASI DOCKER
# installasi debian 9 dan turunannnya
apt-get install apt-transport-https dirmngr
echo 'deb https://apt.dockerproject.org/repo debian-stretch main' >> /etc/apt/sources.list
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys F76221572C52609D
apt-get update
apt-get install docker-engine
systemctl start docker
# installasi pada centos 7
yum -y update
yum install docker
systemctl start docker
# INSTALLASI DOCKER COMPOSE
# sebelumnya harus install python-pip dulu
# installasi python-pip debian
apt-get -y install python-pip
# installasi python-pip centos
yum install epel-release
yum install python-pip
# install docker-compose via PIP
pip install setuptools --upgrade
pip install wheel
pip install docker-compose