Membuat CDN lokal

ini adalah kelanjutan dari post ini. jadi jangan bingung dengan domain cdn.dev. 🙂

karena rencana sebelumnya saya memang mau make bower maka saya mesti install bower. karena mesti install bower ya mau tak mau saya mesti install node js.

[persiapan]

install nodejs. klik aja link ini. saya pisah biar mudah nyarinya.

install bower.

npm install -g bower

test dengan

bower -v

mestinya akan menampilkan nomer versi dari bowernya.

 

[ngisi library ke domain cdn.dev]

ke direktory CDN

cd /var/www/html/CDN

lalu install komponent-komponet yan dibutuhkan.

saya membutuhkan bootstrap dan angularjs.

bower install bootstrap angularjs

semua file bootstrap dan angularjs akan ada di direktory bower_components.

akan ikut terinstall jquery. karena bootstrap membutuhkan jquery.

untuk menggunakannya, setiap file development atau testing  saya akan menggunakan cdn ini. cukup panggil aja dari htmlnya:

<link rel=”stylesheet” href=”http://cdn.dev/bootstrap/dist/css/bootstrap.min.css”&gt;
http://cdn.dev/jquery/dist/jquery.min.js
http://cdn.dev/bootstrap/dist/js/bootstrap.min.js
http://cdn.dev/angular/angular.min.js

sip, sudah. cdnnya gak mesti ol lagi. 😀

Install NodeJs

saya menggunakan linuxmint. caranya sih gampang. 😀

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

lalu test dengan cara:

npm -v

mestinya akan muncul nomer versi dari nodejsnya. 🙂

Membuat/Setting apache virtual host

terkadang kita ingin membuat 1 apache dapat diakses dengan banyak domain dengan merujuk ke folder yang berbeda-beda. nah, kebutuhan itu dapat ditangani oleh apache2. dengan fasilitas vitual host.

berikut saya catet-catetin beberapa step-step yang mungkin bermanfaat, khususnya buat saya sendiri. hehe…

untuk sebagai percobaan kali ini, saya menggunakan leptop kantor yang kebetulan saya telah install linux mint dan apache2. sebagai kebutuhan testing, saya ambil kasus menyediakan server cdn lokal dengan nama domain “cdn.dev”. cdn tersebut akan menyediakan file-file library front dan untuk mengelola libraray-library tersebut, saya menggunakan bower untuk menginstall setiap paketnya. 🙂  untuk masalah isi saya rasa gak usah diperdulikan dahulu. nanti aja di tulisan berikutnya.

tentukan dahulu domain “cdn.dev” telah merujuk ke ip kita. untuk melakukannya, edit file /etc/hosts tambahkan ” cdn.dev”(tanpa kutip, ada spasinya) setelah kata localhost  (dalam satu baris ya, jangan nambah baris lagi, 😀 ) lalu disimpan.(membutuhkan permisi root).

akses domain “cdn.dev” dari browser, apakah sudah merujuk ke local host?? jika tidak, komen aja dulu.

jika domain cdn.dev sudah merujuk ke localhost, maka selanjutnya kita lanjutkan dengan membuat virtual host untuk domain tersebut.

oke, untuk pertama kali, buka terminal dulu deh. (ctrl+alt+T)

bikin folder tempat file-file library kita. karena ini adalah cdn saya bikin direktory tersendiri dan karena rencanya mau make bower ya saya bikin aja dulu direktory bower componentnya. 🙂

sudo mkdir /var/www/html/CDN/

sudo mkdir /var/www/html/CDN/bower_components

 

selanjutnya bikin file config. saya biasanya sih ngopi dari yang sudah ada. 😀

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/cdn.conf”

(kalau diminta memasukkan password, ketik password, jangan update status di situ!!).

edit file config cdb.conf dengan editor kesayangan. untuk saat ini pake gedit aja, biar cemerlang. “sudo gedit /etc/apache2/sites-available/cdn.conf”. baca-baca aja isi filenya yg ada di sana. fokus ke ServerName dan DocumentRoot.

berikut yang saya lakukan pada file config saya:

ServerName cdn.dev
ServerAlias http://www.cdn.dev

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/CDN/bower_components/

save lalu tutup geditnya. oia, untuk teks2 lainya abaikan saja dan jangan di hapus, edit pada point2 diatas aja.

kembali ke terminal, enabelin tu config. dengan cara “sudo a2ensite cdn.conf”.

selanjutnya reload apachenya dengan cara “sudo service apache2 reload”

 

nah, sekarang kita sudah bisa buka domain “cdn.dev” dari browser. dan semestinya sudah diarahkan ke direktory /var/www/html/CDN/bower_components/.

untuk mengujinya bikin aja dulu file index.php dengan isi apa aja di direktory “/var/www/html/CDN/bower_components/” .  coba deh akses cdn.dev di browser. harusnya sih sudah bisa tampil tu file index.

[next post] isi cdn.dev dengan file-file library front-end.

install OCI8 di linux mint.

  1. download instant client dan SDK di sini: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
  2. extract instant client letakan semua file yang ada di folder hasil extract ke /opt/oci8lib. (sebenernya terserah mau diletakkan dimana).
  3. extract sdknya. buka folder hasil extrak. di sana ada folder sdk.
  4. copy file folder sdk(perhatikan, folder sdk, buka folder hasil extract) ke /opt/oci8lib. ini menyesuaikan dengan tahapan point 2. alias di copy ke folder library oci8 kita.
  5. buka terminal.
  6. lalu run command berikut:

    #menambah path
    echo ‘export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/oci8lib’ >> ~/.profile
    source ~/.profile
    #pindah ke tempat librarynya
    cd /opt/oci8lib
    echo /opt/oci8lib >> /etc/ld.so.conf
    ldconfig
    #buat link
    ln -s libclntsh.so.* libclntsh.so
    #install beberapa komponen
    sudo apt-get install php-pear
    sudo apt-get install php5-dev
    sudo apt-get install libaio-dev
    sudo apt-get install php-pear

    #install oci8-nya

    pecl install oci8-2.0.10

    #jika ditanyatanyain untuk nginput path, enter sajalah. 🙂

  7. testing.
    buat file phpinfo().

[MySQL] Perhitungan saldo compatible dengan Jasperreport

biasanya saya menggunakan user defined variable untuk menyimpan nilai (kolom) saldo. tapi berhabung kata rekan kerja saya, dia menginginkan querynya tetep kompatible dengan jasperreport, maka ada sedikit modifikasi untuk inisialisasi user defined variable di mysqlnya.

berikut samplenya querynya:

SELECT     iddinamic_variable,
(if(col_int>=0,col_int,”)) as masuk,
(if(col_int<0,col_int,”)) as keluar,
(@count := @count + col_int) as saldo
FROM tester.dinamic_variable
left join (select @count:=0) as a on 1=1;

[MySQL] join bercabang, conditional join.

SELECT m_inout.m_inout_id,
c_order.document_no so,
remark,
partner_name
FROM m_inout
LEFT JOIN c_order
on m_inout.c_order_id = c_order.c_order_id
LEFT JOIN c_bpartner
on if(isnull(m_inout.c_order_id),
c_bpartner.c_bpartner_id = m_inout.c_bpartner_id,
c_bpartner.c_bpartner_id = c_order.c_bpartner_id)
WHERE m_inout.m_transaction_type_id = 3
AND m_inout.app_org_id = ‘5’;