Friday Apr 03, 2009

Web Server 7.0 Update 5 is out !

Web 7.0u5 is out now. From the email from our staff,


"


It can be publicly downloaded at:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=SJWS-7.0U5-OTH-G-F@CDS-CDS_SMI

The Release Notes are here:
http://wikis.sun.com/display/WebServerdocs/Release+Notes


In addition to customer escalation & other bug fixes (>50) this release also contains important bug-fixes related to performance 
enhancement.
http://wikis.sun.com/display/WebServerdocs/Release+Notes#ReleaseNotes-IssuesResolvedinWebServer7.0Update5
 
All users of Web Server 7.0 through Web Server 7.0 Update 4 are encourage to upgrade.

"


So, please try it.

Tuesday Nov 25, 2008

Pkgapp 3.0 for Solaris Available now !

I just know this, so share here,


Pkgapp 3.0 for Solaris Available!


 This is a very useful tool to collect the data for troubleshooting, see more at web GDD , e.g.


http://docs.sun.com/app/docs/doc/820-2483/gebbt?a=view



Tuesday Aug 19, 2008

running php in web server 7.0ux

If you are running php as FastCGI  in web server 7.0ux, then the following links may be helpful.


1. http://docs.sun.com/app/docs/doc/820-4838/gfssu?a=view


You can see a list of FastCGI  parameters and their meanings in above.


2. http://docs.sun.com/app/docs/doc/820-4846/gehbe?a=view


You can see an example of FastCGI parameters in above php scalability test.



3. for  a detailed description of running php on Sun web server 


http://developers.sun.com/webtier/reference/techart/php2.html#4


4. Sun download center also has a php binary you can download at


http://www.sun.com/download/index.jsp?cat=Web%20%26%20Proxy%20Servers&tab=3&subcat=Web%20Servers


"This add-on provides a pre-built PHP engine for use with Sun Java System Web Server 7.0. The pre-built PHP engine is optimized for the operating system platforms supported by Sun Java System Web Server 7.0. The PHP engine is provided in Sun Java System Web Server's native NSAPI library form as well as the popular FastCGI form. An installer is provided to ease installation and setup.
"





I downloaded and then tried in a Linux machine,


[root@magxxxx php]# bin/php -h

Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
       php <file> [args...]
  -a               Run interactively
  -b <address:port>|<port> Bind Path for external FASTCGI Server mode
  -C               Do not chdir to the script's directory
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.  Implies `-q'
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -q               Quiet-mode.  Suppress HTTP Header output.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.


After I set it up and run phpinfo(), then it will show:


http://xxx.sun.com:7021/info.php 










PHP Logo

PHP Version 5.2.0







































































System Linux magellanic 2.4.21-27.ELsmp #1 SMP Wed Dec 1 21:59:02 EST 2004 i686
Build Date Jan 29 2007 22:07:21
Configure Command './configure'
'--prefix=/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php'
'--bindir=/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/bin/'
'--libdir=/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib/'
'--libexecdir=/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/libexec/'
'--enable-force-cgi-redirect' '--disable-rpath' '--enable-safe-mode'
'--enable-ftp' '--enable-sockets' '--enable-memory-limit'
'--enable-inline-optimization' '--enable-zlib' '--enable-soap'
'--with-dba' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm'
'--enable-sqlite-utf8' '--enable-zend-multibyte' '--enable-bcmath'
'--enable-exif' '--enable-magic-quotes' '--enable-wddx'
'--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex'
'--enable-gd-native-ttf'
'--with-pcre-regex=/h/iws-files/s/b/c/pcre/6.7/Linux2.4_OPT.OBJ'
'--with-iconv-dir=/h/iws-files/s/b/c/libiconv/1.11/Linux2.4_OPT.OBJ'
'--with-libxml-dir=/h/iws-files/s/b/c/libxml2/2.6.27/Linux2.4_OPT.OBJ'
'--with-zlib=/h/iws-files/s/b/c/zlib/1.2.3/Linux2.4_OPT.OBJ'
'--with-mysql=/h/iws-files/s/b/c/mysql/5.0.27/Linux2.4_OPT.OBJ'
'--with-mysqli=/h/iws-files/s/b/c/mysql/5.0.27/Linux2.4_OPT.OBJ/bin/mysql_config'
'--with-pgsql=/h/iws-files/s/b/c/postgresql/8.1.5/Linux2.4_OPT.OBJ'
'--enable-cli' '--enable-cgi' '--enable-fastcgi' '--enable-debugger'
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib/
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp, unix, udg
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.\*, consumed, convert.iconv.\*, zlib.\*








Zend logo
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies



PHP Credits



Configuration


PHP Core














































































































































































































































































































































































































































Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
detect_unicode On On
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting no value no value
expose_php On On
extension_dir /java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib//extensions/no-debug-non-zts-20060613 /java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib//extensions/no-debug-non-zts-20060613
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib//php .:/java/re/phppack/5.2.0/nightly/ws/b01-2007-01-29/linux-i586/dist/5.2.0/Linux2.4_OPT.OBJ/php/lib//php
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_input_time -1 -1
memory_limit 16M 16M
open_basedir no value no value
output_buffering 0 0
output_handler no value no value
post_max_size 8M 8M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals Off Off
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode On On
safe_mode_exec_dir /usr/local/php/bin /usr/local/php/bin
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i  /usr/sbin/sendmail -t -i 
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off


bcmath









BCMath support enabled


ctype









ctype functions enabled


date





















date/time support enabled
Timezone Database Version 2006.14
Timezone Database internal
Default timezone America/Los_Angeles



































Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone no value no value


dom





































DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.27
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled


exif





















EXIF Support enabled
EXIF Version 1.4 $Id: exif.c,v 1.173.2.5.2.4 2006/10/10 22:22:43 tony2001 Exp $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF


filter













Input Validation and Filtering enabled
Revision $Revision: 1.52.2.25 $




















Directive Local Value Master Value
filter.default unsafe_raw unsafe_raw
filter.default_flags no value no value


ftp









FTP support enabled


hash













hash support enabled
Hashing Engines md4 md5 sha1
sha256 sha384 sha512 ripemd128 ripemd160 whirlpool tiger128,3
tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost
adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3
haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4
haval128,5 haval160,5 haval192,5 haval224,5 haval256,5


iconv

















iconv support enabled
iconv implementation glibc
iconv library version 2.3.2

























Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1


json













json support enabled
json version 1.2.1


libxml

















libXML support active
libXML Version 2.6.27
libXML streams enabled


mbstring

























Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On








mbstring extension makes use of "streamable
kanji code filter and converter", which is distributed under the GNU
Lesser General Public License version 2.1.




























































Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding ISO-8859-1 no value
mbstring.language neutral neutral
mbstring.script_encoding no value no value
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value


mysql





































MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.27
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE -I/h/iws-files/s/b/c/mysql/5.0.27/Linux2.4_OPT.OBJ/include
MYSQL_LIBS -L/h/iws-files/s/b/c/mysql/5.0.27/Linux2.4_OPT.OBJ/lib -lmysqlclient




























































Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off


mysqli





















MysqlI Support enabled
Client API library version 5.0.27
Client API header version 5.0.27
MYSQLI_SOCKET /tmp/mysql.sock













































Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off


pcre













PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 6.7 04-Jul-2006


PDO













PDO support enabled
PDO drivers sqlite2, sqlite


pdo_sqlite

















PDO Driver for SQLite 3.x enabled
PECL Module version (bundled) 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6 2006/01/01 12:50:12 sniper Exp $
SQLite Library 3.3.7


pgsql





























PostgreSQL Support enabled
PostgreSQL(libpq) Version 8.1.5
Multibyte character support enabled
SSL support disabled
Active Persistent Links 0
Active Links 0








































Directive Local Value Master Value
pgsql.allow_persistent On On
pgsql.auto_reset_persistent Off Off
pgsql.ignore_notice Off Off
pgsql.log_notice Off Off
pgsql.max_links Unlimited Unlimited
pgsql.max_persistent Unlimited Unlimited


posix









Revision $Revision: 1.70.2.3.2.6 $


Reflection













Reflection enabled
Version $Id: php_reflection.c,v 1.164.2.33.2.31 2006/10/18 16:35:15 johannes Exp $


session

















Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx







































































































































Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0


SimpleXML

















Simplexml support enabled
Revision $Revision: 1.151.2.22.2.15 $
Schema support enabled


soap













Soap Client enabled
Soap Server enabled



































Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400


sockets









Sockets Support enabled


SPL

















SPL support enabled
Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator,
ArrayIterator, ArrayObject, BadFunctionCallException,
BadMethodCallException, CachingIterator, DirectoryIterator,
DomainException, EmptyIterator, FilterIterator, InfiniteIterator,
InvalidArgumentException, IteratorIterator, LengthException,
LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException,
OutOfRangeException, OverflowException, ParentIterator, RangeException,
RecursiveArrayIterator, RecursiveCachingIterator,
RecursiveDirectoryIterator, RecursiveFilterIterator,
RecursiveIteratorIterator, RecursiveRegexIterator, RegexIterator,
RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject,
SplObjectStorage, SplTempFileObject, UnderflowException,
UnexpectedValueException


SQLite





















SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.5 2006/10/20 21:28:31 tony2001 Exp $
SQLite Library 2.8.17
SQLite Encoding UTF-8















Directive Local Value Master Value
sqlite.assoc_case 0 0


standard

















Regex Library Bundled library enabled
Dynamic Library Support enabled
Path to sendmail /usr/sbin/sendmail -t -i

































































Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,form=,fieldset= a=href,area=href,frame=src,form=,fieldset=
user_agent no value no value


sysvmsg













sysvmsg support enabled
Revision $Revision: 1.20.2.3.2.1 $


tokenizer









Tokenizer Support enabled


wddx













WDDX Support enabled
WDDX Session Serializer enabled


xml

















XML Support active
XML Namespace Support active
libxml2 Version 2.6.27


xmlreader









XMLReader enabled


xmlwriter









XMLWriter enabled


zlib

























ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.3
Linked Version 1.1.4

























Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value


Additional Modules














Module Name
sysvsem
sysvshm


Environment





























Variable Value
PHPRC /opt/webserver7/https-walter-php/php
PHP_FCGI_CHILDREN 2
PHP_FCGI_MAX_REQUEST 200
FCGI_WEB_SERVER_ADDRS 127.0.0.1
LD_LIBRARY_PATH /opt/webserver7/https-walter-php/php


PHP Variables













































































































































































Variable Value
_SERVER["PHPRC"] /opt/webserver7/https-walter-php/php
_SERVER["PHP_FCGI_CHILDREN"] 2
_SERVER["PHP_FCGI_MAX_REQUEST"] 200
_SERVER["FCGI_WEB_SERVER_ADDRS"] 127.0.0.1
_SERVER["LD_LIBRARY_PATH"] /opt/webserver7/lib:/opt/webserver7/jdk/jre/lib/i386/server:/opt/webserver7/jdk/jre/lib/i386:/opt/webserver7/jdk/jre/lib/i386/native_threads::/opt/webserver7/lib:
_SERVER["FCGI_ROLE"] RESPONDER
_SERVER["HTTP_HOST"] magellanic.red.iplanet.com:7021
_SERVER["HTTP_USER_AGENT"] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
_SERVER["HTTP_ACCEPT"] text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,\*/\*;q=0.5
_SERVER["HTTP_ACCEPT_LANGUAGE"] en-us,en;q=0.5
_SERVER["HTTP_ACCEPT_ENCODING"] gzip,deflate
_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,\*;q=0.7
_SERVER["HTTP_KEEP_ALIVE"] 300
_SERVER["HTTP_CONNECTION"] keep-alive
_SERVER["PATH"] /opt/webserver7/bin:/opt/webserver7/lib:/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
_SERVER["LANG"] en_US.UTF-8
_SERVER["SERVER_SOFTWARE"] Sun-Java-System-Web-Server/7.0
_SERVER["SERVER_PORT"] 7021
_SERVER["SERVER_NAME"] magellanic.red.iplanet.com
_SERVER["SERVER_URL"] http://magellanic.red.iplanet.com:7021
_SERVER["REMOTE_HOST"] 129.150.146.43
_SERVER["REMOTE_ADDR"] 129.150.146.43
_SERVER["HTTPS"] OFF
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["SCRIPT_NAME"] /info.php
_SERVER["PATH_TRANSLATED"] no value
_SERVER["SERVER_HOSTNAME"] magellanic.red.iplanet.com
_SERVER["SERVER_ADDR"] 192.18.78.114
_SERVER["ORIG_PATH_TRANSLATED"] /opt/webserver7/https-walter-php/docs/info.php
_SERVER["ORIG_SCRIPT_NAME"] /info.php
_SERVER["SCRIPT_FILENAME"] /opt/webserver7/https-walter-php/docs/info.php
_SERVER["PATH_INFO"] no value
_SERVER["PHP_SELF"] /info.php
_SERVER["REQUEST_TIME"] 1219132917
_SERVER["argv"]
Array
(
)

_SERVER["argc"] 0
_ENV["PHPRC"] /opt/webserver7/https-walter-php/php
_ENV["PHP_FCGI_CHILDREN"] 2
_ENV["PHP_FCGI_MAX_REQUEST"] 200

Thursday Jul 10, 2008

NSAPI code to add Expires header in web 6.1SP9

Guy asked about how to add Expires header  with "access plus 1 day" in my post yesterday, see more at


http://blogs.sun.com/walter/entry/how_to_add_expires_header#comments


I pointed him to


http://forum.java.sun.com/thread.jspa?threadID=5019803&messageID=9052343#9052343


and I tested it work ok, so like to share with all of you.


You can download the ready to use expire.so and its source at


http://blogs.sun.com/walter/resource/code/expire.c


(source code) 


and ready to go .so at


http://blogs.sun.com/walter/resource/code/expire.so


(Solaris NSAPI plugin .so) 


You will also see the steps to build a NSAPI plugin below.


1. I copied the source code at


http://forum.java.sun.com/thread.jspa?threadID=5019803&messageID=9052343#9052343



into my web 6.1SP9 example NSAPI plugin directory,


apple:/export/home/iws6.1sp9/plugins/nsapi/examples>


-rw-rw-rw-   1 root     other       2862 Jul 10 13:53 expire.c


2. I made some changes to the code,


( you can see the complete code at


http://blogs.sun.com/walter/resource/code/expire.c )


a. add the needed header,


apple:/export/home/iws6.1sp9/plugins/nsapi/examples> cat expire.c

#ifdef XP_WIN32
#define NSAPI_PUBLIC __declspec(dllexport)
#else /\* !XP_WIN32 \*/
#define NSAPI_PUBLIC
#endif /\* !XP_WIN32 \*/

#include "nsapi.h"


NSAPI_PUBLIC int expire(pblock \*pb, Session \*sn, Request \*rq)
{
.......


b. you can also see I change the function name above from



kpn_set_cacheable

to

expire

because at first, I got an error earlier when I used this function name,

Service fn="kpn-set-cacheable" max-age="15724800"

because it should be underscore as below, instead of hypens above.

int kpn_set_cacheable(pblock \*pb, Session \*sn, Request \*rq)

So, when I tried this earlier, I got this error ,

[10/Jul/2008:13:55:14] config (11680): for host 129.150.154.110 trying to

GET /images/, func_exec reports: HTTP2122: cannot find function named kpn-set-cacheable

So, I changed the function name to expire to avoid any such above.

3. then I change the Makefile, there,

You can see my Makefile at

http://blogs.sun.com/walter/resource/code/Makefile 

4. then

apple:/export/home/iws6.1sp9/plugins/nsapi/examples> touch expire.c
apple:/export/home/iws6.1sp9/plugins/nsapi/examples> make
cc -DNET_SSL -DSOLARIS -D_REENTRANT -DMCC_HTTPD -DXP_UNIX -DSPAPI20 -I../../include -I../../include/base -I../../include/frame -I../../include/nspr -I/usr/include/mps -c expire.c
make prepare
ld -G expire.o -o expire.so

apple:/export/home/iws6.1sp9/plugins/nsapi/examples> ls -lrt

-rw-rw-rw- 1 root other 2862 Jul 10 14:43 expire.c
-rwxrwxrwx 1 root other 5748 Jul 10 14:43 expire.so
-rw-rw-rw- 1 root other 4536 Jul 10 14:43 expire.o

5. then add this into the end of magnus.conf,

Init fn="load-modules" shlib="/export/home/iws6.1sp9/plugins/nsapi/examples/expire.so"

funcs="expire"

(all in 1 line above)

6. added this into the end of obj.conf,


<Object ppath="/export/home/iws6.1sp9/docs/images/\*">
Service fn="expire" max-age="86400"
Service method="(GET|HEAD)" type="~magnus-internal/" fn="send-file" nocache=""
</Object>

(note - 1 day = 24 hr \* 60 min \* 60 sec = 86400 )

7. then restart,

pple:/export/home/iws6.1sp9/https-pblock/config> ../stop; ../start

8. test 1: a file inside /images dir,

apple:/export/home/iws6.1sp9/https-pblock/config> telnet apple.asia 61903
Trying 129.158.175.16...
Connected to apple.asia.sun.com.
Escape character is '\^]'.
GET /images/blank.gif HTTP/1.0

HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Thu, 10 Jul 2008 06:50:15 GMT \*\*\* access time
Content-length: 43
Content-type: image/gif
Cache-control: public
Expires: Fri, 11 Jul 2008 06:50:15 GMT \*\*\* +1 day , see this below !
Last-modified: Thu, 10 Jul 2008 04:27:34 GMT
Accept-ranges: bytes
Connection: close

GIF89a€ÿÿÿ!ù
,L;Connection closed by foreign host.

So, we added the needed access +1 day timestamp into the Expires header above,

  Expires: Fri, 11 Jul 2008 06:50:15 GMT

logs:

129.158.175.16 - - [10/Jul/2008:14:50:15 +0800] "GET /images/blank.gif HTTP/1.0" 200 43

9. test2 : a file outside the /images dir,

apple:/export/home/iws6.1sp9/https-pblock/config> telnet apple.asia 61903
Trying 129.158.175.16...
Connected to apple.asia.sun.com.
Escape character is '\^]'.
GET /blank.gif HTTP/1.0

HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Thu, 10 Jul 2008 06:55:36 GMT
Content-length: 43
Content-type: image/gif
Last-modified: Thu, 27 Mar 2008 00:22:13 GMT
Accept-ranges: bytes
Connection: close

GIF89a€ÿÿÿ!ù
,L;Connection closed by foreign host.

(no such Expires header added as in test 1)




However, this is custom coding and used at your own risk.

(Credits should go to henkfictorie who posted this source code at

http://forum.java.sun.com/thread.jspa?threadID=5019803&messageID=9052343#9052343 )

 





Wednesday Jul 09, 2008

Web Server GDD Debugging Scripts

Sometimes, we can use the ready to go debugging scripts to collect more data in a running web server, see


http://docs.sun-DOT-com/app/docs/doc/820-0429/gebck?a=view


 In particular, the pkg_app script  is  often used when we found a core dump file.


This pkg_app script will help collect the needed libraries and others, so we at sun can proceed further to examine the core dump file.


The other situation can be a web server hang, and we will collect gcore <web server pid> and pkg_app libraries to examine the running threads of the hung web server at that time.


You can download the latest pkg_app script at


http://www.sun-DOT-com/bigadmin/scripts/indexSjs.html


http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/sun_gdd__all__pkg_a


 the above is for Linux and the below is for Solaris,


http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/sun_gdd__directory___




Then after the download and tar -xf,


apple:/export/home/bits/iws/misc/pkg_app-dir> tar -xf ../SUN-GDD_ALL_pkg_app_solaris.tar
apple:/export/home/bits/iws/misc/pkg_app-dir> ls -lrt
total 62
-rw-r--r--   1 root     other       3581 Sep 12  2007 README.txt
-rw-r--r--   1 root     other       3461 Sep 12  2007 LICENSE.txt
-rwxr-xr-x   1 root     other      19285 Oct  2  2007 pkg_app
-rwxr-xr-x   1 root     other       3329 Oct  2  2007 README.pkg_app


Then you can follow the steps at


http://docs.sun.com/app/docs/doc/820-0429/gebck?a=view


"




  1. Copy the script to a temporary directory on the system where Web
    Server is installed.




  2. Login as superuser.




  3. Execute the pkg_app script in one of the following
    three ways:




    • ./pkg_app pid-of-running-application corefile




    • ./pkg_app pid-of-the-running-application(The pkg_app scripts
      prompts for the corefile name.)




    • ./pkg_app core file    "






 e.g. in my env,

apple:/export/home/iws7.0u3/https-apple.asia.sun.com/logs> ptree 9736
9734  webservd-wdog -d /export/home/iws7.0u3/https-apple.asia.sun.com/config -r
  9735  webservd -d /export/home/iws7.0u3/https-apple.asia.sun.com/config -r /e
    9736  webservd -d /export/home/iws7.0u3/https-apple.asia.sun.com/config -r

and  a run to show the options,


apple:/export/home/bits/iws/misc/pkg_app-dir> ./pkg_app
--------------------------------------------------------------------------------
\* Sun Microsystems RSD pkg_app 2.7 Solaris                      [07/09/2008]
--------------------------------------------------------------------------------
pkg_app 2.7, a Sun Microsystems data gathering utility.
Usage:
  ./pkg_app [options] -c <core file | pid> -p <full path to process binary> -s [path to write tar file]

Required parameters:
 -c <core file OR pid of a running process>
 -p <full path to process binary> (ns-slapd, imapd, httpd etc.)

Optional parameters:
 -i (Include the core file with the final tar.gz)
 -q (Quiet)
 -d (Debug)
 -s <Storage; path to store the final tar file in>

usage:  ./pkg_app -c <name of the core file> -p <path to process binary>
usage:  ./pkg_app -c <pid of the running app> -p <path to process binary>

Examples: these are examples mixing various parameters

Directory Server
./pkg_app -i -c ./core.14740 -p /var/mps/ds52p4/bin/slapd/server/64

Messaging Server
./pkg_app -c ./core.3496 -p /opt/SUNWmsgsr/lib

Web Server
./pkg_app ./core.1092 -p /space/iws70/lib -s /var/crash

Calendar Server
./pkg_app -i -c ./core -p /opt/SUNWics5/cal/lib


--------------------end options above--------------------


then, I looked up where is my webservd binary in web 7.0u3 ,


apple:/export/home/iws7.0u3/https-apple.asia.sun.com/logs> find /export/home/iws7.0u3 -name webservd
/export/home/iws7.0u3/lib/sparcv9/webservd
/export/home/iws7.0u3/lib/webservd


the 1st is 64-bit and 2nd is 32-bit,


e.g.


apple:/export/home/iws7.0u3/lib/sparcv9> file webservd
webservd:       ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped
apple:/export/home/iws7.0u3/lib/sparcv9> cd ..
apple:/export/home/iws7.0u3/lib> file webservd
webservd:       ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped


so, we will point it to the 2nd one  above which is currently in use in my pid=9736.


You can also check out which webservd by

apple:/export/home/iws7.0u3/lib> pmap 9736  | grep webservd
9736:   webservd -d /export/home/iws7.0u3/https-apple.asia.sun.com/config -r /
00010000      8K read/exec         /export/home/iws7.0u3/lib/webservd
00020000      8K read/write/exec   /export/home/iws7.0u3/lib/webservd


which shows the 32-bit binary in above (the 2nd one above).


Then, I ran the pkg_app commands, ./pkg_app -c 9736 -p /export/home/iws7.0u3/lib

Outputs:


apple:/export/home/bits/iws/misc/pkg_app-dir> ./pkg_app -c 9736 -p /export/home/iws7.0u3/lib
--------------------------------------------------------------------------------
\* Sun Microsystems RSD pkg_app 2.7 Solaris                      [07/09/2008]
--------------------------------------------------------------------------------
\* OS release                            [5.8]
\* Platform                              [SUNW,Sun-Blade-1000]
\* Using pid                             [9736]
\* Process Root                          [/export/home/iws7.0u3/https-apple.asia.sun.com/config]
\* Process binary                        [webservd]
\* webservd binary bit version           [32]
\* Checking path to binary name          [success, path != binary name]
\* Checking path is a directory          [success]
\* Locating webservd                     [success]
\* Checking located webservd is 32 bit   [success]
\* Binary located                        [/export/home/iws7.0u3/lib/webservd]
\* Adding binary to pkg_app.pldd         [success]
\* Grabbing pldd                         [success]
\* Grabbing pstack                       [success]
\* Grabbing pmap                         [success]
\* Grabbing pcred                        [success]
\* Grabbing pflags                       [success]
\*
\* Databin Used                          [/export/home/bits/iws/misc/pkg_app-dir]
\* Using hostid for naming .tar.gz       [83450f78]
\* Writing file                          [pkg_app83450f78-apple-080709-154653.tar.Z]
\*
\* Processing file 74 of 74
\*
\* Done gathering files
\* Writing dbx files                     [success]
\* Creating final tarfile                [success]
\* Compressing tarfile                   [success]
\*

Operations Complete

Upload this file to your supportfiles.sun.com Cores Directory at Sun
File located in directory .

                [ pkg_app83450f78-apple-080709-154653.tar.Z ]


                                Thank you.
                                Sun Software Technology Service Center (STSC)


NOTES:
1) You can check for updates to this script here:
        BigAdmin - http://www.sun.com/bigadmin/scripts/indexSjs.html

2) Release Notes and Guides located here:
        Docs - http://docs.sun.com/app/docs/doc/820-0437

3) GDD information located here:
        Docs - http://www.sun.com/service/gdd/index.xml

4) Please send all Bugs and RFE's to the following address:
        Subject "pkg_app bug/rfe" - gdd-issue-tracker-AT-sun.com

5) Please send all other questions etc to:
        Subject "pkg_app feedback" - gdd-feedback-AT-sun.com
------------------------------end Outputs ------------------------------



apple:/export/home/bits/iws/misc/pkg_app-dir> ls -lrt
total 48702
-rw-r--r--   1 root     other       3581 Sep 12  2007 README.txt
-rw-r--r--   1 root     other       3461 Sep 12  2007 LICENSE.txt
-rwxr-xr-x   1 root     other      19285 Oct  2  2007 pkg_app
-rwxr-xr-x   1 root     other       3329 Oct  2  2007 README.pkg_app
-rw-rw-rw-   1 root     other    24871809 Jul  9 15:47 pkg_app83450f78-apple-080709-154653.tar.Z 


then send above .Z file to Sun and then we can check out more about the web server running process or core dump file.


The inside of the .Z file is:


apple:/export/home/bits/iws/misc/pkg_app-dir/pkg-app-dump.tmp> ls -lrt
total 110
-rw-rw-rw-   1 root     other          0 Jul  9 15:46 pkg_app.info
-rw-rw-rw-   1 root     other          0 Jul  9 15:46 pkg_app.errors
-rw-rw-rw-   1 root     other       2508 Jul  9 15:46 pkg_app.pldd
-rw-rw-rw-   1 root     other      24729 Jul  9 15:46 pkg_app.pstack
-rw-rw-rw-   1 root     other      16639 Jul  9 15:46 pkg_app.pmap
-rw-rw-rw-   1 root     other         46 Jul  9 15:47 pkg_app.pcred
-rw-rw-rw-   1 root     other       2560 Jul  9 15:47 pkg_app.pflags
-rwxr-xr-x   1 root     other        443 Jul  9 15:47 opencore
-rw-rw-rw-   1 root     other        614 Jul  9 15:47 dbxrc
-rw-rw-rw-   1 root     other       1137 Jul  9 15:47 runtime-080709-154653.log
drwxrwxrwx   2 root     other       2048 Jul  9 15:50 app



and remember to send in any core dump files or gcore files to Sun support with above .Z file.


Then we can check out more about the running conditions and states inside the webservd at that time.



Friday Jun 13, 2008

Sun Java System Web Server 6.1 Add-Ons Reverse Proxy Plugin

There are two versions of RPPs , you can see their banners at the web server errors log after a start up, e.g.


older one banner in errors logs when start up web server :
[18/Dec/2007:11:35:54] info (22836): PASS1000: Sun ONE Web Server 6.1SP3 Reverse Proxy Plugin B09/09/2004 11:59

newer RPP banner :
[15/Feb/2008:15:48:43] info (10935): PASS1000: Sun ONE Web Server 6.1SP7 Reverse Proxy Plugin B01/11/2007 23:21


You can see their docs at below:


newer 6.1SP8,

http://docs.sun.com/app/docs/doc/820-1647/funcs?a=view
"Introduction

The Reverse Proxy Plug-in is a NSAPI plug-in designed for use with the Sun Java System Web Server 6.1 SP8 and later Service packs.  "

and

older 6.1SP3 RPP,



http://docs.sun.com/source/819-0902-05/rpp61.html
"
Introduction

The Reverse Proxy Plugin is a NSAPI plugin designed for use with the Sun Java System Web Server 6.1 SP3 and later Service Packs.
"


 Please use the suggested Sun Java System Web Server versions as noted in the above docs.

About

Wing-Yip Walter Lee

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today