{"id":2483,"date":"2013-10-12T09:17:56","date_gmt":"2013-10-12T01:17:56","guid":{"rendered":"http:\/\/rmohan.com\/?p=2483"},"modified":"2013-10-12T20:29:23","modified_gmt":"2013-10-12T12:29:23","slug":"ibm-http-server","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=2483","title":{"rendered":"IBM HTTP Server"},"content":{"rendered":"<p>IBM HTTP Server<\/p>\n<p>Installation<\/p>\n<p>Ensure you have the IBM Developer Kit, Java Technology Edition Version 1.4, installed on your machine. Files included<\/p>\n<p>* gskit.sh<br \/>\n* setup.jar<br \/>\n* A GSKit run-time executable:<br \/>\n* Linux for Intel: gsk7bas_295-7.0-1.10.i386.rpm<br \/>\nGo to the directory where you uncompressed the install image and type<br \/>\njava -jar setup.jar<br \/>\nTo do a silent installation, type:<br \/>\njava -jar setup.jar -silent -options silent.res<br \/>\nTo customize the install options, edit the silent.res text file. All options are set to true<br \/>\nby default. To disable an option, set its value to false<br \/>\n* Choose the language in which to run the installation.<br \/>\n* The license agreement accept<br \/>\n* The default directory : \/opt\/IBMHIHS\/<br \/>\n* Type of installation : typical<br \/>\ncd IHS<\/p>\n<p>.\/install launches the installer HTTP Server 6.0<\/p>\n<p>Accept License agreement<br \/>\nNext<\/p>\n<p>Install Directory Directory name<br \/>\n\/opt\/IBMIHS<\/p>\n<p>Select Custom<br \/>\nProduct Installation<br \/>\nHTTPServer base<br \/>\nSecurity<\/p>\n<p>Click Next<\/p>\n<p>IBM Http Server communicates using the port numbers below<\/p>\n<p>HTTP Port 80<br \/>\nHTTP Administration Port 8008<\/p>\n<p>Click Next<\/p>\n<p>IBM HTTP Server 6.0 will be installed in the following location:<br \/>\n\/opt\/IBMIHS with the following features:<br \/>\nHTTPServer base Security<\/p>\n<p>Next<\/p>\n<p>Installalation Completed<br \/>\nThen a checkbox to launch the Websphere Application server<br \/>\nlaunch the WebSphere Application Server &#8211; Plugin Install<br \/>\nUninstall the IBM http Server<br \/>\nGo to the directory where you installed the IBM HTTP Server. Change to the_uninst directory<br \/>\nType java -jar uninstall.jar<br \/>\nSilent uninstall type java -jar uninstall.jar -silent<br \/>\nLooking at known problems on the UNIX platform<\/p>\n<p>Getting the suexec module to work<br \/>\nThe suexec module does not work unless IBM HTTP Server V2.0 is installed to the default location.<br \/>\nRunning the \/&lt;ihs install root&gt;\/bin\/httpd command<br \/>\nSource the \/&lt;ihs install root&gt;\/bin\/envvars file first to ensure you can run the \/&lt;ihs install root&gt;\/bin\/httpd command to start the IBM HTTP Server. To source the envvars file, enter . \/&lt;ihs install root&gt;\/bin\/envvars at the<br \/>\ncommand line. The envvars file contains the path to the libraries needed to run the \/&lt;ihs install root&gt;\/bin\/httpd command.<br \/>\nhttp:\/\/publib.boulder.ibm.com\/infocenter\/wasinfo\/v6r1\/index.jsp?topic=\/com.ibm.websphere.ihs.doc\/info\/welcome_ihs.html<\/p>\n<p>Enabling access to the administration server using the htpasswd utility<\/p>\n<p>The administration server is installed with authentication enabled. This means that the administration server will not accept a connection without a valid user ID and password. This is done to protect the IBM HTTP Server<br \/>\nconfiguration file from unauthorized access.<\/p>\n<p>Procedure<br \/>\nLaunch the htpasswd utility that is shipped with the administration server. This utility creates and updates the files used to store user names andpassword for basic authentication of users who access your Web server. Locate htpasswd in the bin directory.<br \/>\n.\/htpasswd -cm &lt;install_dir&gt;\/conf\/admin.passwd [login name]<br \/>\nwhere &lt;install_dir&gt; is the IBM HTTP Server installation directory and [login name] is the user ID that you use to log into the administration server.<br \/>\nResults<br \/>\nThe password file is referenced in the admin.conf file with the AuthUserFile directive.<\/p>\n<p>Running the setupadm script (\/opt\/IBMIHS\/bin\/setupadm)<\/p>\n<p>The setupadm script establishes permissions for configuration file updates. About this task<\/p>\n<p>You cannot update the configuration files after a default server installation, unless you run the setupadm script, or you set permissions manually.<\/p>\n<p>The setupadm script prompts you for the following input:<\/p>\n<p>* User ID &#8211; The user ID that you use to log on to the administration server. The script creates this user ID.<br \/>\n* Group name &#8211; The administration server accesses the configuration files and authentication files<br \/>\nthrough group file permissions. The script creates the specified group through this script.<br \/>\n* Directory &#8211; The directory where you can find configuration files and authentication files.<br \/>\n* File name &#8211; The following file groups and file permissions change:<br \/>\no Single file name<br \/>\no File name with wildcard<br \/>\no All (default) &#8211; All of the files in the specific directory<br \/>\no Processing &#8211; The setupadm script changes the group and file permissions of the configuration files<br \/>\nand authentication files.<br \/>\nThe administration server requires read and write access to configuration files and authentication files to perform Web server configuration data administration. In addition to the Web server files, you must change the<br \/>\npermissions to the targeted plug-in configuration files.<br \/>\nSetting Permissions manually<\/p>\n<p>Once you have created a user and group, set up file permissions as follows:<\/p>\n<p>1. Update the permissions for the targeted IBM HTTP Server conf directory.<br \/>\nAt a command prompt, change to the directory where you installed IBM HTTP Server.<br \/>\nType the following commands:<br \/>\nchgrp &lt;group_name&gt; &lt;directory_name&gt;<br \/>\nchmod g+rw &lt;directory_name&gt;<\/p>\n<p>2. Update the file permission for the targeted IBM HTTP Server configuration files.<br \/>\nAt a command prompt, change to the directory that contains the configuration files.<br \/>\nType the following commands:<br \/>\nchgrp &lt;group_name&gt; &lt;file_name&gt;<br \/>\nchmod g+rw &lt;file_name&gt;<\/p>\n<p>3. Update the admin.conf configuration file for the IBM HTTP Server administration server.<br \/>\nChange to the IBM HTTP Server administration server admin.conf directory.<br \/>\nSearch for the following lines in the admin.conf file:<\/p>\n<p>User nobody<br \/>\nGroup nobody<\/p>\n<p>3. Change those lines to reflect the user ID and unique group name<\/p>\n<p>4. Update the file permission for the targeted plug-in configuration files.<br \/>\n1. At a command prompt, change to the directory that contains the plug-in configuration files.<br \/>\n2. Type the following commands:<br \/>\nchgrp &lt;group_name&gt; &lt;file_name&gt;<br \/>\nchmod g+rw &lt;file_name&gt;<\/p>\n<p>Key differences from the Apache HTTP Server<\/p>\n<p>IBM HTTP Server is based on the Apache HTTP Server. IBM HTTP Server includes the following additional features not available in the Apache HTTP Server:<\/p>\n<p>Support for the WebSphere administrative console.<br \/>\nInstallShield for multiple platforms enables consistent installation of the IBM HTTP Server on different platforms.<br \/>\nDynamic content generation with FastCGI.<br \/>\nOperational differences between Apache and IBM HTTP Server<br \/>\nThe apachectl command is the only supported command to start IBM HTTP Server. You cannot directly invoke the httpd command because it will not find the required libraries. The apachectl command is the preferred command to start Apache V2.0 and higher, but the httpd command might work on the Apache server as expected, depending on the platform and how Apache was built. You can specify httpd options on the apachectl command line.<br \/>\nIBM HTTP Server supports the suEXEC program, which provides for execution of CGI scripts under a particular user ID.<br \/>\nIf you use the suEXEC program, you must install the IBM HTTP Server to the default installation directory only. The suEXEC program uses the security model which requires that all configuration paths are hard-coded in theexecutable file, and the paths chosen for IBM HTTP Server are those of the default installation directory.<br \/>\nWhen an Apache user chooses an installation location for Apache at compile time, the suEXEC program is pre-built with the chosen paths, so this issue is seen by the Apache users.<br \/>\nCustomers need to use the suEXEC program with arbitrary configuration paths can build it with Apache on their platform and use the generated suEXEC binary with IBM HTTP Server. Customers must save and restore their custom suEXEC file when applying IBM HTTP Server maintenance.<\/p>\n<p>Configuring IBM HTTP Server<\/p>\n<p>Special considerations for IBM HTTP Server.<br \/>\nThe IBM HTTP Server and administration server configuration files, httpd.conf and admin.conf respectively, support only single-byte characters (SBCS). This restriction applies to all operating system platforms.<\/p>\n<p>Learn about FastCGI<\/p>\n<p>FastCGI is an interface between Web servers and applications which combines some of the performance characteristics of native Web server modules with the Web server independence of the Common Gateway Interface (CGI) programming interface. IBM HTTP Server provides FastCGI support with the mod_fastcgi module. The mod_fastcgi module implements the capability for IBM HTTP Server to manage FastCGI applications and to allow them to process requests.<\/p>\n<p>A FastCGI application typically uses a programming library such as the FastCGI development kit from http:\/\/www.fastcgi.com\/. IBM HTTP Server does not provide a FastCGI programming library for use by FastCGI applications.<\/p>\n<p>Example of mod_fastcgi configuration<\/p>\n<p>Load the mod_fastcgi module into the server, and then configure FastCGI using the FastCGI directives.<br \/>\nThe following directive is required to load mod_fastcgi into the server<br \/>\nLoadModule fastcgi_module modules\/mod_fastcgi.so<\/p>\n<p>A complete configuration example for UNIX and Linux platforms. In this example, the \/opt\/IBM\/HTTPServer\/fcgi-bin\/ directory contains FastCGI applications, including the echo.exe application. Requests from Web browsers for the \/fcgi-bin\/echo URI will be handled by the FastCGI echo.exe application<\/p>\n<p>LoadModule fastcgi_module modules\/mod_fastcgi.so<br \/>\n&lt;IfModule mod_fastcgi.c&gt;<br \/>\nScriptAlias \/fcgi-bin\/ &#8220;\/opt\/IBM\/HTTPServer\/fcgi-bin\/&#8221;<\/p>\n<p>&lt;Directory &#8220;\/opt\/IBM\/HTTPServer\/fcgi-bin\/&#8221;<br \/>\nAllowOverride None<br \/>\nOptions +ExecCGI<br \/>\nSetHandler fastcgi-script<br \/>\n&lt;\/Directory&gt;<\/p>\n<p>FastCGIServer &#8220;\/opt\/IBM\/HTTPServer\/fcgi-bin\/echo&#8221; -processes 1<br \/>\n&lt;\/IfModule&gt;<\/p>\n<p>IBM HTTP Server remote administration<br \/>\nIBM HTTP Server remote administration using WebSphere Application Server Network Deployment: You can administer and configure IBM HTTP Server using the WebSphere Administrative Console. The IBM HTTP Server installation includes the IBM administration server, which installs by default during a typical IBM<br \/>\nHTTP Server installation. When you install IBM HTTP Server on a machine without the WebSphere Application Server, the IBM administration server is necessary for administration. In order for the IBM administration server to handle requests for the administration of IBM HTTP Server, the IBM administration server must be started and defined to an unmanaged WebSphere Application Server node. Administration of IBM HTTP Server is available without the IBM administration server if the IBM HTTP Server is installed on a machine with a WebSphere managed node.<\/p>\n<p>You must define IBM HTTP Server through the WebSphere administrative console. Once defined, an administrator can administer and configure IBM HTTP Server through the WebSphere administrative console. Administration includes the ability to start and stop the IBM HTTP Server. You can display and edit the<br \/>\nIBM HTTP Server configuration file, and you can view the IBM HTTP Server error and access logs. The plug-in configuration file can be generated for IBM HTTP Server and propagated to the remote or locally-installed IBM HTTP Server.<\/p>\n<p>On Linux platforms &#8211; troubleshooting:<br \/>\n\/opt\/IBM\/HTTPServer\/logs\/error_log<br \/>\nSetting Up SSL and Certs<br \/>\nhttp:\/\/publib.boulder.ibm.com\/infocenter\/wasinfo\/v6r0\/index.jsp<\/p>\n<p>Steps for this task<\/p>\n<p>Use the IBM HTTP Server IKEYMAN utility to create a CMS key database file and self signed server certificate.<br \/>\nEnable SSL directives in the IBM HTTP Server httpd.conf configuration file .<br \/>\nUncomment the LoadModule ibm_ssl_module modules\/mod_ibm_ssl.so configuration directive.<br \/>\nCreate an SSL virtual host stanza in the httpd.conf file using the following examples and directives.<\/p>\n<p>LoadModule ibm_ssl_module modules\/mod_ibm_ssl.so<br \/>\n&lt;IfModule mod_ibm_ssl.c&gt;<br \/>\nListen 443<br \/>\n&lt;VirtualHost *:443&gt;<br \/>\nSSLEnable<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;\/IfModule&gt;<br \/>\nSSLDisable<br \/>\nKeyFile &#8220;c:\/Program Files\/IBM HTTP Server\/key.kdb&#8221;<\/p>\n<p>&nbsp;<\/p>\n<p>Setting up SSL enabled https<\/p>\n<p>On Sql,<br \/>\n\/opt\/IBMIHS\/conf\/http.conf.sql<\/p>\n<p>Edit the file to include<br \/>\nServerName sql<br \/>\nServerRoot &#8220;\/opt\/IBMIHS&#8221;<br \/>\nLoadModule ibm_ssl_module modules\/mod_ibm_ssl.so<\/p>\n<p>&lt;IfModule mod_ibm_ssl.c&gt;<br \/>\nListen 443<br \/>\n&lt;VirtualHost *:443&gt;<br \/>\nSSLEnable<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;\/IfModule&gt;<br \/>\nSSLDisable<br \/>\nKeyFile &#8220;\/opt\/IBMIHS\/keys\/key.kdb&#8221;<br \/>\nUser wasadmin<br \/>\nGroup wwwwas<\/p>\n<p>DocumentRoot &#8220;\/opt\/IBMIHS\/htdocs\/en_US&#8221;<br \/>\nServerAdmin seela@cse.yorku.ca<br \/>\nTo generate the key.kdb file \/opt\/IBMIHS\/bin\/ikeyman sets up a graphical interface<br \/>\nSelect Key Database File<br \/>\nNew<br \/>\nGui: key database type &#8211; select CMS<br \/>\nFilename key.kdb<br \/>\nLocation: \/opt\/IBMIHS\/keys<br \/>\nPasswd : root passwd<br \/>\nConfirm<\/p>\n<p>Set expiration time: 1460 Days<br \/>\nStash the password file:<br \/>\nTwo files are generated:<br \/>\nkey.kdb<br \/>\nkey.sth<\/p>\n<p>But now start the apache server \/opt\/IBMIHS\/bin<br \/>\n.\/apachectl -k stop<br \/>\n.\/apachectl -k start -f \/opt\/IBMIHS\/conf\/httpd.conf.sql<\/p>\n<p>Testing the web browser https:\/\/sql.cs.yorku.ca will not work<\/p>\n<p>Disabled the firewall<br \/>\n\/sbin\/iptables -F<br \/>\n(-F option is to flush the tables)<\/p>\n<p>Now we can connect<\/p>\n<p>Add firewalls rules<br \/>\n\/etc\/sysconfig\/iptables &#8211; added the following lines<br \/>\n-A RH-Firewall-1-INPUT -s 192.168.9.0\/255.255.255.0 -p tcp -m tcp &#8211;tcp-flags SYN,RST,ACK SYN -j ACCEPT<br \/>\n-A RH-Firewall-1-INPUT -s 192.168.9.0\/255.255.255.0 -p tcp -m tcp &#8211;tcp-flags SYN,RST,ACK SYN -j ACCEPT<br \/>\n-A RH-Firewall-1-INPUT -s 192.168.9.0\/255.255.255.0 -p tcp -m tcp &#8211;tcp-flags SYN,RST,ACK SYN -j ACCEPT<br \/>\n-A RH-Firewall-1-INPUT -s 192.168.9.0\/255.255.255.0 -p tcp -m tcp &#8211;tcp-flags SYN,RST,ACK SYN -j ACCEPT<\/p>\n<p>&nbsp;<\/p>\n<p>Secure Sockets Layer protocol<br \/>\nSSL ensures the data that is transferred between a client and a server remains private. This protocol enables the client to authenticate the identity of the server. SSL Version 3, requires authentication of the client identity.<br \/>\nWhen your server has a digital certificate, SSL-enabled browsers can communicate securely with your server, using SSL<br \/>\nSSL uses a security handshake to initiate a secure connection between the client and the server.<br \/>\nDuring the handshake, the client and server agree on the security keys to use for the session<\/p>\n<p>After the handshake, SSL encrypts and decrypts all the information in both the HTTPS request and the server response, including:<\/p>\n<p>* The URL requested by the client<br \/>\n* The contents of any submitted form<br \/>\n* Access authorization information, like user names and passwords<br \/>\n* All data sent between the client and the server<\/p>\n<p>HTTPS represents a unique protocol that combines SSL and HTTP. Specify https:\/\/ as an anchor in HTML documents that link to SSL-protected documents<br \/>\nA client user can also open a URL by specifying https:\/\/ to request an SSL-protected document.<\/p>\n<p>Because HTTPS (HTTP + SSL) and HTTP are different protocols and use different ports (443 and 80, respectively), you can run both SSL and non-SSL requests simultaneously. This capability enables you to provide information to users without security, while providing specific information only to browsers making<br \/>\nsecure requests.<\/p>\n<p>Uninstalling the IBM HTTP Server<\/p>\n<p>This section contains procedures for uninstalling the IBM HTTP Server. The uninstaller program is customized for each product installation, with specific disk locations and routines for removing installed features. The uninstaller program does not remove configuration and log files<\/p>\n<p>Steps for this task<br \/>\n1. Stop IBM HTTP Server.<br \/>\n2. Change directories to the directory where you installed the IBM HTTP Server, then go to the<br \/>\n_uninst directory<br \/>\n3. Double-click uninstall to launch the uninstaller program. You can also choose to do a silent uninstall<br \/>\nby running the uninstall -silent command. The uninstall process on Linux and UNIX systems does<br \/>\nnot automatically uninstall the GSKit. You have to uninstall the GSKit manually by using the<br \/>\nnative uninstall method.<br \/>\n4. Click Next to begin uninstalling the product.The Uninstaller wizard displays a Confirmation panel that<br \/>\nlists the product and features that you are uninstalling<br \/>\n5. Click Next to continue uninstalling the product. The Uninstaller wizard deletes existing profiles first.<br \/>\nAfter deleting profiles, the Uninstaller wizard deletes core product files by component.<br \/>\n6. Click Finish to close the wizard after the wizard removes the product.<\/p>\n<p>Result<\/p>\n<p>The IBM HTTP Server uninstallation is now complete. The removal is logged in the ihs_install_directory\/ihsv6_uninstall.log file.<br \/>\nStarting and stopping IBM HTTP Server<\/p>\n<p>You can use the WebSphere administrative console to start and stop IBM HTTP Server. You can also use commands. See the following topics for more information:<br \/>\nChoose to do a silent uninstall by running the uninstall -silent command. The uninstall process on Linux and UNIX systems does not automatically uninstall the GSKit. You have to uninstall the GSKit manually by using the native uninstall method.<br \/>\nClick Next to begin uninstalling the product.The Uninstaller wizard displays a Confirmation panel that lists the product and features that you are uninstalling.<br \/>\nClick Next to continue uninstalling the product. The Uninstaller wizard deletes existing profiles first. After deleting profiles, the Uninstaller wizard deletes core product files by component.<br \/>\nClick Finish to close the wizard after the wizard removes the product.<\/p>\n<p>Result<\/p>\n<p>The IBM HTTP Server uninstallation is now complete. The removal is logged in the ihs_install_directory\/ihsv6_uninstall.log file.<br \/>\nYou can use the WebSphere administrative console to start and stop IBM HTTP Server. You can also use commands. See the following topics for more information:<\/p>\n<p>* Starting and stopping IBM HTTP Server with the WebSphere Application Server administrative console<br \/>\n* Starting IBM HTTP Server on Linux and UNIX platforms<br \/>\n* Starting IBM HTTP Server on Windows operating systems<\/p>\n<p>Starting IBM HTTP Server on Linux and UNIX platforms<\/p>\n<p>* \/opt\/IBMIHS\/bin\/apachectl start|stop<\/p>\n<p>To start IBM HTTP Server using an alternate configuration file, run the<br \/>\napachectl -k start -f path_to_configuration_file command.<br \/>\nTo stop IBM HTTP Server using an alternate configuration file, run the<br \/>\napachectl -k stop -f path_to_configuration_file command<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IBM HTTP Server<\/p>\n<p>Installation<\/p>\n<p>Ensure you have the IBM Developer Kit, Java Technology Edition Version 1.4, installed on your machine. Files included<\/p>\n<p>* gskit.sh * setup.jar * A GSKit run-time executable: * Linux for Intel: gsk7bas_295-7.0-1.10.i386.rpm Go to the directory where you uncompressed the install image and type java -jar setup.jar To do a silent [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/2483"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2483"}],"version-history":[{"count":1,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/2483\/revisions"}],"predecessor-version":[{"id":2484,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/2483\/revisions\/2484"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}