
Monday July 20, 2009
Running Open Web Server on FreeBSD
Running Open Web Server on FreeBSD
Downloaded Free BSD from
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.2/7.2-RELEASE-i386-dvd1.iso.gz
and installed it.
For reference, see http://wikis.sun.com/display/wsFOSS/Checkout+and+Build+Instructions
To search for a package, I used cd /usr/ports; make search
name="mercurial" and so on.
First make sure that you already have these components
| GNU make 3.81 |
/usr/local/bin/gmake
|
| C/C++ Compiler 4.2.1 |
/usr/bin/g++ and gcc |
| Zlib |
/usr/lib/libz.so already installed
|
| Perl 5.8.9 |
/usr/bin/perl |
| CVS 1.11.22.1 |
/usr/bin/cvs |
Install/Build these Components
Mercurial |
cd /usr/ports/devel/mercurial; make install |
|
Java SE
5 or 6
|
Due to license problems had to manually download and putting
it in /usr/ports/distfiles
For JDK 5 : cd /usr/posts/java/jdk15; make install and download the
following files into /usr/ports/distfiles
- http://www.java.net/download/tiger/tiger_u16/jdk-1_5_0_16-fcs-bin-b02-jrl-28_may_2008.jar
- http://www.java.net/download/tiger/tiger_u16/jdk-1_5_0_16-fcs-src-b02-jrl-28_may_2008.jar
- tzupdater-1_3_12-2009a.zip from
http://www.filewatcher.com/m/tzupdater-1_3_12-2009a.zip.261842.0.0.html
- Java(TM) Cryptography Extension (JCE) Unlimited Strength
Jurisdiction Policy Files 5.0 - jce_policy-1_5_0.zip
- http://www.eyesbeyond.com/freebsddom/java/jdk15.html -
bsd-jdk15-patches-9.tar.bz2
For JDK 6 : cd /usr/posts/java/diablo-jdk16; make install and download the following files into /usr/ports/distfiles
- Java Cryptography Extension (JCE) Unlimited Strength
Jurisdiction Policy Files 6 jce_policy-6.zip
- Java SE Timezone Updater 1.3.15 -
tzupdater-1_3_15-2009g.zip
- http://www.freebsdfoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
|
| Ant |
cd /usr/ports/devel/apache-ant; make install
|
| NSPR |
cd /usr/ports/devel/nspr; make install
|
| NSS |
cd /usr/ports/security/nss; make install |
|
Xerces
C++
|
cd
/usr/ports/textproc/xerces-c2; make install cd /usr/ports/textproc/xerces-c2-devel; make install selected Use ICU transcoder option. Build thread safe version
of library.
Got an error
"/usr/bin/ld: can not find
-lgcc_pic"
For this we need to manually modify "files/filepatch-src-xercesc-Makefile.incl"
and change "-lgcc_pic" to "-lgcc"
|
|
Xalan
C++
|
cd
/usr/ports/textproc/xalan; make install Selected INMEN and
TRANSCODER_ICU options.
|
PCRE |
cd /usr/ports/devel/pcre; make install
|
| ICU |
cd /usr/ports/devel/icu; make install |
| SASL |
cd /usr/ports/security/cyrus-sasl2; make install |
|
Mozilla LDAP
C SDK*
|
- cd /usr/ports/convertors/libiconv; make install
- cd /usr/ports/convertors/iconv; make install
- cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -P -rLDAPCSDK_6_0_5_RTM DirectorySDKSourceC
- cd mozilla
- Add this patch
Index: directory/c-sdk/configure
=================================================================== RCS file: /cvsroot/mozilla/directory/c-sdk/configure,v retrieving revision 5.65 diff -u -r5.65 configure --- directory/c-sdk/configure 17 Sep 2007 17:46:23 -0000 5.65 +++ directory/c-sdk/configure 22 Jul 2009 07:27:11 -0000 @@ -4362,12 +4362,7 @@ EOF CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" - MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - if test "$MOZ_OBJFORMAT" = "elf"; then - DLL_SUFFIX=so - else - DLL_SUFFIX=so.1.0 - fi + DLL_SUFFIX=so DSO_CFLAGS=-fPIC DSO_LDOPTS=-Bshareable ;; Index: directory/c-sdk/ldap/libraries/libldap/Makefile.in =================================================================== RCS file: /cvsroot/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in,v retrieving revision 5.23 diff -u -r5.23 Makefile.in --- directory/c-sdk/ldap/libraries/libldap/Makefile.in 20 Jun 2007 17:57:11 -0000 5.23 +++ directory/c-sdk/ldap/libraries/libldap/Makefile.in 22 Jul 2009 07:27:12 -0000 @@ -267,6 +267,10 @@ EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME) -pthread endif +ifeq ($(OS_ARCH), FreeBSD) +EXTRA_LIBS += -L$(dist_libdir) -l$(LBER_LIBNAME) -L/usr/lib -lcompat +endif + ifeq ($(HAVE_SASL), 1) EXTRA_LIBS += $(SASL_LINK) endif
- cd directory/c-sdk
- ./configure --with-sasl-inc=/usr/local/include/sasl
--with-sasl-lib=/usr/local/lib
--with-nspr-lib=/usr/local/lib --with-nspr-inc=/usr/local/include/nspr/ --with-nspr
--with-nss-lib=/usr/local/lib/nss --with-nss-inc=/usr/local/include/nss/nss/ --with-nss
- gmake
- cd ../../dist/
- sudo mkdir /usr/local/include/mozldap /usr/local/lib/mozldap
- sudo cp public/ldap/* /usr/local/include/mozldap/
- sudo cp lib/* /usr/local/lib/mozldap/
|
*Note There is one /usr/ports/net/ldapsdk. It downloads and builds ldapsdk_12311998.tar.gz.
But I can see it in ancient now from mozilla site http://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/ancient/
So I built Mozilla C SDK myself.
Hack IN NSPR
One manual hack you need to do in "/usr/local/include/prinet.h"
#if
defined(FREEBSD) ||
defined(BSDI) || defined(QNX)
#include <rpc/types.h> /* the only place that defines
INADDR_LOOPBACK */
#endif
replace it by
#ifndef
INADDR_LOOPBACK
#define
INADDR_LOOPBACK
(u_long)0x7F000001
#endif
Building Open Web Server
- /usr/local/bin/hg clone
ssh://anon@hg.opensolaris.org/hg/webstack/webserver
- cd webserver
- DOWNLOAD AND PATCH THESE DIFFS
- gmake BUILD_VARIANT=OPTIMIZED
- gmake BUILD_VARIANT=OPTIMIZED install
Go to work/FreeBSD7.2-RELEASE_OPT.OBJ/https-test/bin/ directory and start the server instance using startserv script.
For the last two gmake commands, you can add WS_INSTALL_ROOT=/opt/ws if you want the server instance to be installed in /opt/ws/https-test
References:
Posted by meena
( Jul 20 2009, 06:03:54 PM IST )
Permalink
Trackback URL: http://blogs.sun.com/meena/entry/open_web_server_on_freebsd