Belajar Buat Web Server CentOS 6 di Virtual Box

Sebelumnya saya disini ingin berbagi kepada netter, dan tutor ini juga saya dapat dari ajaran temen saya, silahkan dibaca dan semoga bermanfaat

Enaknya Virtual Box, selain free, kita juga bisa buat server environment. lumayan kan.. buat media pembelajaran.
Khususnya buat pengguna Windows, mungkin software seperti WAMP atau XAMPP sering dijadikan solusi untuk membuat website di localhost dengan Web Server Apache.
Akan lebih baiknya jika kita menggunakan bener-bener lingkungan server, maksudnya di sini adalah dengan Virtual Box sebagai solusinya. Ada pengalaman temen katanya, kadang terjadi problem, di WAMP file-file web pada jalan, eh pas di upload ke hosting, jadi ngambek..

Ketika kita sudah mengenal benar-benar server environment di linux, pastinya akan lebih mudah ketika nantinya kita menemui problem, khususnya buat yang udah terlalu lama pake WAMP.
atau pun yang berniat migrasi website, yang awalnya cuma pake layanan hosting, ada planning mau pindah ke sewa VPS, karena sering di suspend gara-gara maen robot-robotan, agc, seo plugins, dkk.

Oke.. langsung aja.

Pada saat dokumen ini dibuat, CentOS yang terbaru dan stable release adalah CentOS 6.2Di sini ceritanya saya pakai CentOS 6.2 32-bit yang minimal.iso aja..Bisa disedot dari sini:
Atau cari mirror download lokal yang terdekat aja dari lokasi kamu, saya saranin sih yg lokal aja biar cepet donlodnya.Singkat ceritanya nih saya pakai Windows atau Linux, sudah install Virtual Box, dan sudah install CentOS juga.Selanjutnya apa ?pada pertengahan cerita nanti lewat ssh, kita akan menggunakan PuTTY untuk mengkoneksikan OS Host Windows/Linux dengan CentOS kita yang ada di Virtual Box.Software PuTTY bisa disedot di sini:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Kalau buat distro Linux c, biasanya udah tersedia di repo-nya masing-masing.Virtual Box:- OS HOST : Windows atau Linux

OS GUEST : CentOS 6

Ni kan ceritanya baru fresh install di OS Guest CentOS itu.

Jadi kita login dengan user root dan password yang diisi pada waktu installasi.

SETTING NETWORK UNTUK MENDAPATKAN KONEKSI INTERNET DARI OS HOST

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Ubah pada bagian ONBOOT=”yes”

Lalu tambahkan baris di bawahnya, BOOTPROTO=”dhcp”

Yang lainnya tidak usah diubah, kira-kira 2 baris terakhirnya seperti ini:

ONBOOT=”yes”

BOOTPROTO=”dhcp”

Buat yang belum terbiasa editor vi, tenang.. nanti kita install nano.

Untuk menyimpannya, ketik :wq terus tekan Enter.

Restart Network

# /etc/init.d/network restart

INSTALL NANO, SUDO, DAN SETTINGAN-NYA

# yum install nano
# yum install sudo
# visudo

Cari dan hilangkan tanda pagar (#) di awalan baris kalimat ini (%wheel), jadi seperti ini:

Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL

BUAT USER BARU (Demi alasan keamanan, hindari login dengan user ROOT)

di sini saya pakai username kikai

# useradd -g wheel kikai
# passwd kikai
New password: <– masukkan password untuk user baru tersebut
Retype new password: <– masukkan kembali password untuk user baru tersebut

Kita matikan dulu sejenak OS CentOS.

# shutdown -h now

SETTING KONEKSI JARINGAN DI VIRTUAL BOX

Khusus untuk OS Host Linux, biasanya Host-Only Adapter di Virtual Box belum terinstall.

Kalau di OS Host Windows, sudah langsung terinstall pada saat installasi Virtual Box. ;-p

Di Virtual Box, pilih pada menubar File >> Preference.

Maka akan muncul jendela VirtualBox – Settings.

Pada menu kiri, pilih Network.

Pada bagian kanan, jika masih kosong, klik pada icon yang ada tanda plusnya.

(atau tekan tombol Insert di keyboard).

Untuk OS Host Linux, maka nanti akan muncul vboxnet0.

Kalau di OS Host Windows, namanya Virtual Box Host-Only Ethernet Adapter.

Klik OK.

Kembali pada OS CentOS tadi, kita masuk settingannya untuk di Virtual Box.

Pilih Settings –> Network

Klik pada tab Adapter 2

Beri tanda centang pada Enable Network Adapter

Attached to: Host-only Adapter >> Klik OK.

OKE.. NYALAIN LAGI SI CENTOS DI VIRTUAL BOX

Dari tahap ini sampai selanjutnya, kita login dengan user baru yang kita buat tadi.

DISABLE SELINUX DAN FIREWALL

# sudo su –

# nano /etc/selinux/config

Ubah pada file tersebut SELINUX menjadi disable, karena hal ini lebih sering menjadi problem.

Dengan editor nano, menyimpan dengan Ctrl+O, dan keluar dengan Ctrl+X

Ya kira-kira menjadi seperti ini:

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted – Targeted processes are protected,

># mls – Multi Level Security protection.

SELINUXTYPE=targeted

KONFIGURASI FIREWALL

# yum install system-config-securitylevel

# system-config-firewall

ATAU

# system-config-firewall-tui

Untuk memilih, di keyboard tekan spasi, pindah kursor tekan tab.

Hilangkan Tanda Bintang [*] pada Firewall dengan menekan spasi di keyboard, jadi seperti ini:

Firewall : [ ] Enabled

Kalau sudah, pilih OK.

SETTING NETWORK DI CENTOS UNTUK CONNECT JARINGAN DENGAN OS HOST

# nano /etc/hosts

Di sini untuk hostname, saya menggunakan contoh: server.blablabla.com

Secara default, Host-only Adapter akan menggunakan IP:192.168.56.10

Tambahkan baris ini: 192.168.56.10 server.blablabla.com server

Di bawah baris: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

Ya kira-kira jadi seperti ini:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

192.168.56.10 server.blablabla.com server

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Restart Network

# /etc/init.d/network restart

# nano /etc/sysconfig/network

Tambahkan/Edit pada baris HOSTNAME.

Sesuaikan dengan hostname yang kamu buat tadi pada langkah sebelum ini.

Ya kalo saya, contohnya jadi seperti ini:

HOSTNAME=server.blablabla.com

Sekarang kita sesuaikan hostname di CentOS berdasarkan yang sudah kita buat tadi.

# source /etc/sysconfig/network

# hostname $HOSTNAME

Buat file baru untuk konfigurasi Host-Only Adapter tersebut.

# nano /etc/sysconfig/network-scripts/ifcfg-eth1

Isikan pada file tersebut, sehingga menjadi seperti ini:

DEVICE=eth1

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.56.10

NETMASK=255.255.255.224

Restart Network

# /etc/init.d/network restart

# reboot

CentOS-nya di reboot dulu yaa.. untuk menerima settingan network yang baru kita buat tadi.

Setelah itu, login dengan user baru yang kita buat tadi.

Cek apakah hostname dan hostname -f sudah sama atau belum, dengan perintah:

# hostname

# hostname -f

Oke.. sudah sama kan. Sekarang kita logout dulu.

# logout

Nahh.. jika sudah benar, coba koneksikan dengan PuTTY.

IP: 192.168.50.10, dan port masih settingan default:22

Login dengan user baru yang kita buat tadi.

Hehehe… bisa connect kan..πŸ˜‰

Kalo belum, berarti Anda kurang beruntung.

Hee.. maksudnya coba di cek lagi langkah-langkah sebelumnya.

Karena langkah berikutnya lebih enak pake PuTTY.

Kalo di Linux kan tinggal klik tengah (scroll wheel) aja pake mouse buat paste.

Kalo di Windows tinggal klik kanan aja.

Daripada repot ngetik script panjang-panjang setelah ini, mendingan copas pake PuTTY aja kan.. ;-p

INSTALL REPOSITORY RPMforge

# sudo su –

# yum install wget

# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*

# rpm –import Http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

# cd /tmp

# wget http://pkgs.repoforge.org/rpmforge-relea…f.i686.rpm

# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

INSTALL REPOSITORY EPEL

# rpm –import https://fedoraproject.org/static/0608B895.txt

# wget http://download.fedoraproject.org/pub/ep…noarch.rpm

# rpm -ivh epel-release-6-5.noarch.rpm

INSTALL REPOSITORY Remi RPM

# rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

# rpm -ivh http://rpms.famillecollet.com/enterprise…ease-6.rpm

INSTALL PLUGIN yum-priorities

# yum install yum-priorities

KONFIGURASI REPOSITORY EPEL

# nano /etc/yum.repos.d/epel.repo

TAMBAHKAN priority=10 ke bagian [epel]

Edit atau tambahkan pada file tersebut, sehingga kira-kira menjadi seperti ini:

[epel]

name=Extra Packages for Enterprise Linux 6 – $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

failovermethod=priority

enabled=1

priority=10

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

KONFIGURASI REPOSITORY Remi RPM

# nano /etc/yum.repos.d/remi.repo

### Tambahkan priority=10 ke bagian [remi] dan ubah enabled ke 1, sehingga kira-kira menjadi seperti ini:

[remi]

name=Les RPM de remi pour Enterprise Linux $releasever – $basearch

#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/

mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror

enabled=1

priority=10

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority

[remi-test]

name=Les RPM de remi en test pour Enterprise Linux $releasever – $basearch

#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/

mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

UPDATE REPOSITORY

# yum update

INSTALL SENJATA PERANG ;-p

He’eh.. apabila buat keperluan lain-lainnya nantiπŸ™‚

# yum groupinstall ‘Development Tools’

SINKRONISASI NETWORK TIME

# yum install ntp

INSTALL MySQL

# yum install mysql mysql-server

# chkconfig –levels 235 mysqld on

# /etc/init.d/mysqld start

# mysql_secure_installation

Enter current password for root (enter for none): <– ENTER

Set root password? [Y/n]<– Y, ENTER

New password: <– masukkan password untuk sql

Re-enter new password:<– masukkan kembali password untuk sql

Remove anonymous users? [Y/n] <– Y, ENTER

Disallow root login remotely? [Y/n] <– Y, ENTER

Remove test database and access to it? [Y/n] <– Y, ENTER

Reload privilege tables now? [Y/n] <– Y, ENTER

INSTALL APACHE

# yum install httpd

# chkconfig –levels 235 httpd on

START APACHE

# /etc/init.d/httpd start

TES Web Server Apache di Browser OS Host –> http://192.168.56.10

Udah oke kan..

Folder file-file website di server Apache secara default ada di /var/www/html/ pada CentOS.

File konfigurasinya ada di /etc/httpd/conf/httpd.conf

Konfigurasi tambahan lainnya disimpan di folder /etc/httpd/conf.d/

INSTALL PHP5

# yum install php

RESTART APACHE

# /etc/init.d/httpd restart

TESTING PHP5

Buat file info.php di folder website, secara default ada di /var/www/html/

# nano /var/www/html/info.php

Ketikkan beberapa baris ini:

<?php

phpinfo();

?>

TES file info.php di Browser OS Host –> http://192.168.56.10/info.php

Udah oke kan, terlihat konfigurasi dari PHP..πŸ˜‰

SETTING MYSQL UNTUK SUPPORT DI PHP5

# yum search php

Kamu bisa pilih package apa saja yang mau diinstall.

Kalau mau php-fpm menjadi sebagai handler di Apache juga bisa.

Asal ngerti aja nanti settingannya yaa..πŸ˜‰

Hee.. kalau saya seperti ini saja dulu:

# yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc

RESTART APACHE

# /etc/init.d/httpd restart

Reload file info.php di Browser OS Host –> http://192.168.56.10/info.php

Udah nambah kan.. service/module dari PHP, termasuk modul MySQL.

INSTALL PHPMYADMIN

# yum install phpmyadmin

SETTINGAN PERTAMA PHPMYADMIN

Sekarang kita akan mengkonfigurasi phpMyAdmin.

Ubah konfigurasi Apache sehingga koneksi phpMyAdmin tidak hanya dari localhost.

Yaitu dengan memberikan awalan tanda pagar (#) pada bagian:

<Directory “/usr/share/phpmyadmin”>………</Directory>

# nano /etc/httpd/conf.d/phpmyadmin.conf

Untuk tahap kali ini saja, tanda pagar 1 (#) buat commenting out yaa.. bukan perintah.

Ubah pada file tersebut, sehingga kira-kira menjadi seperti ini:

#

# Web application to manage MySQL

#

#<Directory “/usr/share/phpmyadmin”>

# Order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

#</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin

Alias /phpMyAdmin /usr/share/phpmyadmin

Alias /mysqladmin /usr/share/phpmyadmin

SETTINGAN KEDUA PHPMYADMIN

# nano /usr/share/phpmyadmin/config.inc.php

carilah baris kalimat ini, ubah cookie menjadi http, kira-kira seperti ini:

/* Authentication type */

$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

RESTART APACHE

# /etc/init.d/httpd restart

TES phpMyAdmin di Browser OS Host –> http://192.168.56.10/phpmyadmin/

Masukkan pada User Name: root

Password..?? Yaa.. password yang kamu masukkan pada proses installasi MySQL tadi. ;-p

Masuk deh di halaman phpMyAdmin..πŸ˜‰

FINISH. SELAMAT MENIKMATI VPS ANDA. Hehehehehe…πŸ™‚ ###

Untuk mengubah URL http://192.168.56.10 menjadi http://localhost di Host OS, begini caranya:

>> OS Host Windows:

1. Jika sebelumnya di OS Host Windows sudah terinstall WAMP atau XAMPP, ada baiknya kita stop dulu program tersebut, agar tidak bentrok dalam memanggil hostname localhost di browser OS Host nantinya.

2. Oke.. setelah program WAMP atau XAMPP tersebut di stop, klik Start Menu, cari program Notepad, buka program itu.

Untuk pengguna Windows Vista dan 7, bukanya WAJIB dengan klik kanan > Run as administrator.

3. Pilih pada menubar File > Open, browse ke directory C:\Windows\System32\drivers\etc

4. Di samping File Name, ubah Text Documents (*.txt) menjadi All Files (*.*)

5. Nah lho.. banyak nongoL file. Heee.. kita cukup pilih pada file hosts aja. Buka file tersebut.

6. Tambahkan ini pada akhir baris file tersebut:

192.168.56.10 localhost

7. Oke.. save file tersebut dan close Notepad. Silahkan tes di browser kesayangan kamu di Windows.

http://localhost

>> OS Host Linux:

1. Jika sebelumnya di OS Host Linux sudah terinstall Apache, ada baiknya kita stop dulu, agar tidak bentrok dalam memanggil hostname localhost di browser OS Host nantinya.

sudo /etc/init.d/httpd stop

ATAU

sudo service apache2 stop

2. Setelah service untuk Apache di stop, masuk ke dalam konfigurasi IP localhost untuk Linux.

sudo nano /etc/hosts

3. Ubah pada baris:

127.0.0.1 localhost

MENJADI

192.168.56.10 localhost

4. Restart Network di OS Host Linux

sudo /etc/init.d/network restart

5. Oke.. Silahkan tes di browser kesayangan kamu di Linux.

http://localhost

Yaaa.. cukup sekian. Jadilah web server kita untuk OS CentOS 6 di Virtual Box.

saya dikasih tau sebenernya kaya beginian sih fokusnya buat bagi web programmer di OS Windows yang masih ragu pake Linux sebagai OS untuk lahan kerjaannya. Gak bisa dipungkiri, di lappy saya juga masih dual booting. Kadang pake Windows, kadang pake Linux.

Mungkin dengan mengetahui server environment di linux, bisa lebih enak aja kerjaannya.

mungkin kita udah tau, server Apache di Linux yang lebih mayoritas banyak dipakai dibandingkan IIS.

Dan sebagai web programmer yang masih pake OS Windows ada baiknya sudah terlatih dengan THE REAL SERVER ENVIRONMENT, dibandingkan dengan WAMP atau XAMPP. bisa jadi selanjutnya kalo udah seneng, malah nantinya pindah/migrasi OS dari Windows ke Linux.

seterusnya kalo mau buat Web Server dengan Nginx, Cherokee, atau Lighttpd juga bisa..

Kalo udah murni pake Linux sih gak usah repot-repot pake beginian, tapi kalo iseng-iseng mau belajar buat Virtual Server mungkin cukup membantu.

Hmm.. mungkin nantinya kamu mau install ftp server di OS Host CentOS itu, buat transfer file dari OS Host ke CentOS yang di Virtual Box. Yang nantinya bisa dikoneksikan lewat software FileZilla, Core FTP, atau semacamnya itulah..

Jadi persis mirip punya hostingan atau server sendiri kan yaa..

Untuk kali ini, cukup sekian aja dulu deh.

Atau temen-temen ada yang berniat nambahin, soale saya juga baru nyoba ini jadi masih newbie banget.

Mohon koreksinya apabila ada kesalahan ya.

dan terima kasih telah membac


*Sumber : http://www.esc-creation.org/