Langsung ke konten utama

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 dari blog ini

Menggunakan Modem ZTE MF 622 di Ubuntu

Setelah beberapa waktu lalu saya berhasil mengutak atik modem huawei 620, Sekarang saya akan menuliskan bagaimana menggunakan modem zte mf 622 di linux. Kebetulan, linux yang saya gunakan kali ini adalah Ubuntu 8.10. Mungkin lain waktu, saya akan mencoba langkah-langkah pada tulisan ini di Fedora (sebenernya, saya lebih terbiasa dengan Fedora daripada Ubuntu), namun karena ingin mencoba distro yang digadang-gadangkan banyak komunitas sebagai distro termudah, dan terbanyak penggunanya, maka saya pun akhirnya tak dapat menahan rayuan untuk mencoba ubuntu versi terbaru ini. Oh ya, sebelumnya, saya menggunakannya di laptop saya, acer aspire 4520. dan ini adalah foto dari modem saya OK, segera kita mulai. Untuk menggunakan modem ZTE MF 622 ini, tidak banyak aplikasi yang dilibatkan. Aplikasi yang dibutuhkan antara lain wvdial, dmesg, pptp. * wvdial ini digunakan untuk memudahkan kita menggunakan modem ini. * dmesg digunakan untuk memeriksa message pada kernel apakah ketika modem ditancapkan...

Cara membangun DNS Filter (mari berantas pornografi)

Kebutuhan : 1. dns server, pilihan yang baik menggunakan powerdns, karena saya rpm base, maka silakan di download di : http://downloads.powerdns.com/releases/rpm/pdns-static-2.9.22-1.i386.rpm download powerdns sebagai authoritative server 2. linux box, pastinya. 3. database situs-situs yang ingin di blok, bisa didownload di http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist pilih situs porno 4. web server saya asumsikan di sini, kita akan menyimpan databasenya dalam bentuk file. powerdns bisa menyimpannya dalam database, salah satu yang telah saya coba adalah mysql. namun pada tutorial ini, yang saya bahas adalah menggunakan file. di dalam database tersebut, terdapat kategori porn, nah pilih kategori tersebut. lalu pilih file domain. ide dari dns filtering ini adalah "memaksa" suatu domain, katakanlah situs porno tadi, ke suatu ip yang telah kita assign. ip tersebut, bisa di server dns filter ini. misalnya dns filter...

Membangun DNS Server menggunakan Bind dengan menambahkan fitur filtering domain Depkominfo.

Beberapa tahun belakan ini, pemerintah melalui Depkominfo cukup galak meminta operator untuk memberantas pornografi. Salah satunya adalah dengan memblok semua situs porno yang ada di dunia internet. Cara ini diakui kominfo cukup efektif, walaupun sebenarnya masih banyak situs - situs porno tersebut yang masih dapat diakses. Saat ini operator telekomunikasi dan ISP mengambil referensi domain yang diblok dari situs yang diberikan oleh depkominfo sendiri, yaitu di Trust Positif Kominfo . Terakhir, jumlah site yang berhasil diblok , jika berdasarkan file yang diambil di trust positif tersebut adalah sekitar 756050 site, jadi belum ada 1 juta. Untuk melakukan bloking terhadap domain tersebut, dibutuhkan aplikasi server. Yang bisa melakukan blok berdasarkan domain adalah DNS. Selama ini saya biasa menggunakan bind sebagai aplikasi dns server. Namun aplikasi tersebut belum mampu melakukan teknik blocking yang baik. Ide bloking menggunakan bind yang saya gunakan adalah melakukan manipulas...