Mike found out that one needs to add two links in /usr/lib to make Net.Commerce happy. ln -s /usr/lpp/CommerceSuite/bin/libnc_dbc_db2.a /usr/lib/libnc_dbc.a ln -s /usr/lpp/CommerceSuite/bin/libnc3_dbc_db2.a /usr/lib/libnc3_dbc.a There are these 6 other links in there by the way, libnc3_common.a -> /usr/lpp/CommerceSuite/bin/libnc3_common.a libnc3_containers.a -> /usr/lpp/CommerceSuite/bin/libnc3_containers.a libnc3_messages.a -> /usr/lpp/CommerceSuite/bin/libnc3_messages.a libnc3_payment.a -> /usr/lpp/CommerceSuite/bin/libnc3_payment.a libnc3_sap_msg.a -> /usr/lpp/CommerceSuite/bin/libnc3_sap_msg.a libnc3_utilmsgs.a -> /usr/lpp/CommerceSuite/bin/libnc3_utilmsgs.a but those other two were also needed. ================================================================================= Notes from when I upgraded ar0079e0's web server on 9/10/99. I was going from Lotus Domino Go Webserver (DGW) 4.6.2.51, to Lotus Domino Go Webserver (DGW) 4.6.2.7. And I also installed the Equifax SSL certificate. - cd /etc cp -p /etc/httpd.conf /etc/httpd.conf.before.DGW.4217 cp -p /etc/servlet.conf /etc/servlet.conf.before.DGW.4217 - mount cws:/spdata/sys1/install/aix432/lppsource/PROD/Lotus_Go-4.6.2.7 /mnt - stopsrc -s httpd - smitty installp Select the last option, not the first, namely "Install and Update from ALL Available Software" /mnt Select everything but the NetQ stuff, which was already installed. - gskrf301 - gskru301 - internet_server.base - internet_server.java - internet_server.msg.en_US - internet_server.security.common - internet_server.security.us_secure Toggle "AUTOMATICALLY install requisite software?" to no and "OVERWRITE same or newer versions?" to yes. - After the install, - umount /mnt - stopsrc -s httpd - cp -p /etc/httpd.conf.before.DGW.4217 /etc/httpd.conf - cp -p /etc/servlet.conf.before.DGW.4217 /etc/servlet.conf Followed Equifax's instructions to receive the Thawte CA root certificate, Equifax's CA root certificate, and the new www2 certificate. When you do as0206e0/1, the new key ring & stash file are already there. All you should need to do is cd /usr/lpp/internet/server_root cp -p keyfile.1999.Equifax.kyr keyfile.kyr cp -p keyfile.1999.Equifax.sth keyfile.sth - Start the webserver back up. startsrc -s httpd --------------------------------------------------------------------------------- Notes from when I upgraded Baboon's web server on 9/9/99. I was going from Lotus Domino Go Webserver (DGW) 4.6.2.51, to Lotus Domino Go Webserver (DGW) 4.6.2.7. 1) stopsrc -s httpd Had to also ps -ef | grep nobody to find the java com/ibm/servlet/engine/outofproc/ ... process that *was* a child of the httpd process before I killed it, but now was parented (how's that for a word) off of init. I killed that guy, too. kill -9 21538 2) Back up /etc/httpd.conf & /etc/servlet.conf. I used Paul's script from when he & Sandy updated Net.Commerce back on July 13, 1999. cd /home/inst1/mignc312 ./savefles.sh (Yes, the "i" in "files" is missing. I dunno why.) 3) smitty installp Warning! You have to choose the bottom option of the next screen, Install and Update from ALL Available Software not the one I always choose, the top option, Install and Update from LATEST Available Software else smitty/installp won't see all the filesets. Don't ask me why. Might be a installp problem on baboon? It's only 4.3.2.0. It seems to work fine on my jasper machine, which is at 4.3.2.4. Anyway, make sure you have all the software selected, and also change AUTOMATICALLY install requisite software? no and OVERWRITE same or newer versions? yes The reason for this is, we're trying to install 4.6.2.7 and installp thinks 4.6.2.7 is less than 4.6.2.51, so we have to force the install, which means you can't install requisite software. 4) Installing this evidently starts the server, so I had to stopsrc -s httpd 5) I noticed that this didn't update the internet_server.security.export.httpd fileset, which is still at 4.6.2.51 and a lslpp -w internet_server.security.export.httpd command showed to only contain /usr/lib/libwwwexp.o and /usr/lib/wwwsexp.o. But on as0206e1, the same lslpp command shows it also has /usr/sbin/mkkf and /usr/sbin/certutil. I know we need mkkf, so don't delete this (like I did). 6) I noticed that both httpd.conf & servlet.conf did indeed change. ls -l /etc/httpd.conf /home/inst1/mignc312/httpd.conf -rw-rw-r-- 1 root system 79665 Sep 09 14:22 /etc/httpd.conf -rw-r--r-- 1 root system 85081 Sep 09 13:34 /home/inst1/mignc312/httpd.conf ls -l /etc/servlet.conf /home/inst1/mignc312/servlet.conf -rw-rw-r-- 1 root system 5418 Sep 09 14:22 /etc/servlet.conf -rw-r--r-- 1 root system 6613 Sep 09 13:34 /home/inst1/mignc312/servlet.conf The new /etc/httpd.conf file though, is identical as /etc/httpd.conf.4625.orig, so I'm content to move back the original, which is what I did. cp -p /home/inst1/mignc312/httpd.conf /etc/httpd.conf The only change in the new /etc/servlet.conf file from the previous was evidently, an error. In a comment giving the syntax of the JavaLibPath statement, they say the separator is a semicolon, not colon, although their real JavaLibPath line a few lines later used colons. I left the comment alone and restored the original /etc/servlet.conf we had before the update. cp -p /home/inst1/mignc312/servlet.conf /etc/servlet.conf 7) Started the sucker up startsrc -s httpd and tested it out by going to http://penguin, which is the internal, test Patent Server site, searching on some patent and ordering it. Everything looks good. ============================================================================================ To start the Net.Commerce admin server, which listens on port 4444 and is separate from the normal httpd server, /usr/lpp/NetCommerce3/server/bin/start_admin_server or to stop it, /usr/lpp/NetCommerce3/server/bin/stop_admin_server Then you can connect to it via http://your-server-name:4444 The default userid & password is webadmin & webibm. Interesting to note this web server is at /usr/lpp/NetCommerce3/server/bin/httpd and is thus distinct from whatever web server you have installed to run the normal port 80 stuff, be it Lotus Domino Go, Apache, or whatever. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - There is another concept of the Net.Commerce Admin User ID, used "to maintain your store or mall." To get access to that, you try http://your-server-name/ncadmin Its default userid & password is ncadmin & ncadmin. ============================================================================================ Net Commerce provides a cgi-bin-like environment that run commands that the Net Commerce Front End webserver may call. The srvrctrl process spawns and controls N number of worker bees, that do the actual work of each call. Each of these srvrctrl & server processes, establish and maintain a connection to the Net Commerce database. Here are the different Net.Commerce processes, These 3 lines are just shorthand for what is here. On the system, you'll see the directory names all spelled out. NC_bin_Dir=/usr/lpp/NetCommerce3/bin (Net Commerce version 3.2) or in Japan, NC_bin_Dir=/usr/lpp/CommerceSuite/bin (CommerceSuite version 4.1) HTTP_Pub_Dir=/usr/lpp/internet/server_root/pub log_Dir=/arc/NetCommerce3/instance/patents/logs Userid PID PPID Program inst1 59476 1 $NC_bin_Dir/srvrctrl -i $HTTP_Pub_Dir (The daddy) inst1 41270 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_1 inst1 51146 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_2 inst1 49256 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_3 inst1 52398 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_4 inst1 56248 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_5 inst1 34930 59476 $NC_bin_Dir/server -i $HTTP_Pub_Dir/ncommerce.conf -s ncpatents_6 inst1 67218 59476 $NC_bin_Dir/back_server -i $HTTP_Pub_Dir/ncei_servers.conf -s ncei_servers_1 The srvrctrl process is started out of /etc/rc.local by this line nohup /usr/bin/su - inst1 -c $NC_bin_Dir/srvrctrl -i $HTTP_Pub_Dir/srvrctrl.conf & or in Japan, nohup /usr/bin/su - inst1 -c $NC_bin_Dir/srvrctrl -i /usr/lpp/CommerceSuite/instance/patents/config/srvrctrl.conf & Its control file is at $HTTP_Pub_Dir/srvrctrl.conf, and logs stuff to $log_Dir/controlyyyymmddhhmmss_.log (e.g. $log_Dir/control19991026033405_59476.log) The config file also has this line in it CONTROL_POOL_CONFIG $HTTP_Pub_Dir/ncommerce,$HTTP_Pub_Dir/ncei_servers which says to look at the $HTTP_Pub_Dir/ncommerce.conf and $HTTP_Pub_Dir/ncei_servers.conf files. The $HTTP_Pub_Dir/ncommerce.conf file (or in Japan, /usr/lpp/CommerceSuite/instance/patents/config/ncommerce.conf), has EXEC $NC_bin_Dir/server and PROCESSES 6 which says to run 6 of those server processes. It also has MS_LOGPATH $log_Dir which writes bunches of $log_Dir/ncommerceyyyymmddhhmmss_.log files (e.g. $log_Dir/ncommerce19991021033407_43672.log) It also has MS_TRANS_COUNT 250 which says to end these server processes, once they've processed 250 transactions. When they've hit that limit, you'll see ERROR CMN0216E: The maximum number of allowed transactions has been reached. as the last line in the log file. There's other interesting stuff in that ncommerce.conf, too, like DBNAME ncjapan DBINST inst1 DBOWNER inst1 DBPASS qkJsX8NPupPD4eHEqopejA== DB_HOST ips03i DB_NODE ips03i DB_REMOTE ON The $HTTP_Pub_Dir/ncei_servers.conf file has EXEC $NC_bin_Dir/back_server and PROCESSES 1 which says to run 1 of these back_server processes. This is the interface to Kin's MQ Series stuff on the Image Servers. It logs to $log_Dir/ncei_serversyyyymmddhhmmss_.log (e.g. $log_Dir/ncei_servers19991026033408_67218.log) For 10-28-1999, here were the number of times each servlet was called on ar0079e0. 86 IPNModifyOrder 62 IPNErrorMissingAttribute 51 IPNManageOrders 27 IPNManageIPNfB 12 IPNLoginAdmin 6 IPNShowCCReject 6 IPNShowCCBilling 5 IPNVoidOrder 4 IPNAdminServlet 2 IPNManageUsers 1 IPNCreditOrderItems --- 262 On 12-10-2001, here were the number of times each Net Commerce program was called in Japan, 382 SetAccountData 117 GetAccountData 81 AddUser 72 DelUser 68 MarkAccountData --- 720 =================================================================================== Jim has his Net Commerce mail logs at /home/ipnuser/logs on dephds068. They're run out of ipnuser's crontab. =================================================================================== The IPNfB site uses /dfs/.rw/patent/gold/IPNfB.pwd for its password file. =================================================================================== Here's a script I cobbled together one day to monitor the Net.Commerce processes. We were having troubles with them dying, so I wanted to know when one of them died, and when they did, to know which one (ncpatents_1-6) of them died, and what their PID was. That way, I'd know which log file to look at. Note that it's normal for these ncpatents to recycle periodically, after every 250 transactions. #!/bin/ksh start_count=$(ps -ef | grep Net | grep '/server ' | wc -l) details=$(ps -ef | grep Net | grep '/server ' | awk '{print $12"="$2}' | sort) echo "Starting with these $start_count, \n "$details" ..." while [[ $(ps -ef | grep Net | grep '/server ' | wc -l) = $start_count ]] do echo "Still have $start_count at $(date '+%T') and /arc is $(df -k /arc |tail -1| awk '{print $4}') used ..." if [[ $(ps -ef | grep Net | grep '/server ' | awk '{print $12"="$2}' | sort) != $details ]] then old_details=$details details=$(ps -ef | grep Net | grep '/server ' | awk '{print $12"="$2}' | sort) echo "PID's have changed\nfrom "$old_details"\n to "$details fi sleep 60 done echo "Lost a /usr/lpp/NetCommerce3/bin/server process at $(date)." echo "Here are the details from when I last had $start_count,\n "$details" ..." echo "Here's what we have now\n "$(ps -ef | grep Net | grep '/server ' | awk '{print $12"="$2}' | sort) # Beep at him every 3 seconds 'till he kills me. Don't space while beeping. while print -n '\a\a\a\a\a\a\a\a\a\a' do sleep 3 done =================================================================================== When switching a Net Commerce, front-end web server from connecting to a local database, to a remote database, you have to run the Net Commerce Configuration Manager tool. As root on the Net Commerce Front End machine (eg baboon), - export DISPLAY=jasper:0.0 - cd /usr/lpp/CommerceSuite/server/bin - ./start_config (You cannot combine this with the cd above) Be warned that this Java client is very S L O W !!! - The Logon ID/Password is webadmin/webadmin_password, then click OK. - Click the "Settings" button On this screen, there are "Database Options" to "Use remote database" and if checked, the "Remote Database location" and "Remote Database Node Name" windows are unlocked. It looks like it changes things in the ncommerce.conf file in the /usr/lpp/CommerceSuite/instance/japio/config directory, i.e. DB_HOST DB_NODE DB_REMOTE OFF instead of DB_HOST giraffe.delphion.com DB_NODE giraffe DB_REMOTE ON