Kang Sunu — My Personal Blog Notes
News Update
Loading...

Sabtu, 05 Oktober 2019

Cara Menggunakan phpdotenv ( .env ) pada CodeIgniter 3

Integrasi .env pada CodeIgniter

Saat kita membangun sebuah aplikasi, kebanyakan dari kita biasanya menyimpan data credential seperti konfigurasi database maupun yang lainnya langsung pada kode program. Apabila kita sudah bekerja secara tim dalam membangun sebuah proyek aplikasi, bisa jadi antar developer menggunakan credential yang berbeda. Hal seperti ini tentunya akan menghambat kerjasama tim karena harus menyamakan credential antar developer terlebih dahulu. Belum lagi kita juga harus mengkonfigurasi data credential antar environment.
Pada framework CodeIgniter, kita dapat memisahkan data credential antar environment dengan cara memisahkannya dengan direktori. Namun hal ini, data tersebut tetap akan masuk pada Git repo. Hal ini pun kurang begitu efektif dan tidak begitu aman karena semua kolaborator pada proyek tersebut dapat mengetahui data credential yang bisa jadi hanya orang-orang tertentu yang diperbolehkan untuk menyimpan data credential tersebut.
Permasalahan seperti ini pernah saya alami saat mengatur data credential pada development environment, yang mana pada saat itu terjadi konflik pada pengaturan config database saat melakukan merge pada repo. Selain itu saya juga harus mengganti konfigurasi lainnya pada server production yang mana seperti kita ketahui, konfigurasi di CodeIgniter berada pada file yang berbeda-beda. Jadi kita harus mengedit satu-per-satu file konfigurasi sesuai dengan environment yang kita pakai. Untuk mengatur data credential yang saling terpisah tersebut ternyata lumayan memakan waktu. Hingga akhirnya kami (saya dan tim developer lain) berdiskusi dan memutuskan untuk menggunakan file .env sebagai tempat untuk menyimpan seluruh data credential. Pengambilan keputusan ini juga terinspirasi dari framework Laravel yang mana pada framework tersebut memang sudah menggunakan file .env sebagai tempat penyimpanan data credentialnya. Dan disini kita akan mengimplementasi file .env agar berjalan di framework CodeIgniter.

Instalasi phpdotenv di CodeIgniter
Untuk langkah pertama, kita harus mengaktifkan composer pada proyek CodeIgniter terlebih dahulu. Untuk cara instalasi composer di CodeIgniter akan saya paparkan di lain waktu.
  1. Buka file config.php yang terdapat pada path berikut:
    application/config/config.php
  2. Aktifkan Composer
    $config['composer_autoload'] = true;
  3. Masuk ke directori application melalui command line dan lakukan perintah berikut:
    composer require vlucas/phpdotenv
    composer install
  4. Langkah pertama untuk Instalasi package PhpDotENV di CodeIgniter selesai.

Konfigurasi phpdotenv di CodeIgniter
Pada langkah kedua ini, kita akan melakukan konfigurasi agar CodeIgniter otomatis membaca file .env. Ada beberapa cara untuk melakukan konfigurasi phpdotenv pada CodeIgniter, salah satunya menggunakan Hooks. Untuk menggunakan fitur Hooks dari CodeIgniter, kita aktifkan dulu melalui file config.php yang terdapat pada application/config/config.php menjadi seperti ini:
$config['enable_hooks'] = TRUE;
Lalu buka file hooks.php yang terdapat pada application/config/hooks.php dan masukkan kode berikut:
# Load phpdotenv
$hook['pre_system'] = function() {
 $dotenv = Dotenv\Dotenv::create(APPPATH);
 $dotenv->load();
};

Selanjutnya, buatlah file .env di dalam direktori application. Gunakan text editor seperti Sublime atau yang lainnya untuk membuat file tersebut.

Penggunaan .env pada CodeIgniter
Pada bagian ini adalah langkah terakhir dalam integrasi .env pada CodeIgniter, yaitu menggunakan variabel ENVIRONMENT pada konfigurasi bawaan CI. Sebagai contoh saya akan mengubah konfigurasi database menggunakan .env.
  1. Buka file .env yang sudah kita buat pada langkah sebelumnya dan masukkan data berikut:
    # Database Configuration
    DB_HOSTNAME="localhost"
    DB_USERNAME=""
    DB_PASSWORD=""
    DB_DATABASE=""
    DB_DRIVER="mysqli"
  2. Buka file konfigurasi database.php yang terdapat pada application/config/database.php
  3. Ganti value dari variabel konfigurasi dengan variabel environment seperti contoh di bawah ini:
    'hostname' => getenv('DB_HOSTNAME'),
     'username' => getenv('DB_USERNAME'),
     'password' => getenv('DB_PASSWORD'),
     'database' => getenv('DB_DATABASE'),
     'dbdriver' => getenv('DB_DRIVER'),
    *NB: penggunaan environment variabel bisa menggunakan getenv(), $_ENV[], $_SERVER[]

Baiklah, demikian cara integrasi file .env pada framework CodeIgniter. Semoga tulisan saya bermanfaat untuk teman-teman yang pernah ataupun sedang mengalami permasalahan yang sama seperti saya. Penggunaan file .env pada tulisan saya ini hanyalah contoh kecil dari penggunaan package phpdotenv itu sendiri, semoga teman-teman dapat mengembangkan penggunaan .env itu sendiri.
Contoh dari penggunaan .env di CodeIgniter bisa dilihat di akun github saya disini:
https://github.com/sunuazizrahayu/phpdotenv-for-codeigniter


Referensi:
http://roopampoddar.com/2016/01/26/integrating-phpdotenv-env-files-in-codeigniter-3-0-using-hooks/

Kamis, 03 Oktober 2019

Sinkronisasi Github Fork Repositori Agar Selalu Update

Saat kita melakukan kolaborasi dalam sebuah proyek Open Source, kita biasanya diminta untuk melakukan percabangan atau fork dari repositori asli (selanjutnya saya singkat menjadi repo). Fork adalah aktivitas melakukan salinan proyek kedalam akun Github kita. Hasil salinan ini memungkinkan kita untuk bebas bereksperimen ataupun melakukan perubahan tanpa mempengaruhi repo asli / utamanya.

Saat kita melakukan percabangan repo (fork), kita tidak akan mendapatkan update dari repo asli. Hal ini menyebabkan apabila repo utama memiliki update, fork repo pada akun Github kita tidak akan otomatis mengikuti repo aslinya. Jadi untuk menghindari masalah saat kita mencoba untuk melakukan sebuah perubahan / commit, lebih baik kita menjaga agar fork repo tetap up to date.

Berikut cara membuat Fork Repositori kita agar selalu uptodate.
  1. Pertama, lakukan fork dan clone repositori terlebih dahulu.
  2. Kedua, masuk kedalam direktori repositori tersebut. 
  3. Lihat list remote yang terdapat pada fork repo yang telah kita clone dengan perintah berikut.
    git remote -v
  4. Tambahkan remote asli dari repo yang kita fork dengan perintah berikut:
    git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
  5. Lakukan fetch dari repo asli
    git fetch upstream
  6. Bila sudah, sekarang kita pindah ke branch master
    git checkout master
  7. Lakukan merge dari upstream/master kedalam branch master
    git merge upstream/master

Sekarang perubahan yang ada pada repo asli sudah dimasukkan ke dalam lokal branch kita, lakukan push apabila kamu ingin memperbaharui fork repo kamu. Hal yang perlu kita ingat bahwa sebelum kita melakukan perubahan, pastikan untuk memperbarui fork repo kita. Hal ini akan menghindari kita menemui konflik saat melakukan merge. Lakukan step 5 sampai 7 secara berkala agar kita selalu mendapatkan update terbaru dari repo asli.
Demikian tips agar membuat fork repository selalu up-to-date, semoga bermanfaat dan jangan lupa untuk membagikan tulisan saya ini. Terimakasih.

Referensi:
https://help.github.com/en/articles/configuring-a-remote-for-a-fork
https://nearsoft.com/blog/how-to-synchronize-your-github-fork/

Jumat, 07 Juni 2019

Mengamankan Akses Controller pada CodeIgniter

Memproteksi Akses Controller pada CodeIgniter
Cara Mengamankan Akses Controller pada Framework CodeIgniter - Bila teman-teman pernah menggunakan framework dalam pembuatan aplikasi, pasti sudah tidak terdengar asing dengan istilah "routing" atau "route". URL routing (route) adalah salah satu metode yang digunakan untuk memetakan URL ke dalam sumber daya tertentu dengan memberikan nama lain dari alamat sumber daya yang dimaksud. Dalam framework CodeIgniter, route biasanya digunakan untuk memanipulasi url agar dapat mengakses controller tertentu. Pengaturan route pada framework CodeIgniter berada pada application/config/routes.php.

Pada framework CodeIgniter, kita sebenarnya bisa langsung menggunakan aplikasi kita tanpa mengatur routing terlebih dahulu. Secara default kita bisa memanggil sebuah fungsi dengan cara mengakses lewat URL dengan format: http://namadomain.com/namacontroller/namafungsi.
Berbeda dengan framework PHP lainnya seperti Laravel, setiap Controller yang akan diakses harus dimasukkan ke dalam routes terlebih dahulu. Menurut saya, routing pada Laravel lebih baik daripada CodeIgniter karena lebih membatasi pengguna untuk mengakses Controller yang mungkin tidak kita kehendaki. Selain itu, secara tidak langsung routing dapat menyembunyikan path asli dari struktur Controller kita.

URL routing sering digunakan dalam beberapa hal berikut:
  1. Menjadikan URL sumber daya yang sulit dibaca manusia dengan membuatkan pemetaan baru ke URL alias dari route yang lebih mudah dibaca manusia.
  2. Membuat URL sumber daya menjadi lebih pendek dengan memberikan penamaan routing yang lebih pendek.
  3. Memantau agar URL sesuai dengan format yang diinginkan dengan memanfaatkan fungsi regeluar expression (regex).

Pernah saya temui pertanyaan pada beberapa forum tentang, bagaimana cara agar aplikasi kita hanya bisa diakses apabila sudah di-route seperti Laravel? Atau, bagaimana cara agar controller tidak bisa diakses langsung lewat url, jadi akses hanya lewat routing saja? Dalam hal lain, saya juga menemui kasus agar controller pada aplikasi yang saya bangun tidak bisa diakses secara langsung sebelum di-filter dalam routes. Nah pada tulisan saya kali ini, saya akan berbagi cara agar Controller pada CodeIgniter hanya bisa diakses bila routes sudah diatur.

Berikut adalah langkah-langkah untuk memproteksi Controller pada CodeIgniter agar tidak bisa di-akses secara langsung:
  1. Pertama, buka konfigurasi routing CodeIgniter pada application/config/routes.php
  2. Pada bagian paling bawah, tambahkan kode berikut:
    # Disable Controller access without routing
    $route['(.*)'] = "error404";
    
  3. Tulis semua pengaturan routes teman-teman di atas kode tersebut.

Nah, penjelasan kode tersebut adalah semua halaman akan mengakses http://namadomain.com/error404 secara default, dengan demikian maka semua halaman akan me-response halaman 404.
Bila kita menambahkan pengaturan routing di atas kode tersebut, maka routers pada CI akan menampilkan halaman sesuai dengan apa yang telah di-atur dalam routes.
Demikian cara menonaktifkan akses Controller pada framework CodeIgniter dari saya, semoga bermanfaat.


Referensi:
https://situsali.com/belajar-codeigniter-3-dasar-routing/
https://www.mahadisuta.com/artikel/penerapan-url-routing-pada-framework-codeigniter
https://stackoverflow.com/questions/7618633/routes-in-codeigniter-automatically

Sabtu, 17 Maret 2018

Cara Install Linux Subsystem di Windows 10

Menjalankan Linux di Windows
Cara Install Linux Subsystem di Windows 10 - Windows Subsystem for Linux (WSL) atau nama lainnya dikenal dengan Bash on Ubuntu on Windows, merupakan fitur baru yang ada pada Windows 10 sejak versi Insider Build 14393. Fitur ini memungkinkan kita menjalankan beberapa aplikasi Linux seperti vim, emacs, tmux, git dan lainnya tanpa harus memasangnya pada Virtual Machine. WSL juga memungkinkan kita menginstal dan menjalankan aplikasi melalui manajer paket dari Ubuntu yaitu apt. Saat ini, distribusi Linux yang tersedia pada Windows 10 antara lain yaitu Debian, Ubuntu, OpenSUSE Leap 42,  SUSE Linux Enterprise, dan Kali Linux.

Hal yang harus diperhatikan bahwa WSL (Windows Subsystem Linux) ini merupakan subsystem, yang berarti ada batasan dalam penggunaannya. Ada beberapa aplikasi yang tidak dapat dijalankan pada WSL seperti fdisk, lsblk, lspci, lsusb, atau aplikasi berbasis sistem lainnya. Namun untuk beberapa kegiatan pemrograman WSL sudah cukup untuk melakukannya. Saya sendiri baru mencoba menggunakan WSL untuk membuat Web Development environment dan hasilnya untuk saya sangat membantu dalam kegiatan ngoding yang saya lakukan.

Cara Instal Windows Subsystem Linux (WSL)
  1. Untuk menggunakan WSL ini, gunakan Windows 10 64bit dengan minimum OS Build 14393.
    Cara Cek versi OS Build Windows 10
  2. Aktifkan Developer Mode dengan cara masuk ke Settings -> Update and Security -> For Developers -> pilih Developers Mode.
    Cara Mengaktifkan Fitur Developers Mode pada Windows 10
  3. Setelah proses selesai, buka Turn Windows Features on or off.
    Mengaktifkan Linux Subsystem for Windows melalui Windows Features
  4. Aktifkan Windows Subsystem Linux lalu klik OK, dan tunggu sampai proses instalasi selesai.
    Mengaktifkan Windows Subsystem for Linux

Cara alternatif untuk menginstal Linux Subsystem di Windows 10 dapat menggunakan Powershell dengan menjalankannya sebagai Administrator (Run as Administrator). Cara nya yaitu
  1. Buka Powershell dan jalankan dengan Run as Administrator.
    Cara Install Linux di Windows dengan Powershell
  2. Kemudian lakukan perintah berikut:
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  3. Jika WSL sudah selesai dipasang, kita jalankan melalui Command Prompt dengan mengetik bash.
    Cara Menjalankan Linux melalui Command Prompt di Windows
  4. Nantinya kita akan dimintai membuat username dan password untuk Subsystem Linux kita, ikuti semua instruksi yang diberikan hingga instalasi selesai.
    Proses Instalasi Linux Subsystem di Windows

Cara lain untuk menginstal Linux Subsystem yaitu melalui Microsoft Store, kita hanya mencari aplikasi Ubuntu dan instal.
Cara Install Linux Subsystem for Windows melalui Windows Store

Sekarang Susbystem Linux sudah terpasang di OS Windows 10 kita. Kita bisa memasang aplikasi tambahan sesuai yang kita kehendaki. Selamat mencoba!


Keyword:

Referensi:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
https://situsali.com/memasang-windows-subsystem-linux-wsl-di-windows-10/
http://www.sekedartrick.com/2017/08/install-distro-linux-di-windows-10.html


Rabu, 13 Desember 2017

Cara Menambahkan atau Menghilangkan WWW dengan .htaccess

.htaccess, cara menggunakan .htaccess di Cpanel
Cara Menambahkan atau Menghilangkan WWW dengan .HTACCESS - Beberapa orang memilih untuk menggunakan ataupun tidak menggunakan WWW pada website mereka. Misalnya teman-teman dapat mengakses alamat situs saya ini menggunakan www.kangsunu.web.id ataupun langsung kangsunu.web.id. Secara umum yang saya ketahui, Search Engine lebih suka dengan situs yang menggunakan WWW daripada yang tidak menggunakan WWW. Jadi dalam hal ini, www.kangsunu.web.id lebih baik dari kangsunu.web.id di mata Search Engine. Maka dari itu, dari sisi SEO (Search Engine Optimization) kita lebih baik menggunakan WWW pada situs kita.

Setelah lama saya tidak menulis di blog saya ini, saya akan berbagi cara untuk menambahkan WWW ataupun menghilangkan WWW dari situs kita. Tutorial ini disarankan bagi teman-teman yang mempunyai situs ataupun website yang menggunakan Hosting. Jadi tutorial ini tidak diperuntukkan bagi Anda yang menggunakan platform seperti Blogger ataupun yang sejenisnya.

Untuk menambahkan WWW pada situs kita, silakan tambahkan kode berikut ke dalam file .htaccess kita
#Force www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

Sedangkan untuk menghilangkan WWW pada situs kita bisa menggunakan kode berikut
#Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Setelah memasukkan kode tersebut ke dalam file .htaccess kita, maka ketika kita mengetikkan nama domain kita dengan www atau tidak, seharusnya muncul seperti yang kita gunakan di file .htaccess.
Demikian cara untuk menggunakan WWW ataupun menghilangkan WWW pada website kita dengan .htaccess. Bagi teman-teman yang ingin beranya mengenai tulisan ini, teman-teman bisa menggunakan kolom komentar yang ada di bawah tulisan ini. Terimakasih.

Selasa, 01 Agustus 2017

Cara Mengetahui Windows Asli atau Bajakan

cara cek keaslian windows | cek windows genuine atau bajakan
Cara Mengetahui OS Windows Asli atau Bajakan - Windows merupakan OS yang secara umum digunakan oleh masyarakat luas. Sejak kita berada di bangku sekolah kebanyakan dari kita diajarkan pelajaran komputer yang menggunakan OS Windows. Secara tidak langsung kita didoktrin kalau menggunakan komputer itu menggunakan Windows.
Namun tahukah Anda apakah OS Windows yang Anda gunakan itu asli atau bukan? Seperti yang kita ketahui bahwasannya kebanyakan dari para pengguna Windows di sekitar kita menggunakan versi bajakan bahkan dalam instansi sekalipun. Walaupun begitu setahu saya Microsoft sendiri memperbolehkan penggunaan Windows bajakan dalam bidang pendidikan.

Bagaimana Ciri Windows Asli?
Pada Windows asli  kita mendapatkan berbagai dukungan layanan secara penuh dari Microsoft seperti keamanan dan perbaikan bug maupun fitur-fitur baru melalui update. Sedangkan Windows bajakan tidak mendapatkan dukungan seperti yang sudah dipaparkan. Walaupun dapat melakukan update maka akan meninggalkan pesan kalau OS Windows yang kita gunakan tidak asli (bajakan). Efek dari pesan ini biasanya terdapat tanda bajakan seperti yang saya paparkan tadi di sudut kanan bawah monitor kita dan wallpaper menjadi blank hitam atau wallpaper default OS versi Windows tersebut dan kita tidak diperkenankan untuk menggantinya.

Bagaimana Cara Mengecek Windows kita Asli atau Bajakan?
Dari berbagai sumber yang saya baca, kita dapat mengetahui keaslian Windows kita melalui SLMgr. SLMgr merupakan kepanjangan dari Software Licensing Management yang berfungsi sebagai konfigurasi atau melacak rincian dari lisensi Windows. Dengan SLMgr kita dapat mengetahui secara detail sebuah lisensi product key windows.

Berikut cara mengetahui keaslian Windows menggunakan SLMgr:
  1. Buka Command Prompt atau CMD
  2. Ketikkan perintah berikut:
    slmgr /xpr
  3. Tunggu beberapa saat dan sebuah dialog seperti berikut akan muncul
    Hasil Cek Keaslian Windows

Itu dia cara mengetahui keaslian dari Windows, Anda juga bisa mengetahui info lain yang berkaitan dengan lisensi yang Anda gunakan melalui kode berikut:
slmgr /xpr (mengetahui expired windows)
slmgr /ato (mengetahui aktivasi windows beserta key nya)
slmgr /dli (mengetahui aktivasi windows beserta partial product key nya)
slmgr /dlv (mengetahui secara lengkap keseluruhan detail aktivasi windows)
atau Anda bisa mengunjungi link berikut: https://technet.microsoft.com/en-us/library/dn502540(v=ws.11).aspx

Setelah melakukan cara diatas, versi apa OS Windows yang Anda gunakan? Asli atau Bajakan?
Semoga artikel yang saya buat bermanfaat untuk Anda. Terimakasih.

Referensi:
- http://www.merahputihwindows.net/2016/02/ternyata-ini-cara-jitu-cek-keaslian-windows.html
- http://updatecaracek.blogspot.com/2016/03/cara-cek-windows-asli-atau-bajakan.html


Keywords:

Senin, 24 Juli 2017

Cara Mengatasi Error Mounting pada Linux

Mengatasi Error Mounting Linux | Mengatasi Error Mounting Linux pada Dual-Boot Linux dan Windows

Cara Mengatasi Error Mounting pada DualBoot Linux-Windows 8 / 8.1 - Buat teman-teman yang memakai Dual Boot Linux-Windows 8 maupun Linux-Windows 8.1 apakah pernah mengalami Error Mounting Disk pada OS Linux kalian? Saya pernah mengalami hal serupa saat awal-awal menggunakan Dual-boot Windows-Linux. Permasalahan ini terjadi saat saya menggunakan OS Ubuntu dan Windows 8.1. Setelah mencari-cari akhirnya saya mendapatkan solusi untuk mengatasi error mounting partisi tersebut.
Hal yang perlu kita lakukan agar tidak terjadi Error Mounting Disk di Linux, kita harus mematikan dulu fitur FAST STARTUP di Windows 8 / Windows 8.1. Jadi, inti dari tutorial ini adalah mematikan fitur FAST STARTUP di Windows 8/8.1.

Kenapa fitur Fast Startup di Windows 8 ke-atas menjadi penyebab terjadinya Error Mounting?
Fitur Fast Startup pada Windows 8 dan 10 membuat waktu pada saat booting menjadi lebih cepat. Dalam proses shutdown normal semua daya dihapus dari komponen-komponen yang ada di komputer, seperti CPU, Harddisk, RAM, dll. Namun bila kita mengaktifkan fitur Fast Startup, Windows menyimpan beberapa informasi seperti caching, registry, dan lainnya selama shutdown. Bagian dari metadata tentang keadaan semua partisi yang dipasang pada saat turn off berada diantara sistem informasi tersebut. Hal ini membuat booting pada Windows menjadi lebih cepat karena informasi tentang partisi NTFS disimpan di Windows, hal ini membuat OS Linux tidak dapat me-mounting partisi dan mengubah metadata dari partisi.

Berikut cara mengatasi Error Mounting di Linux pada DualBoot Linux-Windows 8 dengan Mematikan Fitur FAST STARTUP.
  1. Buka Control Panel -> Hardware and Sound -> Power Options
    Mengatasi Error Mounting Disk di Linux pada Dual Boot Windows 8/8.1 dan Linux Ubuntu
  2. Pada sebelah kiri, klik 'Choose what the power buttons do'.
  3. Nanti akan muncul tampilan seperti ini:
    Mengatasi Error Mounting Disk di Linux pada Dual Boot Windows 8/8.1 dan Linux Mint
  4. Klik 'Change settings that are currently unavailable', seperti yang ditandai pada gambar di atas.
  5. Hilangkan tanda centang pada Turn on fast startup
    Mengatasi Error Mounting Disk di Linux pada Dual Boot Windows 8/8.1 dan Ubuntu
  6. Mengatasi Error Mounting Disk di Linux pada Dual Boot Windows 8/8.1 - Linux
  7. Kalau sudah, klik 'Save changes' dan cek disk di OS Linux kamu.
Tutorial ini sudah saya coba di Ubuntu dan berhasil. Semoga tutorial ini bermanfaat untuk teman-teman yang mengalami hal yang serupa dengan saya.

Inikah yang kamu cari?
Notification
This is just an example, you can fill it later with your own note.
Done