Note: this function is no longer supported with 2.7 release of xCAT or later.
To use the xCAT zVM GUI, refer to the xCAT documentation page [XCAT_Documentation] section on using
zVM in xCAT xCAT Linux Cluster with zVM & zLinux.
The xCAT web interface requires the following packages installed on the management node (short as MN):
The information for downloading xCAT and xCAT-UI packages can be accessed from xCAT website: http://xcat.sf.net. If you are using xCAT to manage your cluster, you should know how to get and install the xCAT and xCAT-UI packages.
IBM HTTP Server V6.1 or higher is required, which can be downloaded from the "IBM HTTP Server" web site. IBM HTTP Server is based on the Apache HTTP Server, developed by the Apache Software Foundation. There're many third-party modules written for Apache 2.0 that can be used for IBM HTTP Server. IBM HTTP Server is available for use free of charge but without IBM support. It's not packaged into the xCAT-web-dep rpm package because of the underlying legal issues.
The AIX platform lacks of many packages for PHP support, so the package "xCAT-web-dep" is created to include all the possible packages for PHP support. Besides, the PHP rpm package is also included into the xCAT-web-dep package.
In order to support php, we also have to install several rpm packages on Linux. However, they are different on RHEL and SLES. On RHEL, "php" is used to support php; but on SLES, "apache2-mod_php5" and "php5" are used to support php.
After the "IBM HTTP Server for AIX" (Version 6.1.0.0 is preferred) package is downloaded from the "IBM HTTP Server" web site, you can unzip it and get the directory named "IHS_6.1.0.0". Then, please follow the install guide in the directory "IHS_6.1.0.0/IHS/docs". The latest IHS version is 7.0, you might encounter an operating system detection error message when installing it on AIX 7.1. You should follow the workaround to install IHS on AIX 7.1
From the web page "Browse Files for xCAT on sourceforge.net", you can find the xCAT-web-dep package under "xcat-dep" => "2.x_AIX". The current build is xcat-web-dep-2.3-200907141002.tar.gz.
You can unzip this tar ball, and get the directory named "xcat-web-dep", which contains all the xCAT-UI dependencies. In the directory, you can find the README file, and several rpm packages to be installed.
The php-related rpm packages have different names on Redhat and SuSE. You have to handle these two distributions separately.
Note: The following command should also work on Fedora.
yum install php
Note: The followding command should also work on SLES 10.x and OpenSuSE.
zypper install apache2-mod_php5 php5 php5-openssl
use
rpm -ql apache2-mod_php5
to find the mod_php5.so and php5.conf, add the following line into the head of php5.conf.
LoadModule php5_module /usr/lib64/apache2/mod_php5.so
may be the path of mod_php5.so is different from the example.
The xCAT-UI-deps rpm package can be found on the website [sourceforge.net/projects/xcat/files/xcat-dep/2.x_AIX AIX-xcat-dep] or Linux-xcat-dep, you can use the "rpm -ivh" command or use yum to install xCAT-UI-deps.
rpm -ivh xCAT-UI-deps*.rpm
or
yum install xCAT-UI-deps
The latest xCAT-UI rpm package can be found on the website AIX xCAT-UI or Linux xCAT-UI, you can use the "rpm -ivh" command or use yum to install xCAT-UI.
rpm -ivh xCAT-UI*.rpm
or
yum install xCAT-UI
Note: If the php-related rpm packages are not installed as chapter 1.3 describes, the installation of xCAT-UI will be failed.
During the installation of xCAT-UI rpm package, the encrypted password of the system "root" user has been put into the xCAT passwd database. You can use the following command to have a check:
tabdump passwd
You should see at least one line, which contains the account information for the web interface. On SLES, you can see that the account information locates in the 4th line, which starts with "xcat".
#key,username,password,comments,disable
"system","root","cluster",,
"omapi","xcat_key","MXBzOExuQUo0QlFrZWJtbVFWVzl4OEdYT0ExQTF1cFA=",,
"xcat","root","$2a$10$FBaEMr4J5jZ6092.4B6bdutgezyo3lmN1UrYoxrYAIlRSvWl5HJya",,
The https protocol is enabled by default on RHEL, Fedora. You don't need to configure it manually.
There's one document "Apache Howto SSL" on OpenSuSE's website, the same procedure works for SLES.
There are two Technotes "Guide to properly setting up SSL within the IBM HTTP Server" and "Using the Key Management Utility"on IBM HTTP Server website.
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <filename>.kdb -pw <password> -type cms -expire <days> -stash
java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <dB_name>.kdb -pw <password> -size <1024 | 512> -dn<distinguished name> -label <label> -default_cert <yes or no>
Note: -label: Enter a descriptive comment used to identify the key and certificate in the database.
-dn: Enter an X.500 distinguished name. This is input as a quoted string of the following format (Only CN, O, and C are required): CN=common_name, O=organization, OU=organization_unit, L=location, ST=state, province, C=country
Example: "CN=weblinux.raleigh.com,O=temp,OU=temp,L=RTP,ST=NC,C=US"
* Configure the httpd.conf to create a virtual host.
Listen 443
Keyfile "/usr/IBM/HTTPServer/temp/XXX.kdb"
<VirtualHost *:443>
SSLEnable
SSLClientAuth None
SSLV2Timeout 100
SSLV3Timeout 5000
</VirtualHost>
SSLDisable
apachectl -k restart
Point your browser (Firefox, Chrome, or Safari) to https://<ip>/xcat , to see whether "https://" works or not.
One more thing, because the SSL certificate is self-signed, you may meet the warning message in your 1st time to isit your HTTP server by "https://" protocol. The warning message shows "The certificate for this website is invalid", or "The site's certificate is not-trusted", or some other similar warnings, which depends on your web browser.
For such a situation, please feel free to import the certificate into your browser, and the warning message won't show again.
Due to some compatibility issue, Internet Explorer is not permitted to access the xCAT web interface. Mozilla Firefox, Google Chrome and Apple Safari can be used to access the xCAT web interface.
To add non-root users to be able to use the web interface, do the following.
First setup the non-root user as an xCAT user following this documentation. This will allow them to also use the CLI interface. If planning to use xdsh/xdcp or commands that use xdsh/xdcp (e.g. updatenode) then also follow the procedure in this document for setting up xdsh/xdcp for the non-root user. [Granting_Users_xCAT_privileges]
Next do the following:
tabch username=myuser passwd.key=xcat passwd.password=mypassword
tabch priority=6.10 policy.name=myuser policy.rule=allow policy.comments="privilege:root"
If 6.10 is already used, pick another unused number. It does not matter which number.
If you want to limit the commands the non-root user can run, for example only xdsh , then update the policy table commands attribute with the list of commands. Note you must always have authcheck in the list, if you put any commands in the list.
tabch priority=6.10 policy.commands="authcheck,xdsh"
TODO
Wiki: Granting_Users_xCAT_privileges
Wiki: XCAT_Documentation