version 1.11, 2003/08/07 18:25:56
|
version 1.18, 2004/03/10 17:52:07
|
|
|
Tagline: OpenPegasus is an object manager for DMTF CIM objects written in C++ | Tagline: OpenPegasus is an object manager for DMTF CIM objects written in C++ |
and supported by The Open Group | and supported by The Open Group |
| |
STATUS: Revised June 2003 to match Pegasus release 2.2 |
STATUS: Revised March 10 to match Pegasus release 2.3 |
|
|
|
NOTE: Obsolete. See readme.html |
Contents: | Contents: |
========= | ========= |
| |
|
|
14. Development with Pegasus and Pegasus Tools | 14. Development with Pegasus and Pegasus Tools |
15. Commands | 15. Commands |
16. Creating SSL certifications. | 16. Creating SSL certifications. |
17. Documentation |
17. Configuring Pegasus to use SSL |
18. Participate |
18. Configuring Pegasus to use PAM |
|
19. Testing with ICU enabled |
|
20. Documentation |
|
21. Participate |
| |
| |
| |
|
|
| |
1. GNUMAKE - To simplify the building of Pegasus across multiple platforms we | 1. GNUMAKE - To simplify the building of Pegasus across multiple platforms we |
have standardized on a set of build tools including: GNUMAKE. We are using | have standardized on a set of build tools including: GNUMAKE. We are using |
GNUMAKE 4.79.1 successfully both in Windows and Linux environments. |
GNUMAKE 3.79.1 successfully both in Windows and Linux environments. |
| |
GNUMAKE is available from | GNUMAKE is available from |
| |
|
|
DevManual Source and build files for developers' manual | DevManual Source and build files for developers' manual |
mak General make files (used by other makes) | mak General make files (used by other makes) |
src All Pegasus Source Files | src All Pegasus Source Files |
ACEExample Test directrory with examples of the use of ACE |
ACEExample Test directrory with examples of the use of ACE (obsolete). |
Clients Source for various test clients and client SDK | Clients Source for various test clients and client SDK |
CGICLIENT Pegasus test client that uses a WEB browser | CGICLIENT Pegasus test client that uses a WEB browser |
|
JAVA Java Client support modules |
Pegasus | Pegasus |
Client Pegasus Client API Tests | Client Pegasus Client API Tests |
depends | depends |
tests | tests |
Common Pegasus Common Functions (C++ source and headers | Common Pegasus Common Functions (C++ source and headers |
tests Test programs for the common functions | tests Test programs for the common functions |
|
Compiler Pegasus MOF compiler |
|
Config TBD |
|
Consumer TBD |
|
ControlProvidersImplementation of Pegasus internal providers |
|
ExportClient TBD |
|
ExportServer TBD |
|
Handler TBD |
|
HandlerService TBD |
|
IndicationService TBD |
|
Listener TBD |
Protocol Pegasus Client HTTP/XML Protocol Modules | Protocol Pegasus Client HTTP/XML Protocol Modules |
depends | depends |
Provider Pegasus Provider interface functions | Provider Pegasus Provider interface functions |
|
ProviderManager Provider Manager service that manages providers |
|
ProviderManager2Pluggable Provider Manager service |
Repository Pegasus Repository Interfaces and Simple Repository | Repository Pegasus Repository Interfaces and Simple Repository |
tests Tests for Repository Functions | tests Tests for Repository Functions |
|
Security TBD |
Server Pegasus Server Modules | Server Pegasus Server Modules |
|
WQL TBD |
Providers Pegasus test and required providers | Providers Pegasus test and required providers |
|
generic TBD this and following |
Utils |
IndicationConsumer |
|
Linux |
|
ManaedSystem |
|
slp |
|
statistic |
|
sample |
|
testproviders |
|
|
|
Server Pegasus executable build |
|
slp |
|
StandardIncludes |
|
tools MU and other utilities written for Pegasus support |
|
Unsupported Code that is made available but is not supported or included |
|
in the normal make. |
|
WMIMapper Pegasus implementation that implements mapping to Microsoft |
|
WMI objects. |
| |
Runtime Directories | Runtime Directories |
$PEGASUS_HOME$ Home directory for runtime. All compiler, linker | $PEGASUS_HOME$ Home directory for runtime. All compiler, linker |
|
|
16. Creating SSL certifications | 16. Creating SSL certifications |
================================ | ================================ |
| |
|
Please follow section 11, titled "Notes about Building Pegasus with SSL" |
|
before embarking on this endeavour. |
|
|
Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT | Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT |
and PEGASUS_HOME have to be set to your respective installation and source directory. | and PEGASUS_HOME have to be set to your respective installation and source directory. |
| |
|
|
EMAIL="test@email.address" | EMAIL="test@email.address" |
HOSTNAME=`uname -n` | HOSTNAME=`uname -n` |
sed -e "s/$CN/$HOSTNAME/" \ | sed -e "s/$CN/$HOSTNAME/" \ |
-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \ |
-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/src/Server/ssl.cnf \ |
> $PEGASUS_HOME/ssl.cnf | > $PEGASUS_HOME/ssl.cnf |
chmod 644 $PEGASUS_HOME/ssl.cnf | chmod 644 $PEGASUS_HOME/ssl.cnf |
chown bin $PEGASUS_HOME/ssl.cnf | chown bin $PEGASUS_HOME/ssl.cnf |
|
|
-keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem | -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem |
| |
cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem | cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem |
rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem |
|
cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem | cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem |
|
rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem |
|
|
|
17. Configuring Pegasus to use SSL |
|
================================ |
|
|
|
Please follow section 11 and 16 before reading this section. |
|
|
|
To configure Pegasus to take advantage of SSL, configure |
|
cimserver_planned.conf to have: |
|
|
|
sslTrustFilePath=client.pem |
|
sslCertificateFilePath=server.pem |
|
sslKeyFilePath=file.pem |
|
httpsPort=5989 |
|
enableHttpsConnection=true |
|
|
|
(The client.pem and server.pem are the certifications |
|
files created per the steps in the earlier section). |
|
|
|
For good riddance you might consider closing down |
|
the cleartext 5988 port. Modify your cimserver_planned.conf |
|
to include: |
|
|
|
enableHttpConnection=false |
|
|
|
18.PAM Authentication |
|
=================== |
|
|
|
In order to use PAM Authentication you have to compile Pegasus |
|
with one extra enviroment flags: |
|
|
|
PEGASUS_PAM_AUTHENTICATION=1 |
|
|
|
You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable |
|
Pegasus password authentication using a flag text-file (recommended). |
| |
|
After compiling (refer to section 17 for details), follow these two |
|
important steps: |
|
|
|
a). Copy the rpm/wbem file in-to /etc/pam.d directory. |
|
This notifies PAM what kind of libraries to use when authenticating |
|
Pegasus. |
|
b). Edit cimserver_planned.conf to include: |
|
|
|
usePAMAuthentication=true |
|
enableAuthentication=true |
|
|
|
And if you want to allow 'root' (*not recommended*) |
|
enableRemotePrivilegedUserAccess=true |
|
|
|
The user is authenticated using HTTP Basic method, thererfore it is |
|
strongly suggested you use SSL connection instead of normal HTTP connection. |
|
Refer to section 16 for more details on creating and using SSL keys. |
|
|
|
19. Testing with ICU enabled: |
|
============================== |
|
|
|
ICU (International Compoments for Unicode) refers to the set of libraries that |
|
Pegasus uses to run globalized. For example: these libraries are used to |
|
load messages in different languages, format currency and numbers according to |
|
a specific locale etc. In order to enable globalization in Pegasus, Pegasus |
|
must be built with ICU enabled, ie. the right environment variables must be |
|
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the docs |
|
directory for details. That said, when users run "make poststarttests" |
|
to verify the integrity of a Pegasus download, a series of tests are run that |
|
require the cimserver to be running. These tests currently depend on specific |
|
messages returned from the server. When ICU is enabled, all messages come |
|
from the resource bundles and these usually do not match the hardcoded |
|
default messages within Pegasus. These hardcoded default messages |
|
are what the various test programs expect in order to complete |
|
successfully. If the ICU enabled server is started without |
|
disabling message loading from the bundles, "make poststartests" will fail. |
|
In order to run "make poststarttests" successfully with ICU enabled, an |
|
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to |
|
starting the server. Once this is defined, when the cimserver starts, all |
|
messages generated will be the default hardcoded messages. This will enable |
|
"make poststarttests" to complete successfully. Once "make poststarttests" is |
|
complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. |
|
If this variable is left defined, Pegasus will not be able to load messages |
|
using ICU resource bundles. |
| |
17. Documentation: |
20. Documentation: |
=================== | =================== |
| |
The documentation is currently in preperation. The preliminary documentation | The documentation is currently in preperation. The preliminary documentation |
|
|
design documentation. | design documentation. |
| |
| |
18. Participate! |
21. Participate! |
================= | ================= |
| |
We are looking for people who want to join the Pegasus work group and | We are looking for people who want to join the Pegasus work group and |