Instalasi web server
Dalam membangun web server yang pertama kali ini saya mencoba untuk mendokumentasikannya. Dalam kasus ini, operating system yang saya gunakan adalah FreeBSD 7.x.
FYI, metode instalasi program-program yang akan saya pakai adalah melalui ports. Saya tidak melengkapi dokumentasi dengan metode install lainnya seperti package dan source.
A. KONFIGURASI AWAL
- melihat status ethenet komputer :
- mengatur gateway
- mengatur rc.conf
- mengatur resolv.conf
- mengatur make.conf
- restart konfigurasi di /etc/rc.conf
- memeriksa koneksi jaringan
> ifconfig –a
Saat melihat interface config(ifconfig) akan ditunjukan jenis interfacenya (em0, vr0, nve0, nfe0, dll)
> route add default 167.205.3.1
> cd /etc > ee rc.conf
buat konfigurasi awal tambahkan disana:
usbd_enable=”YES”
sshd_enable="YES"
# ifconfig_vr0=”DHCP"
# konfigurasi di atas dipakai jika ingin DHCP
ifconfig_vr0="inet 167.205.3.44/26"
# vr0 adalah interface dari ethernet komputer Anda(pada point A.0)
hostname=”arc.itb.ac.id"
NOTES: sshd_enable berfungsi awal mesin dapat kita lakukan ssh
Cara lain untuk setting IP di mesin (interface nvidia)
> ifconfig nve0 inet 167.205.3.44 netmask 255.255.255.224 up
karena setingan ini rawan ip-conflict, sehingga untuk mengeditnya dapat dilakukan cara diatas dengan edit rc.conf
> cd /etc > vi resolv.conf
lakukan konfigurasi awal :
domain arc.itb.ac.id
nameserver 167.205.3.1
> cd /etc > ee make.conf
lakukan konfigurasi awal :
#CFLAGS= -O -pipe
#COPTFLAGS= -O -pipe
#NOPROFILE= true
NO_PF=true
FETCH_ENV= ftp_proxy=http://cache.itb.ac.id:8080/
FETCH_ENV= http_proxy=http://cache.itb.ac.id:8080/
#FETCH_ENV= HTTP_PROXY=http://167.205.3.4:8888/
MASTER_SITE_OVERRIDE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
#MASTER_SITE_OVERRIDE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
BATCH=YES
WITHOUT_X11=YES
SKIP_DNS_CHECK=YES
CRYPT_DES=0
PORT_REPLACES_BASE_BIND8=YES
PORT_REPLACES_BASE_BIND9=YES
WITHOUT_ALT_CONFIG_PREFIX=YES
WITH_OPENSSL_PORT=YES
#*REMOVE* OPENSSL_OVERWRITE_BASE=NO
# added by use.perl
PERL_VER=5.8.7
PERL_VERSION=5.8.7
> sh /etc/rc
> ping www.itb.ac.id
Ini merupakan konfigurasi minimal
B. UPDATE PORTS
Untuk memperoleh ports-update terbaru diperlukan cara sebagai berikut :
> cd /usr/share/examples/cvsup/
Ubah host name :
Host = linux.ocean.itb.ac.id [keluar]
Ketik perintah berikut :
> csup -g -L 2 ports-supfile
Jika update putus di tengah jalan, dan ingin diulang lagi gunakan perintah :
> csup port-supfile
C. INSTALL PROGRAM
Dalam membangun web server memerlukan beberapa program yang harus di install, dengan
urutan-urutan tertentu. Dari sumber yang saya baca urutannya seperti ini:
- MySQL
- apache
- php
- php-extension
Mari kita mulai saja dari instalasi mysql
1. MYSQL
masuk ke folder /usr/ports/databases lalu cari folder mysql server yang terbaru
dalam kasus saya mysql server dengan mysql60-server
> cd /usr/ports/databases
lihat directory yang mengandung kata ‘mysql’
> ls -l | grep mysql
kemudian install dengan
> make install
atau
> make install clean
tambahkan konfigurasi di rc.conf
> ee /etc/rc.conf
dengan tambahan dibawah, lalu save dan rehash
mysql_enable=”YES” > rehash
install pendukung mysql
> cd /usr/local/mysql > mysql_install_db
ubah kepemilikan mysql dengan mysql
> chown -R root /usr/local/mysql > chown -R mysql /usr/local/mysql/var
Ganti group directory mysql menjadi milk mysql
> chgrp -R mysql /usr/local/mysql
Ganti kepemilikan directory bin menjadi milik root
> chown -R root /usr/local/mysql/bin
Untuk mengecek owner dari tiap-tiap directory mysql
> ls /usr/local/mysql –l
Kemudian jalankan daemon mysql
> mysqld_safe –user=mysql &
Coba jalankan mysql
> mysql-server onestart
test apakah sudah hidup
> ps –ax | grep mysql
masuk ke mysql dengan:
> mysql -u root (jika tanpa password) > mysql -u root -p password (dengan password)
set password mysql root dengan:
> mysqladmin -u root password passnya(jika tanpa password) > mysqladmin -u root -p password passnya(dengan password)
2. Apache
Masuk ke directory ports
> cd /usr/ports/www/ > ls -l | grep apache
masuk ke folder apache versi terbaru(dalam kasus ini apache22)
> cd apache22
konfig2 dengan
> make config
trus install bro..
> make install
atau
> make install clean
tambahkan konfigurasi berikut di file /etc/rc.conf :
> ee /etc/rc.conf
apache22_enable =”YES”
apache22_enableflags=”YES”
> rehash
3. Install PHP
a. Sebelum melakukan instalasi PHP, terlebih dahulu install aplikasi berikut :
- mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt) <– yang ini gak diinstall karena gak nemu reponya
- db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm)
- gd (/usr/ports/graphics/gd)
- libxml2 (/usr/ports/textproc/libxml2)
b. Lakukan installasi melalui ports:
> cd /usr/ports/lang/php5
c. ubah configurasinnya dengan perintah :
daaaaaaaaaaaaaaaamn!!! don’t ever forget to check BUILD APACHE MODULE. It make me sick to find this problem all over the night and made me has cold this saturday!!
> make config
centang pada opsi [ ]APACHE Build Apache Module
d. setelah itu install dengan perintah :
> make install
atau
> make install clean
e. setelah proses instalasi selesai, konfigurasinya sebagai berikut:
Karena PHP diinstall sebagai module pada Apache, kita perlu mengubah kepemilikan direktori PHP yang hanya akan mengijinkan akses kepada user root dan www saja.
> chown -R root:www /usr/local/lib/php > chmod -R g-w,o-rwx /usr/local/lib/php Jalankan apache dengan > /usr/local/etc/rc.d/apache22 start
f. Edit file /usr/local/etc/apache2/httpd.conf dan ubah baris-baris berikut menjadi:
<IfModule !mpm_netware_module> User www Group www </IfModule>
ServerAdmin hostmaster@namadomain.com ServerName www.namadomain.com:80 <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
<IfModule mime_module> AddType application/x-httpd-php .php .html .htm AddType application/x-httpd-php-source .phps TypesConfig conf/mime.types AddType application/x-compress .Z #AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php AddHandler cgi-script .cgi </IfModule>
Save file tersebut untuk sementara, kemudian lanjutkan dengan instalasi php extension
NOTES: file-file web nantinya akan disimpan di sini : /usr/local/www/apache22/data
g. Sehingga caranya sebagi berikut
Tahan hingga di sini proses instalasinya
4. Instalasi PHP Extension
cd /usr/ports/lang/php5-extension
Semestinya semuanya jadi beres… Selamat menikmati…