Kategori: Linux Server

Koneksi ssh melalui proxy (tunnel dengan gstm)

SSH Tunnel bisa menggunakan software gSTM – SSH Tunnel Manager yang bisa diunduh di http://sourceforge.net/projects/gstm/. Kemudian setelah ssh tunnel selesai dikonfigurasi maka untuk koneksi ke server melalui ssh dengan menggunakan terminal bisa dilakukan dengan perintah berikut:

ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' username@targetserver.com

Semoga bermanfaat

Perintah untuk mengetahui program/software yang sedang akses file tertentu

Mungkin dari kita pernah mengalami sewaktu me-copy file, me-install software atau me-remove software di linux muncul pesan kesalahan bahwa file tertentu sedang digunakan oleh program lain, dan proses tersebut tidak dapat dilanjutkan lagi. Sebagian dari kita juga sudah mengetahui untuk melihat proses-proses yang sedang berjalan di linux bisa menggunakan perintah top atau ps -aux, namun jika perintah-perintah tersebut belum bisa menampilkan program apa saja yang sedang mengakses file tertentu, maka kita bisa menggunakan perintah-perintah berikut:


lsof path-file

fuser -v path-file

contoh penggunaan:


lsof /var/cache/debconf/config.dat

fuser -v /var/cahce/debconf/config.dat

Semoga bermanfaat.

Update ke repositori ubuntu old releases

Pada ubuntu versi lama misal 9.04, 9.10, 10.10 repository di pindahkan ke server archieve. Sehingga saat dilakukan install dan update akan mengeluarkan error:

E: Couldn’t find package … atau semisalnya.

Solusinya adalah ubah semua repositori ke repositori old releases, menggunakan skrip berikut:

sudo sed -i -e 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

kemudian lakukan update dan upgrade

sudo apt-get update && sudo apt-get dist-upgrade

Selesai

setting htaccess untuk redirect https codeigniter

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

Penjelasan:

RewriteCond %{HTTPS} off

Cek apakah https aktif atau tidak, apakah kita request menggunakan http:// ataukah https://. Jika menggunakan http:// maka redirect ke https:// melalui rule dibaris selanjutnya. yaitu:

RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

Pada baris ini:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

menghilangkan index.php dari url codeigniter. Default-nya url codeigniter adalah  http://namadomain.tld/index.php/controller/param atau http://namadomain.tld/index.php?/controller/param. Dan dengan rule di atas url menjadi http://namadomain.tld/controller/param. Pada artikel ini kami hanya menjelaskan isi file htaccess, dan agar htaccess ini bekerja perlu dilakukan beberapa perubahan di file config.php dan route.php codeigniter.

Semoga bermanfaat …

Belajar SCM (Source Code Management) Software : Git untuk pribadi (1)

Tentang SCM (Source Code Management)

Source Code Management software adalah software yang berfungsi mengendalikan perubahan-perubahan yang terjadi dalam proses pengembangan software. Salah satu aktivitas SCM adalah Revision Control, yaitu pengelolaan terhadap perubahan-perubahan yang terjadi pada artifak (dokumen, source code) oleh banyak programmer  dalam proses pengembangan software. Sedangkan software yang digunakan untuk membantu aktivitas Revision Control disebut dengan Version Control System (VCS). VCS dikelompokkan menjadi 3 kelompok yaitu:

  • Client-Server

Semua programmer harus tersinkronisasi pada server terpusat. Contoh: Subversion, SVN, dan CVS.

  • Terdistribusi (DRCS / Distributed Revision Control System)

Mirip dengan sistem peer-to-peer, sinkronisasi dilakukan dengan mempertukarkan patches-set antar peer. Contoh: git, mercurial, baazar dan lain-lain.

  • Lokal

Semua programmer harus berada pada komputer yang sama. Contoh:  RCS (Remote Control System) dan SCCS (Source Code Control System).

Git merupakan VCS dengan kategori DRCS (Distributed Revision Control System) yang awalnya dikembangkan oleh Linus Trovalds untuk pengembangan kernel Linux. Git merupakan proyek opensource dan dapat diperoleh di http://www.git-scm.org.

Selain install sendiri di lokal komputer, kita juga bisa memanfaatkan DRCS Source Code Hosting. Berikut beberapa DRCS Source Code Hosting yang bersifat bebas dan sering digunakan dalam project open source:

Kami memanfaatkan Atlassian Bitbucket (https://bitbucket.org) yang bersifat free baik untuk project private dan public selama jumlah user yang terdaftar tidak lebih dari 5 user. Sebelum menggunakan git secara remote kita harus bisa menggunakan git secara lokal terlebih dahulu, yaitu hanya satu orang programmer saja. Selanjutnya akan dibahas bagaimana menggunakan git untuk pribadi atau individu.

Git untuk pribadi / individu

Persiapan yang harus kita lakukan adalah instalasi git di komputer, pada OS Slackware 13.37 kami git telah terinstall secara default. Sedangkan di OS Ubuntu 10.04, git dapat diinstall dengan cara:

sudo apt-get install git-core
sudo apt-get install git-gui
suod apt-get install git-doc

Pada artikel ini kita akan belajar git untuk pribadi yaitu tidak ada kolaborasi / campur tangan programmer lain dalam mengembangkan software. Atau dengan kata lain programmer bekerja secara sendirian. Artikel ini mencakup beberapa aktivitas-aktivitas dasar dan penting dalam menggunakan git.

Inisialisasi User

Sebelum melakukan apapun dengan git sebaiknya kita mendaftarkan user-user yang akan menggunakan git. Untuk inisialisasi user gunakan perintah berikut:

$ git config --global user.name "Ibnu Kholid"

$ git config --global user.email "debipraharadika@gmail.com"

pada perintah di atas kita menambahkan user dengan nama Ibnu Kholid dengan emailnya debipraharadika@gmail.com.

Konfigurasi git dapat dilihat di direktori /$HOME/.gitconfig/, contoh isi dari .gitconfig:

[user]
blacknaml = Debi Praharadika
name = Ibnu Kholid
email = debipraharadika@gmail.com

Membuat Repositori

Membuat repositori adalah dengan membuat direktori baru, kita akan membuat direktori baru git_lokal di /media/box/Project/belajar_git/. Buka terminal, gunakan perintah mkdir untuk membuat direktori baru dan perintah cd untuk berpindah direktori.

mkdir /media/box/Project/belajar_git/git_lokal

cd /media/box/Project/belajar_git/git_lokal

Inisialisasi git dengan perintah git init

debi@blacknaml:/media/box/Project/belajar_git/git_lokal$ git init
Initialized empty Git repository in /media/box/Project/belajar_git/git_lokal/.git/

debi@blacknaml:/media/box/Project/belajar_git/git_lokal$

Insya ALLAH, bersambung …