Connections uses IBM HTTP Server as a front end webserver, this is because WebSphere servers and their applications don’t listen on regular HTTP(S) ports 80/443 – each of the WebSphere servers I install will assign itself dedicated ports (see the earlier post on WebSphere installation). If I install three WebSphere servers I will have three secure and three non secure ports that the applications may be listening on. Blogs may be listening on a totally different port than Communities for instance. As you can imagine that would make it very difficult to manage and route client requests. By putting a webserver in front of the applications I can route all traffic through the standard HTTPS/443 port.
IBM HTTP Server is part of the WebSphere Supplemental installers. I extracted those files and configured my Installation Manager (IM) repository to find them
IM now has references to two repositories, the WebSphere installers and the WAS Supplemental installers.
There are a lot of programs in the supplemental package but I want to find IBM HTTP Server 126.96.36.199 so I use my filter at the top to help me find it. Make sure the “show all versions” checkbox is ticked so earlier versions like fixpack 6 display. I also want to find and install the Webserver Plugins for WebSphere as we’ll need these to integrate IHS with the installed Connections applications later.
Since I’ve chosen two products to install I need to set two directories to install into. The first directory is for the IHS server itself and this defaults to /opt/IBM/HTTPServer, you can change this if you want. I usually don’t unless there’s an issue wtih the /opt partition.
To verify and change the second directory for the web server plug-ins I have to click on that entry in the package group screen. The plugins can be installed anywhere but I’ll need to remember where I put them for later !
On the next screen I can choose the features to install. The installer will default to the correct architecture for the OS
The standard webserver port is 80 (this is for HTTP not HTTPS).
.. aaanndd IHS is installed.
I can’t run it yet and my work isn’t done. I still have to
- configure the admin interface
- add the webserver to our ISC
- configure the http server
- create a SSL keyfile and enable SSL
I’m going to go ahead and complete steps 1 and 2 now and come back to steps 3 and 4 after I have Connections installed.
Configure The Admin Interface
To set up the admin interface I need to have an account in Linux I can use.
I need to set the admin password for IHS. From the directory /opt/IBM/HTTPServer/bin I type
./htpasswd -c /opt/IBM/HTTPServer/conf/admin.passwd ihsadmin
and I will be prompted to set the admin password for ihsadmin
The command to start the admin interface is ./adminctl start but that won’t work until I complete the admin.conf configuration in the /opt/IBM/HTTPServer/conf directory
search for @ symbols that you will need to replace with ports, for example
The default admin port is 8008. To verify if I have the configuration file correct I type
To start the admin server I use
To verify it has started type netstat -tulvn |grep :8008 and I should see the server listening on that port.
Adding The WebServer To ISC
Log into the ISC at https:<hostname>:9043/ibm/console
Choose “Nodes” under “System administration”. Currently I have two nodes for the Deployment Manager and the Application server profiles I already created on the previous post where I installed WebSphere. I want to “Add Node” to add a new node.
Since I’m not adding a WebSphere server but an IHS web server there’s going to be no way for WebSphere’s Deployment Manager to actually manage it so I need to add this as an “unmanaged node”. Only WebSphere servers can be added as “managed nodes”
My unmanaged node properties are the
- Name – which is only used within the ISC itself and never presented to the users so can be anything unique
- Host Name – the host where the IHS is installed. This hostname must be resolvable from the Dmgr. In this case I installed the IHS on the same server as the Dmgr so they share a hostname
Once completed my new unmanaged node is shown in the list of nodes but as you can see the status column is empty because that column refers to WebSphere sync status and this node is not for a WebSphere server.
Now I’m ready to add my new IHS server on the new unmanaged node to ISC. Go to Servers – Server Types – Web Servers and select “New” to create a new Webserver instance
Now I can choose the unmanaged node I just created and name the server (choose webserver1 as the name if you can since WebSphere often “assumes” that) and then choose the “Type” (IBM HTTP Server always)
On the next screen I need to tell WebSphere how to connect to the admin interface of IHS. I just set that up using account ihsadmin and port 8008. If the admin service isn’t started or the ihsadmin account isn’t set up correctly WebSphere won’t be able to “talk” to IHS at all..
Since I chose IBM HTTP Server on the earlier screen WebSphere knows there’s only one template I can use.
My install is now complete and my IHS web server is now part of my WebSphere cell.