Search Engine

Selasa, 31 Mei 2011

Membuat apt-web di localhost

Apa sih apt-web itu, apt-web adalah sebuah situs yang menyediakan packet-packet ubuntu untuk kita download,nama situsnya adalah http://apt-web.dahsy.at/ , sebagian besar hampir 90% pengguna ubuntu pasti pernah mengunjungi website tersebut bahkan sering mengunjunginya, ternyata web tersebut adalah salah satu applikasi berbasis web yg dibuat oleh orang Indonesia yang bernama mas "Fajran Iman Rusadi" Pada awalnya penasaran dengan cara kerjanya apt-web dan ane mencari informasi tentang apt-web tersebut,,dan ternyata di situsnya mas "Fajran Iman Rusadi" ada informasi mengenai beliau, dan applikasi apt-web itu juga disebarkan di git untuk kita download,,setelah ane download dan jalanin di localhost ternyata bisa jalan mulus, tapi yang kita download itu masih mentahnya, belum ada repo-repo ubuntunya, maka di note saya kali ini ingin berbagi sedikit cara konfigurasinya di localhost dan sebenernya juga ada sih cara installnya pake bahasa indonesia di applikasi itu kalo kita download, tapi kalo buat untuk pemula mungkin masih bingung melihat caranya,, mungkin makna kita membuat apt-web dilocalhost ini adalah diperuntukkan buat kita2 yg sering download applikasi2 di situs http://apt-web.dahsy.at/ , semisalkan situs http://apt-web.dahsy.at/ itu sendiri sedang down atau sedang mati servernya kita bisa menggunakan apt-web di localhost kita,,OK langsung aja deh ke pembahasannya: 


Langkah pertama kita mesti download dulu applikasi berbasis PHP apt-webnya disini,https://github.com/fajran/apt-web 
ataupun mendapatkannya dengan menggunakan git, kalo ane sih applikasi gitnya udah ada di PC ane, ya ane mending pake git aja
kalo blm ada gitnya silahkan install terlebih dahulu gitnya dari terminal,
$ sudo apt-get install git 
trus clone/download pake git, dengan mengetikkan:
$ git clone git://github.com/fajran/apt-web.gitoiya sekedar informasi kalo blm mengetahui situshttps://github.com/ ane jelasin dikit yah,,situs itu adalah situs untuk menaruh applikasi2 untuk mempermudah develop applikasi dengan team, karena kita bisa membuat project bersama2, dengan fungsionalitas sync file2,,gratis kok daftarnya,,coba aja daftar2 bikin project apa kek sama temen2nya yg berupa file2,,nanti temen2nya jadi gak perlu nyatu2in file segala, sudah bisa di sync dari sana, dengan access ssh dibalik git,, selain git masih ada banyak, bazar dan lain-lain juga mempunyai fungsi yg sama, yaitu untuk mensyncronis file2,,contoh project ane, develop applikasi perkantoran dengan PHP https://github.com/andisusilo/xinix-accounting ,, looohh kok jadi bahas git,,hehheheeeOK kita lanjut,,, sekarang applikasinya sudah kita dapatkan, dia adanya di folder home kita nama foldernya apt-web,
langkah berikutnya adalah masukkan ke folder localhost kita,,pada contoh kali ini ane gunain apache2 dan foldernya kita letakkan di /var/www dan akan menjadi /var/www/apt-web, pake lampp/xampp juga bisa kaeknya,,tinggal kopas ke htdocs, OK paham lah,,
lalu kita buka browser kita dan mengetikkan http://localhost/apt-web
maka akan tampak gambar seperti ini:

Kenapa masih kosong reponya??? ya karena blm kita setting,,hayoo kita lanjut biar muncul reponya,,OK, mungkin ane gak bikin semua reponya,,pada contoh kali ini ane cuman mau bikin satu distribusi aja karena ane pake lucid, jadi ya lucidlah distribusi contohnya,,dan di coba pake mirror2 yg ada di Indonesia, biar cepet downloadnya,,Pertama kita buka file config.php di folder apt-webnya:kita ganti pada bagian base:
$_repo_mirror_base = 'http://kambing.ui.ac.id/ubuntu';
yg tadinya kaek gini  $_repo_mirror_base = 'http://archive.ubuntu.com/ubuntu';
dan bisa kita rubah sesuai dengan keinginan, semisalkan, ane ganti jadi kaek gini:
$_repo_mirror_base = 'http://kambing.ui.ac.id/ubuntu';*catatan: kalo kita pake kambing disini, maka di sources.listnya juga nanti harus pake kambing, biar bisa replace URL di scriptnya,,

lalu kita ganti pada bagian ubuntu rilisnya,,
$_repo_list = array(
yang tadinya kaek gini   // array('ubuntu-8.04-i386', 'Ubuntu 8.04 "Hardy Heron" i386'),
didalam kode php baris perintah yg diawali // itu artinya koment, atau tidak dijalankan,,maka kita hilangkan tanda //
biar dieksekusi baris tersebut, karena ini contohnya lucid, maka kita ganti seperti ini:
array('ubuntu-10.04-i386', 'Ubuntu 10.04 "Ubuntu Lucid" i386'),dan disini juga kita bisa nambahin rilis lain, semisalkan yg versi dapper, maverick, jaunty, dll, ntar tinggal ditambahin aja, yg penting contohnya satu juga cukup,, 

lalu pada bagian baris mirrornya yang maksudnya mirror server yang kita ingin gunakan:
$_mirror_list = array(
yang tadinya kaek gini // array('http://kambing.ui.edu/ubuntu', 'KAMBING.ui.edu'),
maka kita ganti jadi kaek gini:
array('http://kambing.ui.ac.id/ubuntu', 'Kambing'),
array('http://kebo.vlsm.org/ubuntu', 'Kebo vlsm'),

OK kira-kira gambarnya kaek gini:
Lalu di save

OK selanjutnya adalah kita masuk kefolder virtuals kita akan menemukan folder base, lalu kita copy paste folder base nya tetap di dalam folder virtuals, lalu rename hasil pasteannya yg tadinya namanya base (copy) kita rename menjadi ubuntu-10.04-i386
kaek gambar berikut ini:
Selanjutnya kita masuk kefolder ubuntu-10.04-i386 
lalu buka folder dir dan tambahkan folder baru dan kasih nama cache, kaek gambar berikut ini:

lalu kembali ke up sebelumnya yaitu folder ubuntu-10.4-i386 buka file sources.listnya menggunakan gedit, dan yang tadinya ada tulisan seperti ini deb http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse
kita ganti ke repo kambing jd kaek gini:
deb http://kambing.ui.ac.id/ubuntu lucid main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-updates main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-security main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-backports main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-proposed main restricted universe multiverse

kenapa mesti kambing??? karena kan di file config.php nya tadi repo mirror basenya kita set ke kambing, ini kalo beda maka fungsi replace URL nya di source common.php nya gak berfungsi, dan akan mengakibatkan tidak bisa menggunakan/mendownload dengan mirror/url lain,,
OK, kalo udah di save,

Lalu diterminal ketik ini: apt-get -c apt.conf update
path terminalnya di dalam folder ubuntu-10.04-i386, kaek gambar berikut ini:

OK sekarang kita tes dengan browser kesayangan dan ketikkan alamat http://localhost/apt-web , maka gambarnya akan tampak seperti berikut ini:
Nah kan masih banyak tuh applikasi2 yang mesti diinstall, itu dikarenakan file status yg ada di folder
ubuntu-10.04-i386 nya masih kosong, biar sesuai dengan keadaan laptop/PC kita applikasi2 yg udah diinstall atau blm diinstall maka kita bisa pake file status kita yang ada di /var/lib/dpkg/status
kita ambil aja file itu,,caranya ketik aja diterminal "sudo nautilus"
maka nnti akan keluar nautilus dengan akses root, lalu kita ke path /var/lib/dpkg/ dan kita copy file status nya ke dalam folder ubuntu-10.04-i386 kalo ada pesen replace pilih ya aja,,
maka nanti akan sesuai dengan applikasi yg belum terinstall ataupun udah terinstall dependencis2nya, seperti gambar berikut ini:
semisalkan ane mau download audacious, tau kan audacious, yg mirip banged sm winamp kalo di windos, 

nah semisalkan ane ngetik firefox, kan padalah firefox udah keinstall tuh, maka akan keluar kaek gambar berikut ini:
katanya applikasi firefox udah keinstall tuh,,
lumayan keren kan, kalo pake file status kita yg asli,,

Nah kalo mau buat web seperti apt-web.dahsy.at itu kita mesti pake file status pertama kali install ubuntu, yang belum diinstall apa-apa, jadi ketika user ingin minta applikasi apapun tidak sesuai dengan komputernya,,tapi sesuai dengan dependencies2 yg dibutuhkan,, saya kira ribeth diterangkan maksud dari file status ini,,jadi kaeknya mesti dicoba aja yah sendiri, nanti pasti ngerti 
file status itu dengan sendirinya,,dan buat apa file status itu,,
ane kira cukup sekian dan terimakasih pada mas "Fajran Iman Rusadi" yang udah bikin applikasi apt-web ini,,
wassalaammm,,,,

Tidak ada komentar:

Posting Komentar