Review Laptop DELL Inspiron N4030

Sudah beberapa kali Istana Media mereview Hardware yang support Linux, selama ini sebagian besar hardware yang kami review adalah motherboard karena barang tersebut memang paling banyak yang kami miliki, beberapa komentar di jejaring sosial banyak yang minta review Laptop maupun Netbook. Maka dari itu kami berusaha memenuhi permintaan itu walau dengan keterbatasan Hardware yang kami miliki.

Review Notebook HP Compaq NC4400

Sudah lumayan lama kami tidak menulis review hardware komputer yang support GNU/Linux, alasannya karena kami belum menemukan hardware yang sedikit unik untuk kami review. Kali ini kami melakukan review Notebook HP Compaq NC4400, sebenarnya sudah beberapa kali kami memiliki hardware seri ini, namun karena adanya keterbatasan waktu maka kami belum bisa melakukan review dan baru kali ini kami

Memasang Go di Ubuntu

Ceritanya saya sedang menulis ulang sebuah proyek kecil yang sudah lama tidak saya sentuh. Mengapa saya tulis ulang? nanti saja saya ceritakan secara terpisah :D Proyek tersebut saya tulis ulang dalam bahasa Go. Nah bagaimana cara memasang perkakas bahasa Go di Ubuntu?

Cara paling enak dan cepat tentunya memasang yang ada di repositori Ubuntu. Cari paket bernama golang lalu pasang! Namun bagi para petualang yang butuh Go versi terbaru, yang ada di repositori Ubuntu mungkin tidak cukup.

Sekitar dua tahun yang lalu, ada yang memelihara paket Go dengan versi paling mutakhir di repositori PPA. Namun karena ada beberapa kendala, usaha ini akhirnya dihentikan. Tapi untungnya beliau ini masih menyediakan alat bantu untuk mengubah paket binari Go resmi menjadi paket Debian yang bisa dipasang di Ubuntu.

Berikut ini cara memakainya.

  1. Unduh aplikasi untuk mengunduh dan mengubah paket binari Go menjadi paket Debian. Aplikasi ini terdiri dari dua versi, satu untuk arsitektur i386 dan satu lagi untuk arsitektur amd64.

    Sebagai contoh, saya akan memakai versi i386

    $ wget https://godeb.s3.amazonaws.com/godeb-386.tar.gz
  2. Ekstrak berkas yang tadi diunduh. Setelah diekstrak, akan ada berkas bernama godeb.

    $ tar xzf godeb-386.tar.gz
  3. Cek daftar versi Go yang tersedia

    $ ./godeb list
    1.4beta1
    1.3.3
    1.3.2
    1.3.1
    1.3
    .. dst ..

    Akan tampil daftar versi Go yang tersedia di tempat unduh resminya.

  4. Lalu jalankan perintah seperti di bawah ini untuk mengunduh dan mengubah paket binari Go menjadi paket Debian.

    $ ./godeb download 1.3.3
    processing https://storage.googleapis.com/golang/go1.3.3.linux-386.tar.gz
    package go_1.3.3-godeb1_i386.deb ready
  5. Pasang paket Debian yang baru saja terbentuk

    $ sudo dpkg -i go_1.3.3-godeb1_i386.deb
    [sudo] password for iang: 
    Selecting previously unselected package go.
    (Reading database ... 37654 files and directories currently installed.)
    Unpacking go (from go_1.3.3-godeb1_i386.deb) ...
    Setting up go (1.3.3-godeb1) ...
  6. Go versi pilihan Anda sudah siap untuk beraksi

    $ go version
    go version go1.3.3 linux/386

Aplikasi godeb ini sebenarnya juga menyediakan opsi install yang akan menjalankan tahap 4 dan 5 di atas sekaligus. Saya pribadi agak kurang suka dengan opsi tersebut karena tiba-tiba akan meminta password untuk sudo tanpa memberi tahu untuk apa. Sebenarnya menjalankan berkas binari acak seperti di atas juga tidak baik, tapi kalau kita tahu pasti sumbernya adalah sumber yang aman dan bisa dipercaya, mudah-mudahan kode yang dijalankan juga aman.

Akhir kata, saya ucapkan selamat mencoba! :D

Group Facebook Hardware Support GNU/Linux

Beberapa hari lalu saya membuat Group baru di Facebook yaitu group Hardware Support GNU/Linux, group ini sengaja saya buat untuk pendataan perangkat keras yang sudah dan belum mendukung GNU/Linux sehingga sedikit banyak dapat membantu orang-orang atau perusahaan yang ingin mendapatkan hardware yang sudah support GNU/Linux saat akan melakukan migrasi dari OS atau Software Ilegal. Group

Diskusi Di Group Hardware Support GNU/Linux

Tulisan ini sengaja saya buat sebagai pelengkap dari tulisan sebelumnya yang berjudul Group Facebook Hardware Support GNU/Linux, isinya pun berdasarkan hasil beberapa diskusi dengan beberapa Anggota Group yang sudah dengan sukarela ikut bergabung terutama dengan para Pengembang Linux Senior dari Indonesia, salah satunya seperti terlihat pada tangkapan layar yang saya sertakan dibawah ini

Review Laptop MSI CX420 @P6100

Beberapa bulan lalu Istana Media pernah dapat dagangan Laptop MSI CX420, awalnya kami mengira laptop tersebut sudah menggunakan processor seri i namun setelah diteliti lagi ternyata belum, karena saat cari info di internet dengan kata kunci MSI CX420, yang ditemukan sudah menggunakan processor seri i, ternyata perbedaannya terdapat pada seri dibelakangnya yaitu @P6100. Berikut

Cara “reboot” Bus error dengan “Magic SysRq key”

Pernah mengalami server tiba-tiba filesystemnya menjadi read-only, kemudian ketika jalankan perintah selalu keluar error “Bus Error” atau “Input/output error”

-bash: /home/user/.bash_profile: Input/output error
sudo: Can't open /var/db/sudo/user/3: Read-only file system

Cara paling sakti adalah melakukan “reboot” untuk server tersebut, karena biasanya kondisi filesystem read-only ini terjadi karena ada disk yang rusak. “fsck” pada waktu next reboot diharapkan akan bisa melakukan perbaikan atas apa yang terjadi pada disk.

Tapi ada masalah lain, yaitu ketika kita jalankan perintah “reboot” atau “shutdown” selalu muncul error seperti dibawah ini:

# reboot
Bus error
# shutdown -r now
Bus error

Solusinya kita bisa menggunakan “magic SysRq key” untuk melakukan reboot. Caranya adalah sebagai berikut :

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

“This does not attempt to unmount or sync filesystems, so it should only be used when absolutely necessary”

Jika ingin mengaktifkan “magic SysRq key” secara permanen, bisa gunakan perintah berikut :

echo "kernel.sysrq = 1" >> /etc/sysctl.conf

Informasi lain tentang “magic SysRq key” bisa dibaca dimari.

Referensi : Rebooting the Magic Way

Pindah ke Ghost

Sekalian sebagai hadiah ulang tahun untuk aktivitas ngeblog (November 2008 - November 2014), akhirnya saya benar-benar pindah ke Ghost. Blog lama diletakkan di pdft.net/wp/. Saya sengaja tidak mengimpor data dari wordpress ke sini karena hasilnya belum begitu sempurna, terutama bagaimana proses impornya mengabaikan bentuk paragraf dari wordpress. Belum ada waktu buat ngoprekin.

Dan tujuan semula blog ini akhirnya ikut berubah. Bukan saja untuk catatan ngoprek, tapi tentang apa saja.

Untuk anda yang ingin mencicipi ghost, barangkali dapat mencoba dengan panduan berikut.

Jika ingin mengenal lebih lanjut tentang Ghost, situs-situs berikut sangat membantu :

Happy blogging!

PHP : Menghitung Waktu


"Bagaimana menghitung selisih waktu (tanggal, jam) menggunakan PHP?". Sekarang kita akan coba dengan menggunakan DateTime class yang telah tersedia untuk PHP 5 >= 5.3.0.

Contoh 1 saat membuat absensi:

<?
$menit = 120;
$jam1 = new DateTime('08:00:00');
$jam2 = new DateTime('09:30:00');

//selisih $jam2 - $jam1
$beda = $jam1->diff($jam2);

//menambahkan 120 menit pada $jam1
$baru = $jam1->modify('+$menit minutes');
$baru1 =  $baru->format('H:i:s');

//menulis format keluaran di layar
echo $beda->format('%R %H hours %i menit');
echo " $baru1";
?>

Contoh 2 di bawah yg persis sama dengan contoh di manual PHP:

<?
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

Selamat bekerja.
Oh ya, jika ada yang berminat pesan aplikasi absensi seperti skrinsyut di atas hubungi saja di komentar. Aplikasi itu mengambil data dari mesin absensi sidik jari yang terpasang di kantor. :) 

sumber :
http://php.net/manual/en/datetime.diff.php

Membuat Lingkungan Python Terisolasi

Sejak rilis Python 3 jadi galau mau pakai versi python berapa ketika mau memulai membuat aplikasi, seperti buah simalakama, kalau mau pake versi 2 disarankan untuk menggunakan versi 3 untuk aplikasi baru, tapi kalau mau pake versi 3 bingung kalau deploy ke server.

Kabar menggembirakan dari Python Rilis 3.4, di changelog  versi ini membawa fitur baru venv, sehingga memudahkan untuk membuat versi python yang terisolasi, sehingga bisa menjalankan versi python 2.x dan 3.x di satu sistem operasi. Jadi tidak ragu lagi untuk memigrasikan aplikasi yang menggunakan versi Python 2.x ke 3.x :D, ya seperlunya aja sik.

Untuk membuat lingkungan Python 3.4 terisolasi :

1. Unduh dan ekstrak kode sumber dari https://www.python.org/downloads/
2. configure dan make (tanpa install)

./configure
make

3. Buat direktori kerja

$ mkdir ~/py3

4. Lalu jalankan :

$ ./python -m venv ~/py3

Sampai di sini sudah selesai membuat lingkungan Python terisolasi, tinggal jalankan :

$ source ~/py3/bin/activate

Setiap kali ingin menjalankan Python 3.

Ngeblog dengan Ghost di Heroku, Gratis!

Halo,

Pada tulisan ini, saya "meng-Indonesia-kan" panduan yang tertulis di tautan berikut :

http://blog.johnny.io/how-to-get-ghost-running-on-heroku-for-free/

Tulisan ini akan memandu anda bagaimana membangun blog berbasis Ghost dan menumpangkannya di Heroku. Gratis!

Apa itu Ghost?

Tidak seperti platform blogging pada umumnya, Ghost bukan berbasis PHP, melainkan Node.Js. Node.Js adalah platform untuk membangun aplikasi real time, asynchronous, event-driven, menggunakan bahasa Javascript dan engine Javascript v8 dari Google Chrome.

Ghost sangat keren, dirancang untuk ngeblog, tidak yang lain. Salah satu fitur unggulannya adalah menulis secara live preview dengan Markdown.

Dan apa pula itu Heroku?

Heroku adalah web hosting berbasis cloud. Setiap aplikasi yang dikembangkan di Heroku berjalan di atas satu atau lebih dyno. Dyno adalah sebutan Heroku untuk unit virtual yang mem-bekingi aplikasi, mirip dengan gear di Openshift. Sebuah dyno mempengaruhi banyak hal, baik itu CPU, memory, maupun trafik. Akun gratis di Heroku mengizinkan penggunaan 1 dyno untuk setiap aplikasi.

Kebutuhan

Di praktik ini saya menggunakan Ubuntu 14.04. Karena perintah-perintah node pada umumnya sama meski beda sistem operasi, silakan menyesuaikan.

Anda perlu hal-hal berikut ini :

  • Akun Heroku
  • Heroku Toolbelt
  • NodeJs dan Npm
  • Git
  • Versi terakhir dari Ghost

Minimal, anda memiliki pengetahuan dasar mengenai git.

Disklaimer

Sebelum anda melanjutkan, anda perlu tahu kekurangan dari cara ini :

  • Akun gratis di Heroku hanya menyediakan 1 dyno. 1 dyno tidak cukup kuat untuk menahan trafik yang terlalu tinggi. Jika nantinya blog anda terlalu popluer dan butuh trafik lebih, pertimbangkan membeli beberapa dyno lagi.
  • Heroku hanya menerima tumpangan berkas yang bersifat statis, yaitu kode anda dan berkas-berkas statis lainnya. Selain itu bersifat sementara (temporary). Jika ingin mengunggah gambar, unggahlah di tempat lain seperti imgur (tapi ingat, imgur diblok Kominfo), atau lainnya, kemudian tinggal menautkan URL gambar.

Ghost di komputer lokal

Ada dua cara mengunduh Ghost : melalui Npm atau mengunduh langsung. Jika melalui Npm, ghost akan terpasang di ./node-modules/ghost/

$ npm instal ghost

atau

$ wget https://ghost.org/zip/ghost-0.5.3.zip

Kemudian

$ cd ghost/ $ npm install --production

Jalankan ghost :

$ npm start

Sampai di sini, anda dapat mengecek blog baru anda di peramban dengan alamat localhost:2368.

Masih di direktori ghost, anda perlu membuat sebuah berkas yang akan menjelaskan ke Heroku, lingkungan seperti apa yang anda butuhkan. Berkas ini dinamai Procfile.

$ touch Procfile

Karena Ghost membutuhkan lingkungan Node.Js, baris pertamanya isikan :

web: NODE_ENV=production node index.js

Transmisi data dari komputer lokal ke Heroku menggunakan Git. Mari buat repository git anda untuk ghost.

$ git init $ git add --all $ git commit -m "first commit"

Silakan login ke Heroku dengan perkakas Heroku Toolbelts.

$ heroku login

Anda akan dimintai akun email dan password Heroku. Setelah berhasil login, namai apps anda di Heroku.

$ heroku create namanda-ghost

Kemudian anda perlu menyunting berkas config.js, pada bagian

production : {...

Ada 3 parameter yang perlu diperhatikan :

  • url : isikan dengan url herokuapp.com anda
  • host : '0.0.0.0'
  • port : process.env.PORT

Lihat contoh potongan kode di bawah ini.

production: {
        url: 'https://namaanda-ghost.herokuapp.com',
    mail: {},
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },

    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '0.0.0.0',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: process.env.PORT
    }
},

Kemudian unggah kode anda :

$ git push heroku master

Sampai di sini, anda dapat mengecek blog ghost anda yang sudah mengudara di internet dengan alamat namaanda-ghost.herokuapp.com

Menggunakan PostgreSQL sebagai basis data

Secara bawaan, Ghost menggunakan SQLite sebagai basis data. Dan seperti yang sudah dijelaskan sebelumnya, tumpangan di Heroku hanya menerima berkas yang sifatnya statis. Jadi, bagaimanapun data diinput / modifikasi, nanti tetap balik seperti semula. Kita harus memindahkan basis datanya ke luar.

Heroku menyediakan PostgreSQL untuk basis datanya, gratis. Mari manfaatkan.

Masih di direktori yang sama,

$ heroku addons:add heroku-postgresql:dev

Anda akan mendapatkan keluaran semacam :

Attached as HEROKU_POSTGRESQL_XXX_URL

Catat string XXX karena akan digunakan di perintah selanjutnya,

$ heroku pg:promote HEROKU_POSTGRESQL_XXX

Sekarang kita perlu meminta detail basis data dari Heroku untuk disisipkan ke config.js.

$ heroku config

Outputnya seperti di bawah ini (hanya contoh) :

HEROKU_POSTGRESQL_VIOLET_URL: postgres://dbmxyhuxgh:Nqf20t9tDDrstfVdbupA1araNw@ec2-54-83-204-78.compute-1.amazonaws.com:5432/dclkggan2qs8c8

Dari informasti tersebut, berikut keterangannya :

  • user :dbmxyhuxgh
  • password : Nqf20t9tDDrstfVdbupA1araNw
  • host : ec2-54-83-204-78.compute-1.amazonaws.com
  • port : 5432
  • database : dclkggan2qs8c8

Sunting berkas config.js dan ganti bagian database di production menjadi seperti berikut :

    database: {
        client: 'postgres',
        connection: {
            host     : 'host',
            user     : 'user',
            password : 'passwd',
            database : 'database',
            charset  : 'utf8'
        }
    },

Isikan host, user, passwd, dan database dengan informasi yang diperoleh sebelumnya.

Sekarang kita perlu menyunting berkas lain, package.json, untuk menambahkan dependensi ke postgress. Tambahkan pg persis di bawah mysql (versi saat tulisan ini dipublish adalah 3.6.2). Jangan lupa tanda koma di akhir baris "mysql":"... .

"validator": "3.4.0",
"xml": "0.0.12",
"mysql": "2.1.1",
"pg": "3.6.2"

Simpan kode anda. Kemudian unggah.

$ git add --all $ git commit -m "change db to postgres" $ git push heroku master

Cek lagi blog anda yang sudah kembali mengudara dengan basis data postgres. Cobalah menulis sesuatu. :)

Kalau ada galat?

Jika ada galat seperti di bawah ini :

Anda dapat mengecek log-nya dengan perintah,

$ heroku logs

Bimbang

Ketemu sama teknologi baru, saya ini mudah bimbang. Sekarang lihatlah Ghost, platform untuk ngeblog yang katanya Wordpress Killer. Just a blogging platform, katanya? Bullshit itu, terlalu merendah. :D

Blog ini memang berjalan di atas ghost. Kelihatan biasa saja ya. Tunggu deh sampai lihat dalemannya bagaimana. Dan saya pun bimbang, setelah ngeblog dengan Wordpress sejak tahun 2008 (sekarang blog.pdft.net), perlukah saya bermigrasi ke Ghost?

Awalnya, blog ini saya dedikasikan untuk catatan ngoprek saja (dan dengan tulisan ini, dedikasi tersebut dilanggar). Tapi repot benar menulis di dua tempat (halah, kayak rajin ngeblog saja). Lama-lama, saya tidak tahan.

Blog saya yang Wordpress pagerank-nya sudah 3. Eh, apakah saya masih peduli sama yang namanya pagerank? Nampaknya tidak. Dulu pagerank itu serasa karma di Plurk. Sekarang? Sekarang orang-orang pada sibuk guling-guling di socmed.

Balik lagi ke tujuan ngeblog sekarang. Selain buat ngeksis, buat apa? Buat menulis dokumentasi (tentang apa pun) yang semoga bermanfaat buat orang lain. Selama Ghost mempermudah, mengapa tidak?

Mari dipikir-pikir lagi,

Enaknya :

  • Sederhana
  • Dirancang agar empunya fokus menulis
  • Dibangun dengan node.js, lingkungan yang sedang disukai dan didalami oleh penulis
  • Markdown!

Nggak enaknya :

  • Sederhana
  • Tidak ada fitur arsip, pencarian
  • Dibandingkan dengan Wordpress, lemah di SEO
  • Tidak mendukung komentar (mesti bawa-bawa platform komentar pihak ketiga seperti disqus, facebook, atau google+)
  • Hostingnya tidak gampang. Besok kalau Heroku (mudahan tidak) menutup layanan gratisnya atau bangkrut, saya yang nangis kejer mau ditaruh dimana ini blog.

Bagaimana bisa sederhana masuk ke dua kategori yang bersebrangan? Itulah yang bikin bimbang dan sekarang saya sedang buang-buang waktu mengekspor data dari blog Wordpress saya ke JSON untuk diimpor lagi ke sini.

Wooosaaaaah!

Membuat Swapfile

Iya, habis pasang lupa ndak buat partisi swap, hardisk pasang lvm lagi, ya udah deh tinggal nonton mahabharat saja, tapi sebelum itu buat swapfile aja kali ye………………….

kita disini akan menggunakan 2 tool aplikasi yaitu dd dan mkswap

Langkah #1

sudo dd if=/dev/zero of=/swapfile1 bs=10240 count=5242888

eh kebanyakan ya ukurannya, ya atur sendiri saa deh sesuai keinginan dan selera.

Langkah #2

sudo mkswap /swapfile1

Langkah #3

sudo chown root.root /swapfile1

sudo chmod 0600 /swapfile

Langkah #4

sudo swapon /swapfile1

Langkah #5

sudo nano /etc/fsatab

isi dengan

/swapfile1 swap swap defaults 0 0

setelelah itu simpan dan tes dengan menggunakan

free -m

selamat menikmati hasilnya.:D

 


JSON formatter bookmarklet

At work I need to read JSON document pretty often and making it pretty will help me pretty much. Last time I showed how to prettify a JSON document using Python script. But since I am working mostly in a browser, having to switch from browser to terminal is a bit cumbersome. There are a lot of online JSON formatter out there but I think it’s too much if I need to make a remote request just to do the formatting. Also the JSON document I need to format can be a sensitive document so it’s also not a good idea to use an online service.

Then I realized browser nowadays has in-browser JSON formatter function: JSON.stringify. I just need to find a way to make using it a bit easier. So I made the following bookmarklet.

Prettify JSON

Drag the link above to bookmark bar in your browser. If you need to format a JSON document, you can click it, then paste the JSON document (make sure it’s valid), and finally click the button there. Voila!

Halo Dunia!

Yey, ini adalah blog pertama saya yang jalan di atas ghost! Karena 1 dyno di heroku sama sekali tidak mumpuni untuk banyak pengunjung, blog ini saya dedikasikan untuk catatan ngoprek belaka.

Jadi apa tulisan selanjutnya?

Mungkin saya akan mencoba menulis cara membangun blog ghost di heroku, mengalihbahasakan tulisan yang telah memandu saya : http://blog.johnny.io/how-to-get-ghost-running-on-heroku-for-free/

Tes...

Tahu nggak sih, menulis pakai markdown di ghost benar-benar keren!

console.log("Halo dunia!")

Welcome to Ghost

You're live! Nice. We've put together a little post to introduce you to the Ghost editor and get you started. You can manage your content by signing in to the admin area at <your blog URL>/ghost/. When you arrive, you can select this post from a list on the left and see a preview of it on the right. Click the little pencil icon at the top of the preview to edit this post and read the next section!

Getting Started

Ghost uses something called Markdown for writing. Essentially, it's a shorthand way to manage your post formatting as you write!

Writing in Markdown is really easy. In the left hand panel of Ghost, you simply write as you normally would. Where appropriate, you can use shortcuts to style your content. For example, a list:

  • Item number one
  • Item number two
    • A nested item
  • A final item

or with numbers!

  1. Remember to buy some milk
  2. Drink the milk
  3. Tweet that I remembered to buy the milk, and drank it

Want to link to a source? No problem. If you paste in a URL, like http://ghost.org - it'll automatically be linked up. But if you want to customise your anchor text, you can do that too! Here's a link to the Ghost website. Neat.

What about Images?

Images work too! Already know the URL of the image you want to include in your article? Simply paste it in like this to make it show up:

The Ghost Logo

Not sure which image you want to use yet? That's ok too. Leave yourself a descriptive placeholder and keep writing. Come back later and drag and drop the image in to upload:

Quoting

Sometimes a link isn't enough, you want to quote someone on what they've said. It was probably very wisdomous. Is wisdomous a word? Find out in a future release when we introduce spellcheck! For now - it's definitely a word.

Wisdomous - it's definitely a word.

Working with Code

Got a streak of geek? We've got you covered there, too. You can write inline <code> blocks really easily with back ticks. Want to show off something more comprehensive? 4 spaces of indentation gets you there.

.awesome-thing {
    display: block;
    width: 100%;
}

Ready for a Break?

Throw 3 or more dashes down on any new line and you've got yourself a fancy new divider. Aw yeah.


Advanced Usage

There's one fantastic secret about Markdown. If you want, you can write plain old HTML and it'll still work! Very flexible.

That should be enough to get you started. Have fun - and let us know what you think :)

Sertifikat SSL gratis dari Cloudflare

Setelah setahun, sertifikat SSL gratisan yang saya dapat dari StartSSL akhirnya kadaluarsa. Kalau mau lanjut, tentu saja saya harus pengajukan pembaruan dan memperbarui sertifikat yang sekarang dipakai. Proses ngurus sesuatu di StartSSL itu aga2.. er… ribet :/ jadi males xD

Namun.. berhubung sekarang Cloudflare menyediakan sertifikat SSL gratisan, saya memutuskan tuk pindah saja haha :D Kebetulan domain ini emang sudah ditangani oleh Cloudflare jadi mestinya saya cukup mengatur agar segala lalul intas melewati server Cloudflare dulu. Gak masalah lah ini :D

cloudflare

Tapi sebelum itu, saya jg harus mengaktifkan dukungan SSL di Cloudflare. Dari empat opsi penggunaan SSL yang ada, saya memilih Full SSL supaya koneksi dari Cloudflare ke server tempat saya naro blog ini juga tetap menggunakan HTTPS. Pakai sertifikat yang mana? tentu saja pakai yg sudah kadaluarsa itu hihi :D

ssl

Memakai sertifikat SSL gratisan dari Cloudflare ini bukan ngga ada resikonya. Salah satunya adalah browser pengunjung udah mesti punya SNI (Server Name Indication, bukan Standar Negara Indonesia :P). Walau udah banyak browser yang mendukung SNI, tapi si Cloudflare bilang cuma sekitar 52% pengunjung dari Indonesia yang memakai browser ber-SNI (eh?).

Selain itu, Cloudflare memasukkan lebih dari satu domain agar terdaftar dalam sertifikat yang sama. Jadi semacam bbrp orang berbagi KTP yang sama walau di KTP tersebut tertulis setiap nama orang yang ikutan berbagi.

ssl

Keuntungannya? Dapet wildcard certificate! Sub domain jadi bisa dipasangi HTTPS juga tanpa sertifikat tambahan!

Reverse Proxy from HTTP to HTTPS with Apache

The other day, I had problem accessing an HTTPS site from a Python script. Since I had no time to spend figuring out why (it was for a personal project anyway), I decided to make a reverse proxy using Apache. However, unlike the commonly setup reverse proxy, this one is to make an HTTPS site available as HTTP site.

This is what I needed to put in my Apache config.

<VirtualHost 127.0.0.1:12345>
    ...
    SSLProxyEngine On
    ProxyPass / https://that.secure.site/
    ProxyPassReverse / https://that.secure.site/
    ....
</VirtualHost>

I also had to enable mod_proxy and mod_ssl which can be done easily (on Debian based system) by running the following command

# a2enmod proxy ssl

Then reload or restart Apache

# service apache2 reload

The most important bit in the config above is SSLProxyEngine On. Without this the proxy would not work!

apt-web

Masih ada yang make apt-web kah? :D

Instalasi Apache2 Mysql Php5 Debian

snippet aja catatan pengingat kalo lupa

# apt-get install mysql-server mysql-client apache2 php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json phpmyadmin


Filed under: Uncategorized