<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ahmad Nizar's Blog ...&#62;&#62;</title>
	<atom:link href="http://bsdmania.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bsdmania.wordpress.com</link>
	<description>Komunitas newBienya FreeBSD.</description>
	<lastBuildDate>Wed, 15 Aug 2007 12:55:18 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='bsdmania.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ahmad Nizar's Blog ...&#62;&#62;</title>
		<link>http://bsdmania.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bsdmania.wordpress.com/osd.xml" title="Ahmad Nizar&#039;s Blog ...&#62;&#62;" />
	<atom:link rel='hub' href='http://bsdmania.wordpress.com/?pushpress=hub'/>
		<item>
		<title>FreeBSD web server&#8230;..</title>
		<link>http://bsdmania.wordpress.com/2007/08/13/web-server-pada-freebsd/</link>
		<comments>http://bsdmania.wordpress.com/2007/08/13/web-server-pada-freebsd/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 15:50:59 +0000</pubDate>
		<dc:creator>bsdmania</dc:creator>
				<category><![CDATA[Server FreeBSD]]></category>

		<guid isPermaLink="false">http://bsdmania.wordpress.com/2007/08/13/web-server-pada-freebsd/</guid>
		<description><![CDATA[Tentu saja kata web server tidak asing lagi di sebagian besar telinga kita, yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bsdmania.wordpress.com&amp;blog=1514873&amp;post=3&amp;subd=bsdmania&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> Tentu saja kata web server tidak asing lagi di sebagian besar telinga kita,<br />
yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa<br />
saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri<br />
sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain sebagainya. Salah satu aplikasi<br />
yang sudah sangat populer adalah Apache HTTP Server. Aplikasi ini mulai dirilis ke publik sejak tahun 1995. Web server<br />
yang menggunakan aplikasi Apache di seluruh dunia saat ini berdasarkan survei Netcraft Web Server Survey pada<br />
November 2006 saja sudah lebih dari 60% dari total 101,435,253 situs.<br />
Proyek Apache HTTP Server ini merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation.<br />
Lembaga ini bertujuan mengembangkan Apache sebagai aplikasi web server modern yang bisa dipergunakan di multi<br />
platform OS, khususnya Unix dan Windows.<br />
Saya tidak akan membahas sejarah perkembangan Apache ini secara rinci. Untuk mengetahui lebih lengkap<br />
perkembangannya silakan kunjungi About the Apache HTTP Server Project.<br />
Dalam artikel ini, saya tidak hanya membahas Apache secara khusus saja, namun juga beberapa aplikasi yang umum<br />
dipergunakan bersama aplikasi ini, seperti OpenSSL, MySQL, dan PHP.</p>
<p><strong><br />
1. Download </strong><br />
Aplikasi yang dipergunakan dalam artikel ini adalah Apache versi 2.2.3, MySQL versi 5.0.22, OpenSSL versi 0.9.8d, dan<br />
PHP versi 5.2.0.<br />
Dari semua aplikasi di atas, hanya Apache dan PHP yang akan diinstall secara manual, sedang MySQL dan OpenSSL<br />
diinstall via ports. Jadi yang akan didownload secara manual hanya Apache dan PHP.<br />
Apache versi terakhir dapat didownload di http://apache.the.net.id/httpd/httpd-2.2.3.tar.bz2. Versi terakhir Apache saat<br />
artikel ini ditulis adalah versi 2.2.3. Dan versi PHP terakhir saat ini adalah versi 5.2.0. PHP dapat didownload di<br />
http://id2.php.net/get/php-5.2.0.tar.bz2/from/a/mirror.</p>
<p><strong>2. Instalasi</strong><br />
<strong>2.1. Install MySQL</strong><br />
Sebelum menginstall Apache dan PHP, yang harus diinstall terlebih dahulu adalah MySQL dan OpenSSL. Untuk<br />
menginstalasi kedua aplikasi ini di FreeBSD cukup mudah melalui ports. $<pre class="brush: plain;">

cd /usr/ports/database/mysql51-server
$ sudo make install
$ sudo portupgrade -rR mysql51-server

</pre></p>
<p>Command terakhir adalah untuk mengupgrade versi MySQL ke versi terbaru.<br />
Untuk mengaktifkan MySQL saat booting, buka file /etc/rc.conf dan tambahkan baris:</p>
<p><pre class="brush: plain;">
mysql_enable = "YES"

</pre><br />
Copykan file konfigurasi MySQL:</p>
<p><pre class="brush: plain;">$ sudo cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf
$ sudo chgrp mysql /var/db/mysql/my.cnf</pre><br />
Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL.<br />
<pre class="brush: plain;"> $ sudo /usr/local/etc/rc.d/mysql-server start</pre><br />
Bila berhasil, seharusnya Anda akan melihat baris berikut saat menjalankan command <pre class="brush: plain;">

ps ax | grep mysql:
678 p0- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe -defaults-extra-file=/var/db/mysql/my.cnf -user=mysql
datadir=/var/db/mysql
701 p0- S 383:04.45 /usr/local/libexec/mysqld -defaults-extra-file=/var/db/mysql/my.cnf -basedir=/usr/local  datadir=/var/db/mysql

</pre></p>
<p>Selanjutnya buat password untuk MySQL root user:</p>
<p><pre class="brush: plain;">
$ sudo mysqladmin -u root -h localhost -p </pre></p>
<p>dan ketikan password .</p>
<p>Coba masuk ke MySQL console dengan password root tersebut.<pre class="brush: plain;">
$ mysql -u root -h localhost -p

Enter password:

&lt;strong&gt;2.2. Install OpenSSL&lt;/strong&gt;
Langkah selanjutnya adalah menginstalasi OpenSSL, cara menginstalasi OpenSSL dalam hal ini menggunakan ports
juga.

[code]
$ cd /usr/ports/security/openssl
$ sudo make install clean

</pre><br />
Buat direktori untuk menempatkan certificate SSL:</p>
<p><pre class="brush: plain;">
$ sudo mkdir -p /usr/local/openssl/{certs,private}</pre><br />
Kemudian generate private key 1024-bit:</p>
<p><pre class="brush: plain;">
$ cd /usr/local/openssl
$ sudo /usr/local/bin/openssl genrsa -out private/namadomain.com.key 1024</pre><br />
Ubah permission untuk direktori private menjadi:</p>
<p><pre class="brush: plain;">
$ sudo chown -R root:wheel private
$ sudo chmod -R 600 private
$ sudo chmod u+X private</pre><br />
Generate Certificate Signing Request (CSR) File:<pre class="brush: plain;">
$ /usr/local/bin/openssl req -new -key private/namadomain.com.key -out certs/namadomain.com.csr
Country Name (2 letter code) [GB]: ID
State or Province Name (full name) [Some-State]: Propinsi
Locality Name (eg, city) []: Kota
Organization Name (eg, company) [Internet Widgits Pty Ltd]: PT. Nama Usaha
Organizational Unit Name (eg, section) []: Bidang Usaha Perusahaan
Common Name (eg, your name or your server’s hostname) []: namadomain.com
Email Address []: postmaster@namadomain.com

Please enter the following ;extra ; attributes
to be sent with your certificate request
A challenge password []: masukkanpassword
An optional company name []: </pre><br />
Kemudian buat Certificate Signed (CRT) file:</p>
<p><pre class="brush: plain;">
$ sudo /usr/local/bin/openssl x509 -req -days 365 -in certs/namadomain.com.csr -out certs/namadomain.com.crt -signkey
private/namadomain.com.key</pre><br />
Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL.</p>
<p><strong>2.3. Install Apache </strong><br />
Saya asumsikan, source Apache hasil download Anda disimpan di /home/users.<pre class="brush: plain;">
$ cd /home/users
$ tar -jxvf httpd-2.2.3.tar.bz2
$ cd httpd-2.2.3
$ ./configure \
prefix=/usr/local/apache2 \
enable-rewrite \
enable-dav \
enable-ssl \
with-ssl=/usr/local \
enable-vhost-alias \
with-included-apr
$ make
$ sudo make install</pre><br />
Keterangan dari masing-masing opsi di atas adalah:<br />
prefix=[DIR]: Menginstall aplikasi ke target direktori yang ditentukan.<br />
enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite.<br />
enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav. Dengan protocol WebDAV ini<br />
memungkinkan membuat, memindah, menyalin, dan menghapus resource pada sebuah web server.<br />
enable-ssl: Mengaktifkan module SSL/TLS.<br />
with-ssl=[DIR]: Di mana library SSL/TLS diinstall.<br />
enable-vhost-alias: Support dengan banyak virtual host.<br />
with-included-apr: Install apr. APR atau Apache Portable Runtime pada Apache 2.2.x versi merupakan source<br />
yang sudah menyatu dengan Apache Source.<br />
<strong>2.4. Install PHP</strong><br />
Sebelum Anda menginstalasi PHP, saya sarankan untuk menginstall aplikasi-aplikasi via ports yang diperlukan<br />
(recommended) PHP saat instalasinya. Aplikasi-aplikasi tersebut adalah:<br />
- mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt)<br />
- db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm)<br />
- gd  (/usr/ports/graphics/gd)<br />
- libxml2 (/usr/ports/textproc/libxml2)</p>
<p>Saya asumsikan pula, source PHP yang Anda download disimpan di /home/users.</p>
<p><pre class="brush: plain;">
$ cd /home/users
$ tar -jxvf php-5.2.0.tar.bz2
$ cd php-5.2.0
$ ./configure \
with-apxs2=/usr/local/apache2/bin/apxs \
with-mysql=/usr/local \
with-openssl=/usr/local \
with-config-file-path=/usr/local/apache2/conf \
with-png-dir=/usr/local/lib \
with-gettext=/usr/local/lib \
with-gd \
with-zlib \
with-xml \
with-mcrypt=/usr/local/lib \
enable-mbstring=all \
disable-short-tags
$ make
$ make install

</pre><br />
Keterangan dari masing-masing opsi di atas adalah:<br />
with-apxs2[=FILE]: Menyertakan shared Apache 2.0 Handler module.<br />
with-mysql[=DIR]: Menyertakan dukungan MySQL. DIR adalah di mana binary MySQL diinstall.</p>
<p>with-openssl[=DIR]: Menyertakan dukungan OpenSSL.<br />
with-config-file-path=PATH: Di mana file php.ini akan diletakkan.<br />
with-png-dir[=DIR]: Menyertakan dukungan format file PNG.<br />
with-gettext[=DIR]: Menyertakan dukungan GNU gettext.<br />
with-gd[=DIR]: Menyertakan dukungan GD.<br />
with-zlib[=DIR]: Menyertakan dukungan zlib.<br />
with-libxml-dir[=DIR]: Menyertakan dukungan XML.<br />
with-mcrypt[=DIR]: Menyertakan dukungan mcrypt atau Multi-cipher cryptographic library.<br />
enable-mbstring: Mengaktifkan dukungan multibyte string.<br />
disable-short-tags: Nonaktifkan penggunaan tag pendek &lt;? pada script PHP.<br />
Edit file /usr/local/apache2/conf/php.ini dan sesuaikan dengan kebutuhan Anda. Pada dasarnya default file konfigurasi ini<br />
sudah cukup baik.<br />
Karena PHP diinstall sebagai module pada Apache, kita perlu mengubah kepemilikan direktori PHP yang hanya akan<br />
mengijinkan akses kepada user root dan www saja.</p>
<p><pre class="brush: plain;">
$ sudo chown -R root:www /usr/local/lib/php
$ sudo chmod -R g-w,o-rwx /usr/local/lib/php

</pre><br />
Edit file /usr/local/apache2/conf/httpd.conf dan ubah baris-baris berikut menjadi: <pre class="brush: plain;">
&lt;IfModule !mpm_netware_module&gt;
User www
Group www
&lt;/IfModule&gt;
ServerAdmin hostmaster@namadomain.com
ServerName www.namadomain.com:80
&lt;IfModule dir_module&gt;
DirectoryIndex index.html index.php
&lt;/IfModule&gt;
&lt;IfModule mime_module&gt;
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
&lt;/IfModule&gt;

</pre></p>
<p>Aktifkan juga baris-baris berikut dengan menghilangkan tanda # di awal barisnya:</p>
<p><pre class="brush: plain;">
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-dav.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-ssl.conf

</pre><br />
Selanjutnya ubah permission direktori Apache:</p>
<p><pre class="brush: plain;">
$ cd /usr/local</pre><br />
Ubah kepemilikan direktori apache2 ke user root:wheel</p>
<p><pre class="brush: plain;">
$ sudo chown -R root:wheel apache2

</pre><br />
Ubah permission pada direktori apache2. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses<br />
oleh group www, kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya.</p>
<p><pre class="brush: plain;">
$ sudo chmod 755 apache2 </pre><br />
Selanjutnya pada direktori apache2 ini hanya akan mengijinkan user root saja untuk dapat membaca dan menulisinya<br />
dengan mengubah permission menjadi:</p>
<p><pre class="brush: plain;">
$ sudo chmod -R 600 apache2/*

</pre><br />
Hanya user root saja yang dapat mengakses seluruh direktori yang berada di bawah direktori apache2:</p>
<p><pre class="brush: plain;">
$ sudo chmod -R u+X apache2
$ cd apache2

</pre><br />
Ubah kepemilikan direktori binary Apache ke user root:</p>
<p><pre class="brush: plain;">
$ sudo chmod -R u+x bin

</pre><br />
Direktori cgi-bin juga berisi file-file binari. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya.</p>
<p><pre class="brush: plain;">
$ sudo chgrp -R www cgi-bin
$ sudo chmod -R u+x,g+x cgi-bin

</pre><br />
Web server akan membaca direktori icons, maka ubah pula kepemilikannya agar bisa dibaca oleh group www.</p>
<p><pre class="brush: plain;">
$ sudo chgrp -R www icons
$ sudo chmod -R g+rX icons

</pre><br />
Ubah juga permission direktori logs:</p>
<p><pre class="brush: plain;">
$ sudo chgrp -R www logs
$ sudo chmod g+wX logs

</pre><br />
Terakhir ubah kepemilikan direktori htdocs agar bisa dibaca oleh publik. Direktori ini nanti merupakan tempat menyimpan<br />
file-file web yang akan ditampilkan pada browser. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja.</p>
<p><pre class="brush: plain;">
$ sudo chgrp -R www htdocs
$ sudo chmod -R  g+rX htdocs

</pre><br />
Karena menginstall Apache dari source file. Kita harus membuat sendiri startup script-nya agar dapat dieksekusi oleh<br />
server pada saat booting. Start up script diletakkan di direktori /usr/local/etc/rc.d. Startup script dapat didownload di sini:<br />
Apache-2 FreeBSD Startup Script<br />
Kemudian tambahkan dua baris berikut pada file /etc/rc.conf:</p>
<p><pre class="brush: plain;">
apache2_enable="YES&amp;"

apache2_flags="DSSL"

</pre><br />
Ubah permission file start up script menjadi:</p>
<p><pre class="brush: plain;">
$ sudo chmod  555 /usr/local/etc/rc.d/apache.sh

</pre><br />
Jalankan file tersebut untuk mengaktifkan daemon httpd:</p>
<p><pre class="brush: plain;">
$ sudo /usr/local/etc/rc.d/apache.sh start</pre><br />
Periksa apakah daemon httpd sudah aktif dengan command ps ax:</p>
<p><pre class="brush: plain;">
$ ps ax | grep httpd
33549  ??  Ss     0:12.88 /usr/local/apache2/bin/httpd -DSSL
33550  ??  I      0:00.43 /usr/local/apache2/bin/httpd -DSSL
33551  ??  I      0:00.40 /usr/local/apache2/bin/httpd -DSSL
33552  ??  I      0:00.32 /usr/local/apache2/bin/httpd -DSSL

</pre><br />
Bila output di console Anda sudah seperti di atas, selamat! Anda sudah berhasil menginstall web server pada server<br />
Anda.</p>
<p>Baca lebih lengkap lagi di http://indofreebsd.or.id</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bsdmania.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bsdmania.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bsdmania.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bsdmania.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bsdmania.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bsdmania.wordpress.com&amp;blog=1514873&amp;post=3&amp;subd=bsdmania&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bsdmania.wordpress.com/2007/08/13/web-server-pada-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6493b3fdcbb6fa65412f23a552a7ab5f?s=96&#38;d=identicon" medium="image">
			<media:title type="html">bsdmania</media:title>
		</media:content>
	</item>
	</channel>
</rss>
