Halaman

Kamis, 12 Desember 2013

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
Keterangan:
- tanda pagar 3 (###) >> Judul/Keterangan
- tanda pagar 1 (#) Perintah yang diketikan
- tanpa tanda pagar..?? >> ditulis/di-edit di file
### 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 membaca

sumber : http://mediazie.wordpress.com/2013/03/22/belajar-buat-web-server-centos-6-di-virtual-box/

Tidak ada komentar:

Posting Komentar