For the past couple of mornings I been working on getting Spacewalk 1.5 to run on CentOS 6 using Oracle Express as a backend in my VMWare lab at home. The reason being is that I am looking to bring Red Hat’s Satellite product into my work environment to manage the 40+ Red Hat Enterprise Linux servers. Seeing how Spacewalk is an opensource implementation of it I figured it would be a good way to test a few things before grabbing the 30 day trial from Red Hat. I wanted to document a few gotchas that I ran into while setting this up that are not documented on Spacewalk’s wiki and how I fixed them.
The first issue I ran into was after the installation of Oracle’s 10g express edition as a back-end to Spacewalk. After the install when you are suppose to run sqlplus and connect to the database, I was getting the following error:
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
After you install the instant client and sqlplus RPMS as per the wiki, run the oracle_env.sh script in order to set Oracle’s environmental variables. which is located in:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
Add this to your profile so that way it gets ran every time you log in. In my case I copied and pasted the contents of the script to my /etc/bashrc as I am using bash by default.
The next issue that came up was during the installation of spacewalk-oracle via yum. the package failed a dependency for selinux-policy. Spacewalk wanted version 3.7.19-93 and CentOS 6 only has with 3.7.19-54. I had opened a bugzilla with spacewalk and Jan Pazdziora was nice enough to point me to this entry on the mailing list. I had to grab the source RPM for selinux-policy from RHEL 6.1 and build a binary RPM for it. After it was built and updated, the rest of the installation ran ok.
The last issue I ran into was that the osa-dispatcher and tomcat6 was not connecting to the Oracle XE instance. I kept getting TNS connection time out errors even though I can log into the XE instance with sqlplus and tns ping the database. I also noticed that I did not see any connection attempts being logged in the sqlnet.log file. After doing some research it appeared that I missing the tnsnames.ora file in /etc. I created a symlink from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/tnsnames.ora to /etc/tnsnames.ora and restarted spacewalk. I then restarted spacewalk and now everything works.
I am at the point right now where spacewalk is up and running but nothing is configured yet.