Membangun web Server dan database server di FreeBSD bag. 2

Pada bagian ini, kita akan menginstall web server, yaitu Apache. Paket apache dapat di download di


http://apache.cbn.net.id/httpd/httpd-2.2.11.tar.gz


Langkah-langkah instalasinya
1. extrak paketnya

[root@server-freeBSD /usr/local/source]# tar -xvzf httpd-2.2.11.tar.gz
[root@server-freeBSD /usr/local/source]#


2. Kompile paketnya

[root@server-freeBSD /usr/local/source/httpd-2.2.11]# ./configure --enable-usertrack --prefix=/usr/local/httpd --sysconfdir=/etc/httpd/ --bindir=/bin/ --sbindi
r=/sbin/ --enable-cache --enable-dav --enable-http --enable-vhost-alias --enable-speling --enable-so --enable-info --enable-suexec --enable-static-rotatelogs
--enable-static-htpasswd --with-ssl=/usr/ --enable-ssl --enable-case-filter --enable-mem-cache --enable-mime-magic --enable-case-filter-in --enable-logio --
enable-cern-meta --enable-headers --enable-expires --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http



[root@server-freeBSD /usr/local/source/httpd-2.2.11]# make
[root@server-freeBSD /usr/local/source/httpd-2.2.11]# make install


3. sampai pada tahap ini, http server sudah terinstall. sekarang adalah memodifikasi rc daemonnya. Saya memodifikasi daemon yang berasal dari paket rpm. Tidak banyak yang diubah. isinya kurang lebih spt ini


#!/usr/local/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Startup script for the Apache Web Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to serve \
# HTML files and CGI.
# processname: httpd
# pidfile:/usr/local/httpd/pid/httpd
# config: /etc/httpd/httpd.conf

# Source function library.
#. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/httpd ]; then
. /etc/sysconfig/httpd
fi

# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""

# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
# with the thread-based "worker" MPM; BE WARNED that some modules may not
# work correctly with a thread-based MPM; notably PHP will refuse to start.

# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/sbin/apachectl
httpd=${HTTPD-/sbin/httpd}
prog=httpd
#RETVAL=0

# check for 1.3 configuration
check13 () {
CONFFILE=/etc/httpd/httpd.conf
GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
GONE="${GONE}AccessConfig|ResourceConfig)"
if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
echo
echo 1>&2 " Apache 1.3 configuration directives found"
echo 1>&2 " please read @docdir@/migration.html"
failure "Apache 1.3 config directives test"
echo
exit 1
fi
}

# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure. So we just do it the way init scripts
# are expected to behave here.
start() {
echo -n $"Starting $prog: "
check13 || exit 1
daemon $httpd -k start
RETVAL=ps | grep httpd | grep "Ss" | awk '{print $1}'
echo "HTTPD Run on PID $RETVAL"
echo "[OK]"
touch /usr/local/httpd/pid/httpd

}
stop() {
echo -n $"Stopping $prog: "
$httpd -k stop
RETVAL=`ps -ax | grep httpd | grep "Ss" | awk '{print $1}'`
echo " [OK]"
rm -f /usr/local/httpd/pid/http /var/run/httpd.pid
}
reload() {
echo -n $"Reloading $prog: "
check13 || exit 1
$httpd -k reload
RETVAL=$?
echo
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/run/httpd.pid ] ; then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl $@
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit 1
esac

exit $RETVAL


copikan file di atas ke /etc/rc.d. Jangan lupa untuk merubah permisiionnya menjadi chmod +x

4. Hidupkan service apache

[root@server-freeBSD ~]# /etc/rc.d/httpd restart
Stopping httpd: [OK]
Starting httpd: /etc/rc.d/httpd: line 73: -ax: command not found
[Sat Mar 21 06:37:50 2009] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
HTTPD Run on PID 4033
[OK]


5. Test Apache


Komentar

Postingan Populer