Membangun Server LAMP dengan Amazon EC2 _ CloudIndonesiA.pdf

  • Upload
    ari-oki

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

Membangun Server LAMP dengan Amazon EC2 _ CloudIndonesiA.pdf

Citation preview

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 1/15

    Membangun Server LAMP dengan Amazon EC2

    Penulis :dodyrw| July 6, 2012

    Pada dasarnya Amazon EC2 adalah sebuah private server yang berdiri di atas infrastruktur cloud.Sebuah EC2 server pada biasa disebut sebagai EC2 instance. Seperti halnya layanan serverumumnya, kita dapat melakukan instalasi software apapun yang kita butuhkan. Pada kesempatankali ini, kita akan membuat sebuah server LAMP Linux, Apache, MySQL, PHP beserta akses FTPdan virtual host. Dengan demikian nantinya kita akan dapat memanfaatkan EC2 sebagai alternatifdari layanan VPS dan dedicated server.

    Menyiapkan account AWS

    Bila anda belum memiliki account AWS, silahkan melakukanregistrasiterlebih dahulu.

    Setelah registrasi anda akan mendapatkan fasilitasFree Usage Tier. Anda memperoleh layanan EC2gratis untuk 750 jam sebulan untuk setahun. Hal ini memungkinkan anda untuk menjalankansebuah EC2 micro instanceselama satu tahun secara gratis. Micro instance memiliki spesifikasimemory sebesar 613 MB dan 2 ECU short periodic bursts. Spesifikasi yang cukup untuk tahapdevelopment atau untuk website yang tidak terlalu ramai.

    Membuat EC2instance

    Untuk membuat EC2instance, kita menggunakanAWS Console.

    Anda akan mendapatkan pilihan Classic Wizard dan Quick Launch Wizard. Saya pribadi lebihmenyukaiClassic Wizardkarena kita bisa mendapatkan banyak pilihan konfigurasi.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 2/15

    Selanjutnya kita akan memilih AMI Amazon Machine Image yang akan kita gunakan. Untukkeperluan server LAMP, anda dapat menggunakan berbagai macam distro linux yang familiardengan anda seperti ubuntu, redhat, fedora atau lainnya. Di sini saya akan gunakan AMI yangdibuat olehBitnami, yaituLAMP Stack. Dengan menggunakan AMI ini pekerjaan kita akan menjadilebih mudah, karena kita tidak perlu melakukan instalasi softwaressoftware yang kita butuhkandan akan hanya membutuhkan sedikit konfigurasi.

    Tekan tabCommunity AMIs.

    Masukkan keywordbitnami lamp.

    Pilih versi yang anda suka, kita bisa mencoba AMI ID: ami02e0a450 .

    Pilih tipeMicro.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 3/15

    TekanContinuekarena kita tidak membutuhkan pengaturanAdvanceuntuk saat ini.

    Beri nama EC2instanceyang akan kita buat. Nama di sini berfungsi sebagai tanda pengenal yangakan mengingatkan kita akan kegunaan dari EC2instancetersebut.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 4/15

    Untuk mengakses EC2 instance, dibutuhkan sepasang key. Kita dapat membuat key baru ataumenggunakankeyyang lama bila ada. TekanCreate a new Key Pair.

    Masukkan nama key.

    Tekan tombolCreate & Download your Key Pairuntuk mendownloadkeyyang telah kita buat.

    Selanjutnya adalah pengaturan akses port mana saja yang diperbolehkan. Kita membutuhkan aksesSSH port 22, HTTP port 80, dan FTP port 21.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 5/15

    Pada akhir wizard akan ditampilkan review dari EC2 instance yang akan kita buat. TekantombolLaunchuntuk membuat dan menjalankan EC2instance.

    Melakukan koneksi ke EC2instance.

    Setelah EC2instanceselesai dibuat, kita perlu mengetahui PublicDNSdari EC2instanceyang telahkita buat. Pada AWS Console, pilih EC2instanceyang telah kita buat. Pada bagian detail, perhatikanitem PublicDNS. Perlu diperhatikan bahwa Public DNS akan berubah setiap kali EC2 instance distartulang. Agar tidak berubah anda dapat menggunakan fasilitasElastic IP yang berguna untukmengassignpublicIPaddress ke EC2instance.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 6/15

    Untuk mencobanya silahkan masukkan alamat publicDNS ke browser.

    Mengakses menggunakan SSH

    Sejauh ini kita telah memiliki:

    Public DNS: ec25425110148.apsoutheast1.compute.amazonaws.com

    File Key Pair: cibitnamilamp.pem

    Bila anda menggunakan Linux atau OSX anda dapat menggunakan terminal. Untuk Windows andadapat menggunakan Putty.

    OSX/Linux

    Buka terminal, pastikan anda telah masuk ke folder yang berisi filecibitnamilamp.pem. Kita perlumengubah file permission untukcibitnamilamp.pem ke 600, ketik:

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 7/15

    chmod600cibitnamilamp.pem

    Selanjutnya lakukan koneksi dengan SSH.Bitnami menggunakan user default bitnami, ketik:

    sshicibitnamilamp.pembitnami@ec25425110148.apsoutheast1.compute.amazonaws.com

    Windows

    Putty tidak bisa memanfaatkan file .pem secara langsung. Kita perlu mengkonversinya dengan toolbernamaPuttyGen.

    Buka PuttyGen,Loadfile .pem. LaluSave private keyuntuk mengkonversi ke file .ppk.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 8/15

    Selanjutnya gunakan file .ppk yang telah dibuat untuk melakukan koneksi.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hidd 9/15

    Ketika sudah terkoneksi, gunakan userbitnamiketika login.

    Mengkonfigurasi FTP server

    Kita perlu membuat password untuk user bitnami untuk keperluan login FTP, ketik:

    sudopasswdbitnami

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hid 10/15

    Selanjutnya merubah file konfigurasivsftpd.

    sudonano/etc/vsftpd.conf

    Tekan controlV beberapa kali untuk menuju baris terakhir.

    Beri tanda # pada awal listen_address=127.0.0.1 , atau hapus baris ini, untuk mengijinkankoneksi dari luar.

    Tekan controlX untuk melakukan penyimpanan.

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hid 11/15

    Restart FTP server.

    sudorestartvsftpd

    Sekarang kita dapat melakukan koneksi FTP. Apabila anda mengalami masalah koneksi, anda bisamenggunakan mode Active.

    Username: bitnami

    Password:

    Host: alamat Public DNS

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hid 12/15

    Apache

    Document root untuk akses web adalah/opt/bitnami/apache2/htdocs. Anda dapat menempatkanfilefile untuk web di folder ini.

    Untuk pengaturan konfigurasi Apache, ketik:

    sudonano/opt/bitnami/apache2/conf/httpd.conf

    Untuk pengaturan virtual host:

    sudonano/opt/bitnami/apache2/conf/extra/httpdvhosts.conf

    Setelah melakukan perubahan filefile tersebut di atas, lakukan restart terhadap apache.

    sudo/opt/bitnami/ctlscript.shrestartapache

    PHP

    Pada umumnya kita tidak perlu melakukan perubahan konfigurasi pada PHP. Namun bila andamembutuhkannya, anda dapat melakukan dengan perintah:

    sudonano/opt/bitnami/php/etc/php.ini

    Jangan lupa melakukan restart apache setelah membuat perubahan.

    PHPMyAdmin

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hid 13/15

    Secara default bitnami tidak mengijinkan akses phpmyadmin selain dari localhost. Kita perlumelakukan membuka akses dari luar dan merubah password untuk root.

    Ketik:

    sudonano/opt/bitnami/apps/phpmyadmin/conf/phpmyadmin.conf

    Ubah bagian

    Allowfrom127.0.0.1

    menjadi

    Allowfromall

    Lalu restart apache.

    sudo/opt/bitnami/ctlscript.shrestartapache

    Sekarang PHPMyAdmin sudah siap digunakan. Buka browser:

    http://ec25425110148.apsoutheast1.compute.amazonaws.com/phpmyadmin/

    User: root

    Password: bitnami

  • 5/10/2015 MembangunServerLAMPdenganAmazonEC2|CloudIndonesiA

    data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22singlepage%22%20style%3D%22boxsizing%3A%20borderbox%3B%20overflow%3A%20hid 14/15

    Untuk merubah password mysql root:

    sudomysqladminppassword

    Setelah anda merubah password tersebut, otomatis password untuk phpmyadmin juga telahberubah.

    Untuk mengassignnama domain, anda harus melakukan perubahan pada DNSentrydidomainname control panel. Gunakanrecord typeCNAME apabila anda menggunakan public DNS,ataurecord typeA apabila EC2instanceanda memiliki IP address dari layanan Elastic IP.

    Saat ini FTP, Apache, PHP, MySQL dan PHPMyAdmin telah terkonfigurasi dengan baik dan andasudah dapat memanfaatkan layanan Amazon EC2 sebagai alternatif dari VPS untuk keperluan webhosting.

    Apa yang telah kita bahas di sini adalah sebagian kecil dari banyak manfaat yang dapat kita ambildari infrastruktur AWS. Di kesempatan lain kita akan membahas ELB Elastic Load Balancing danauto scale yang memungkinkan penambahan dan pengurangan kapasitas secara otomatisberdasarkan kebutuhanresource.