Virtual Host & Virtual Subdomain at Cloud

Setelah mencoba di Rackspace Cloud Server, sekarang  Saya akan menset 2 domain, yaitu euvoria.net dan euvoria.org di AWS EC2 (Elastic Compute Cloud). Semua domain sudah di pointing ke instance AWS (#reff)

LAMP dengan OS ubuntu Lucid Lynx.

Pertama, membuat directory-directory site (layout)

cd ~
mkdir public_html
mkdir -p public_html/{euvoria.net, euvoria.org}
mkdir -p public_html/euvoria.net/{public,private,log,cgi-bin,backup}
mkdir -p public_html/euvoria.org/{public,private,log,cgi-bin,backup}

kira-kira directory nya seperti ini :

- home
  - public_html
    - euvoria.net
        - backup
        - cgi-bin
        - log
        - private
        - public
    - euvoria.org
        - backup
        - cgi-bin
        - log
        - private
        - public

Sekarang kita sudah memiliki basic struktur 2 domain tersebut, yang nantinya akan kita definisikan dengan dua virtual host.

Kedua, Setting Virtual Host
Kita buat virtual host untuk domain yang pertama, euvoria.net

sudo nano /etc/apache2/sites-available/euvoria.net

dan isikan settingan anda, kira-kira seperti ini …


< VirtualHost *:80>

# Admin email, Server Name (domain name) and any aliases
ServerAdmin admin@euvoria.com
ServerName euvoria.net
ServerAlias www.euvoria.net

# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /home/public_html/euvoria.net/public

# Custom log file locations
LogLevel warn
ErrorLog /home/public_html/euvoria.net/log/error.log
CustomLog /home/public_html/euvoria.net/log/access.log combined

< /VirtualHost>

Sekarang kita sudah mempunyai site available, tinggal mengaktifkannya.

sudo a2ensite domain1.com

jika tidak ada error, restart apache …

sudo /etc/init.d/apache2 reload

dan selesai.

Tinggal kita upload file-file website tersebut.
lakukan kembali setting virtual host untuk menset domain yang lainnya.

Untuk virtual subdomain tinggal menambahkan pada /etc/apache2/sites-available/euvoria.net

ServerAlias *.euvoria.net

maka subdomain apa pun akan menuju ke halaman seperti euvoria.net, tinggal memakai mod_rewrite selesai deh virtual subdomainnya.

Key Pair, IP Elastic & Connect ke Instance Amazone EC2 (Elastic Compute Cloud)

Setelah menjalankan instance Amazon EC2 gimana cara konek ke servernya ?

Dokumentasi yang semrawut di AWS Amazon  membuat bingung emang  apalagi OS kita windows walah … , padahal gampang nge-run EC2 dengan linux/ MacOS …

Pertama mengalokasikan Elastic IP EC2, agar instance kita mempunyai IP yang tetap.

Klik Allocate New Address di bagian Elastic IPs pada EC2. Pilih EC2 ketika ditanya “EIP used in”.

Elastic IPs anda akan segera muncul setelahnya.

Pilih IP tersebut dan klik Associate Address kemudian akan muncul popup pilihan kemana IP tesebut akan di asosiasi kan. dan tentunya pilih instance anda yang akan di asosiasikan dengan IP ini.

Setelah itu Public DNS  Elastic IP anda akan menyesuaikan ke DNS Instance yang anda Pilih.

Kembali ke Instance anda dan lihat apakah Elastic IP sudah terisi. Sekarang Instance anda sudah mempunyai IP

Kedua Mencoba untuk konek dengan Instance dengan menggunakan Key Pair.

Saya memakai windows jadi saya harus  menggenerate Key Pair Tersebut agar dapat digunakan oleh PUTTY, generate Key Pair yang anda download saat men-setup Instance menggunakan PUTTY Key Generator …

Import Key Pair tersebut di menu Conversions lalu save public key

Sekarang buka PUTTY  dan browse Public Key  hasil dari generate sebelumnya di SSH Auth.

Point ke Session di Putty dan isikan Hostname dengan Elastic IP anda, simpan session dan open session tersebut.

Taraa anda sudah dapat memasuki server … oh iya lupa untuk username nya bergantung kepada AMI yang kita pilih saat setup Instance lihat documentasi AMI tersebut, kalau anda menggunakan Ubuntu username biasanya “ubuntu” juga,

Ribet kan ?  coba aja pakai linux/ Mac OS simplee banget :(

Selanjutnya kita akan menginstall LAMP di server ini …

Setup Instance Amazon EC2 (Elastic Compute Cloud)

Pertama Pilih Regional dimana Cloud anda ingin ditempatkan. saya pilih Asia Pasific (Singapore)

Selanjutnya pilih salah satu AMIs (Amazon Machine Image) yang tersedia.

Saya akan membuat LAMP Server disini, dan akan saya memilih AMI ubuntu dari Community AMIs

Pilih Type Instance sesuai kebutuhan,  Setiap type instance mempunyai spek yang berbeda dalam CPU, CPU Unit dan Memory. ada juga Type Micro yang menyediakan Free tier Eligible.

Selanjutnya anda dapat memilih Kernel ID / RAM disk ID, bila anda belum mengerti tentang ini biarkan saja default, dan melanjutkan ke tahap berikutnya.

Isikan tag instance, ini berguna untuk mempermudah  pengelolaan instance yang banyak. Lanjutkan ketahap berikutnya.

Ditahapan selanjutnya Pilih /  buat Key Pair untuk connect ke server nantinya apabila instance sudah berjalan. dan download Key Pair tersebut apabila anda membuat Key Pair baru pada tahap ini.

Selanjutnya Memilih Security Group untuk Instance yang baru, bawaannya sudah ada default, jadi pilih saja default tersebut.

Security Group ini berfungsi untuk mengelola Port-port apa saja yang dibuka atau ditutup untuk Instance anda.

Lanjutkan ke step selanjutnya, review dan selesai …

Instance anda akan berjalan setelahnya …

Selanjutnya kita akan membahas tentang bagaimana untuk konek ke server, dan juga penggunaan Elastic IP dari Amazon …

Pointing Domain ke EC2 Cloud

Buat Elastik IP di EC2 Amazone Cloud dan associate kan dengan instance anda.

Install bind9 di EC2 Server dengan ssh

sudo apt-get install bind9

Konfigurasi bind9

Bind configuration terletak di /etc/bind.

1. Sekarang edit /etc/bind/named.conf.local.

sudo vim /etc/bind/named.conf.local

Contoh konfigurasi named.conf.local

zone “domainAnda.com” {
type master;
file "/etc/bind/db.domainAnda.com";
};

edit domainAnda.com dengan domain yang akan di pointing.

2. Buat file db.domainAnda.com masih di /etc/bind

sudo vim /etc/bind/db.domainAnda.com

contoh konfigurasi db.domainAnda.com

$TTL    3600
@       IN      SOA     domainAnda.com. (
7         ; Serial
604800         ; Refresh
86400         ; Retry
2419200         ; Expire
604800 )       ; Negative Cache
;
@       IN      NS      ns1.domainAnda.com.
@       IN      NS      ns2.domainAnda.com.
@       IN      A       EC2_elastik_IP
ns1     IN      A       EC2_elastik_IP
ns2     IN      A       EC2_elastik_IP
www     IN      A       EC2_elastik_IP

;jika anda membutuhkan wildcard dns
*.domainAnda.com. 14400 IN A EC2_elastik_IP

ingat ganti domainAnda.com dengan domain anda. dan EC2_elastik_IP dengan Elastic IPs EC2 anda.

Restart bind9 service

sudo service bind9 restart

Pastikan Port 53 UDP & TCP Security Group EC2 telah di aktifkan.

Sekarang pergi ke domain manager anda, (godaddy dll), kalau saya sih di masterweb.net :)

dan pointing domain anda ke ns1.domainAnda.com / ns2.domainAnda.com dan set kedua ns tersebut ke IP Elastic euvoria anda.

dan tunggu minimal 24 jam :)

untuk mengecek apakah konfigurasi benar atau salah tinggal cek

host domainAnda.com

Time Ago PHP Function


// convert a date into a string that tells how long ago that date was....
//eg: 2 days ago, 3 minutes ago.

function ago($d) {
$c = getdate();
$p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds');
$display = array('year', 'month', 'day', 'hour', 'minute', 'second');
$factor = array(0, 12, 30, 24, 60, 60);
$d = datetoarr($d);
for ($w = 0; $w < 6; $w++) {
if ($w > 0) {
$c[$p[$w]] += $c[$p[$w-1]] * $factor[$w];
$d[$p[$w]] += $d[$p[$w-1]] * $factor[$w];
}
if ($c[$p[$w]] - $d[$p[$w]] > 1) {
return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago';
}
}
return '';
}

Become A Web Developer I (BASIC)

Pertama : Tanamkan niat dan tekad untuk belajar yang kuat (wajib), yang males atau masih setengah hati jangan buang-buang waktu untuk membaca, silahkan tutup halaman ini.

Kedua : Baca tentang bagaimana Website Bekerja, apa yang dibutuhkan supaya website bekerja, software apa saja yang dibutuhkan dan software apa saja yang menunjang dll.

Ketiga : Pelajari XHTML & CSS

  • Baca sekilas tentang html (#reff 1 ) bedanya dengan xhtml (#reff 2).
  • “Pelajari, Pahami dan Praktekan” semua tag html (#reff 3).
  • “Perdalam” tentang Div Element, tinggalkan table (#reff 4).
  • Baca sekilas tentang css (#reff 5), bagaimana cara menghubungkan antara css dengan html.
  • “Pelajari, Pahami” struktur penulisan syntax css (#reff 6).
  • “Praktekan” membuat html dipadukan dengan css
  • latih terus pe-markupan ini, dengan cara anda mendesign sebuah halaman website didalam photoshop dan menjadikannya website (slicing), atau dengan memprintscreen halaman website apa saja dan buat html nya (cloning). Lakukan terus sampai anda benar-benar tidak membutuhkan refferensi apapun dalam pengerjaannya.

Apabila anda sudah yakin dengan kemampuan markup anda, anda dapat memulai mencari project-project slicing atau cloning (sambil belajar sambil mencari dollar :P ). (#reff 7)

Tapi ingat jangan melihat besarnya yang didapat dulu, niatkan saja untuk mengasah keahlian kita.

Setelah itu anda sudah dapat mencoba untuk membuat template-template cms seperti wordpress, joomla dll.

Pada tahapan ini anda sudah dapat mencari recehan dollar, tapi tetep jangan melihat besarnya imbalan. meskipun berdasarkan pengalaman saya, setiap malam pada tahun 2007-2008 saya mendapatkan minimal 1 project untuk pengerjaan slicing PSD ke wordpress/html dengan besar imbalan minimal $30 tergantung dari bid. Tapi kita harus kuat begadang hehe …

Selesai bahasan tentang basic, bersambung ke part II :)

refferensi indexed:
#reff 1 : http://id.wikipedia.org/wiki/HyperText_markup_language
#reff 2 : http://id.wikipedia.org/wiki/XHTML
#reff 3 : http://www.w3schools.com/html/html_getstarted.asp
#reff 4 : http://www.w3schools.com/html/html_layout.asp#table1
#reff 5 : http://id.wikipedia.org/wiki/CSS
#reff 6 : http://www.w3schools.com/css/css_syntax.asp
#reff 7 : http://www.freelancer.com/jobs/HTML.1/