version 1.13, 2003/10/16 19:42:15
|
version 1.21, 2004/07/16 07:50:42
|
|
|
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: |
========= | ========= |
| |
|
|
8. Populate the Repository | 8. Populate the Repository |
9. The MU Utility | 9. The MU Utility |
10. Notes about Building Pegasus on Linux | 10. Notes about Building Pegasus on Linux |
11. Notes on building Pegasus with SSL |
11. Notes about Building Pegasus on Mac OS X/Darwin |
12. Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++ |
12. Notes on building Pegasus with SSL |
13. Installing the Pegasus HTML Test Client |
13. Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++ |
14. Development with Pegasus and Pegasus Tools |
14. Installing the Pegasus HTML Test Client |
15. Commands |
15. Development with Pegasus and Pegasus Tools |
16. Creating SSL certifications. |
16. Commands |
17. Testing with ICU enabled |
17. Creating SSL certifications. |
18. Documentation |
18. Configuring Pegasus to use SSL |
19. Participate |
19. Configuring Pegasus to use PAM |
|
20. Testing with ICU enabled |
|
21. Documentation |
|
22. Participate |
| |
| |
| |
|
|
will be required to have these tools. They are only required if changes need | will be required to have these tools. They are only required if changes need |
to be made to the files for parsing and compiling. | to be made to the files for parsing and compiling. |
| |
4. DOC++ - The Pegasus documentation is taken from a combination of text files |
|
|
4. DLCOMPAT - dlcompat is a dlopen(3) et.al. compatibility library for |
|
Mac OS X/Darwin. |
|
|
|
NOTE: The dlcompat is not distributed with pegasus source. |
|
|
|
dlcomapt is available from |
|
|
|
http://www.opendarwin.org/projects/dlcompat/ |
|
|
|
Again, dlcomapt needs to be installed ONLY if you are using Mac OS X/Darwin. |
|
|
|
|
|
5. DOC++ - The Pegasus documentation is taken from a combination of text files |
and the Pegasus header files themselves. This documentation is formatted | and the Pegasus header files themselves. This documentation is formatted |
with DOC++ and GAWK. These tools are required if the documentation is to | with DOC++ and GAWK. These tools are required if the documentation is to |
be recreated but we expect that only the core team will be recreating | be recreated but we expect that only the core team will be recreating |
|
|
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 |
|
|
| |
These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex | These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex |
and Bison only required if changes will be made to the MOF compiler or WQL | and Bison only required if changes will be made to the MOF compiler or WQL |
parser). |
parser),dlcompat (if using Mac OS X/Darwin). |
| |
Be sure these are on your path. | Be sure these are on your path. |
| |
|
|
No problem. Just make sure you have the environment variables set. | No problem. Just make sure you have the environment variables set. |
| |
| |
11. Notes about Building Pegasus with SSL |
11. Notes about Building Pegasus on Mac OS X/Darwin |
|
===================================================== |
|
|
|
No problem. Just make sure you have the environment variables set. |
|
|
|
|
|
12. Notes about Building Pegasus with SSL |
========================================== | ========================================== |
| |
To build with SSL you need the OpenSSL libraries and header files. Make sure | To build with SSL you need the OpenSSL libraries and header files. Make sure |
|
|
certificates" for more information of how to use SSL. | certificates" for more information of how to use SSL. |
| |
| |
12. Building Pegasus on Windows 2000 (SP3 or later recommended) or Windows XP |
13. Building Pegasus on Windows 2000 (SP3 or later recommended) or Windows XP |
With Microsoft Visual C++ | With Microsoft Visual C++ |
====================================================================== | ====================================================================== |
| |
|
|
REM setup the path to the runtime files. | REM setup the path to the runtime files. |
set path=%path%;%PEGASUS_HOME%/bin | set path=%path%;%PEGASUS_HOME%/bin |
| |
13. Installing the Pegasus HTML Test Client: |
14. Installing the Pegasus HTML Test Client: |
============================================= | ============================================= |
| |
This is a separate test tool that allows Pegasus requests to be initiated from | This is a separate test tool that allows Pegasus requests to be initiated from |
|
|
readme in the CGI directory. | readme in the CGI directory. |
| |
| |
14. Development with Pegasus and Pegasus Tools: |
15. Development with Pegasus and Pegasus Tools: |
================================================ | ================================================ |
| |
ATTN: This section needs to be completed. It should reference the more | ATTN: This section needs to be completed. It should reference the more |
|
|
ATTN: Write about providers? | ATTN: Write about providers? |
| |
| |
15. Commands: |
16. Commands: |
============= | ============= |
| |
The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on CVS) | The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on CVS) |
|
|
bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type) | bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type) |
| |
| |
16. Creating SSL certifications |
17. 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 |
|
|
|
18. 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 to have the following configuration options set to: |
|
|
|
sslTrustFilePath=client.pem |
|
sslCertificateFilePath=server.pem |
|
sslKeyFilePath=file.pem |
|
httpsPort=5989 |
|
enableHttpsConnection=true |
|
|
|
using the 'cimconfig' utility: |
|
|
|
cimconfig -p -s 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 to |
|
(using 'cimconfig') to have the option: |
|
|
|
enableHttpConnection=false |
|
|
|
19.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). Modify CIMserver configuration options: |
|
|
|
usePAMAuthentication=true |
|
enableAuthentication=true |
|
|
|
And if you want to allow 'root' (*not recommended*) |
|
enableRemotePrivilegedUserAccess=true |
|
|
|
using the 'cimconfig' operation, such as: |
|
|
|
cimconfig -p -s usePAMAuthentication=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. |
| |
17. Testing with ICU enabled: |
20. Testing with ICU enabled: |
============================== | ============================== |
| |
ICU (International Compoments for Unicode) refers to the set of libraries that | ICU (International Compoments for Unicode) refers to the set of libraries that |
|
|
If this variable is left defined, Pegasus will not be able to load messages | If this variable is left defined, Pegasus will not be able to load messages |
using ICU resource bundles. | using ICU resource bundles. |
| |
18. Documentation: |
21. Documentation: |
=================== | =================== |
| |
The documentation is currently in preperation. The preliminary documentation | The documentation is currently in preperation. The preliminary documentation |
|
|
design documentation. | design documentation. |
| |
| |
19. Participate! |
22. 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 |