Hello Centos 9 Stream

Lately Ubuntu has been driving me nuts on my one desktop. Every few weeks LivePatch makes changes to the system and it no longer boots. I’ve tried disabling updates and LivePatch, only to find the system non-bootable a few weeks later.

Hello to Centos 9 Stream (CS9). While I know Centos is not known as a desktop OS, at this point I want stability, at least with this one specific desktop. I have a laptop with Ubuntu 20.04 and (knock on wood) never had an issue with it. I knew going into CS9 I would be doing a lot of problem solving to get my desktop setup.

VirtualBox I use VirtualBox to run applications that are provided only in Windows or other OS’s. When I installed VirtualBox from the EPEL repository, I could see both v6.1 and v7.0. Both installations would fail to install. After a few hours researching the errors I found that the problem was a known issue and has a fix, it is just not been released into the repository yet. So I installed the latest stable test build, version 6.1.41.

Wayland Issues Next I went to create an Ubuntu 22.04 LTS VM. I found it frustrating that CS9 didn’t come with a lot of basic desktop applications. Even after installing the extra repositories, there were a ton of gaps. So for the short term I had the idea to create an Ubuntu VM for those apps until I could figure out how to install them dirctly in CS9. When I created the VM, the install would get about 75% complete and then just shutdown. At first I thought my desktop was going into hibernate or suspend. After several attempts with me finally taking the time to watch the full install, I realized that VirtualBox was being dumped. In /var/log/messages I found a reference to Wayland core dump and Wayland being restarted. A quick search revealed that Wayland is a display server protocol that is replacing X11, however Wayland has a lot of issues. A quick reboot and just before logging in, I could click on the configure button in the lower right hand of the screen and change the protocol back to X11. My next attempt to create the Ubuntu VM in VirtualBox completed with no issues.

GNOME Extensions Next I wanted to get the Centos UI to be more desktop friendly. GNOME Tweaks comes installed by default, so that helped. I then installed all of the GNOME Shell Extensions, “sudo yum install gnome-shell-extension*”, then rebooted. After an hour or so exploring the extensions, I ended up with the dash panel at the bottom of the screen, icons on the desktop and the top menu bar updated. So now the desktop is starting to look like a real place to get some work done.

Snap When I first started experimenting with Linux, back in the Fedora 5 days, a friend of mine said “yum is your new best friend”. Back then I think my responses was “Huh?” Well, yum is still a good friend, however Snap is quickly becoming my new BFF. After installing snap and the snap core, I found the apps that were missing from CS9. Things like Slack, Spotify, Kdenlive, Darktable, GIMP were all there.

So whats left to configure…. I need to setup the 2 printers and the photo scanner. I really like shotwell in Ubuntu for managing photos, I want to see if I can find it for CS9. I’ve got a dozen or so cron jobs that need to be setup.

Blog Technology

Configure Xwiki as Root Website

Once Xwiki is installed and running, the default URL is Which is ok and works, however I don’t like specifying the application after the website. If I typed, tomcat would display it’s default banner. Instead I really wanted Xwiki to come up.

To change this behavior I needed to make 2 changes. 1/ deploy Xwiki as ROOT in tomcat and 2/ tell Xwiki that the URL and web app doesn’t contain the /xwiki/ application.

To deploy the application as root within tomcat, I deleted tomcat/webapps/ROOT directory. I then renamed the extracted xwiki folder to ROOT and renamed the war file xwiki.war to ROOT.war.

To update xwiki I modified the xwiki.cfg file. The file is now located in tomcat/webapps/ROOT/WEB-INF directory. There were 2 variables that needed to be uncommented and updated as follows:


After that is was simply a matter of restarting tomcat with a systemctl restart tomcat.


Installing XWiki on Centos 7

With Confluence migrating to a full cloud solution and no longer supporting small user deployments, I’ve been pushed into looking at other solutions. In looking around, I liked the support surrounding Xwiki, plus I use Xwiki at work so there is familiarity to the syntax language.

To setup Xwiki, I needed to configure an RDMS and java servlet engine. Xwiki will work with a wide range of database engines and java servlet engines. For RDMS I chose mariadb and tomcat for the java servlet.

MariaDB Setup

First install the database engine:

yum install mariadb mariadb-server

Start the database and enable it on reboot:

systemctl start mariadb.service
systemctl enable mariadb.service

Log into the database.

mysql -u root

Create a database for the wiki:

create database xwiki default character set utf8;

Create a user for the application to use in accessing the database: (of course use a better password!)

create user 'wiki'@localhost identified by 'xwiki';

Grant this user access to the xwiki database:

grant all privileges on *.* to 'xwiki'@localhost indentified by 'xwiki';

You can double check the grants are correctly applied with:

show grants for 'xwiki'@localhost;

Java Setup

You need to make sure you select a java version that works with a specific version of tomcat and is supported by the Xwiki application. At the time of this writing, Java 8, Tomcat 8 and Xwiki 12.10.10 all work together.

Installing Java 8:

yum install java-1.8.0

Verify the install and version by running at the command line:

java -version

The response back should be similar to the following:

openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Open Firewall Port

Xwiki runs on port 8080/tcp and you’ll need to open the firewall port.

firewall-cmd --permanent --add-port 8080/tcp
firewall-cmd --reload

Tomcat Install

First thing to do is create a group and user for tomcat to run under:

sudo groupadd tomcat
sudo useradd  -g tomcat -d /opt/tomcat tomcat

The download tomcat 8 from Make sure you are downloading the version of tomcat you decided to run. Its easy to download an incorrect version which will drive you nuts later on. (ask me how I know) Also download the tar.gz version, as it preserves file attributes.

Upload Tomcat 8 to the /opt directory and uncompress it. gzip -d and tar -xf will get the job done. I then remove the /opt/tomcat directory and rename the /opt/apache-tomcat-8.5.72 directory to /opt/tomcat. I update the group and owner on the /opt/tomcat directory to make sure the tomcat user has full access to the servlet.

chgrp -R /opt/tomcat
chown -R /opt/tomcat

You should double check the file attributes in the /opt/tomcat/bin directory. All of the *.sh files should be set executable. If not run the following command:

chmod +x /opt/tomcat/bin

Create the Service Wrapper

Creating a service wrapper allows for systemctl to start / stop / restart the tomcat servlet. Create the file tomcat.service in the /etc/systemd/system/ directory. Copy and paste the following code:

Description=Apache Tomcat 8 Service



Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -XX:MaxPermSize=192m -server -XX:+UseParallelGC'

ExecStop=/bin/kill -15 $MAINPID


After saving the file, run the following commands to start the tomcat service:

systemctl daemon-reload
systemctl start tomcat.service

To have the tomcat service start on boot up remember to enable it:

systemctl enable tomcat.service

Configure Xwiki

Copy the xwiki-platform-distribution-war-13.8.war file to /opt/tomcat/webapps/xwiki.war. Restart the tomcat service.

systemctl restart tomcat.service

Copy the mariadb JDBC driver jar file into the Xwiki library folder. The folder should be /opt/tomcat/webapps/xwiki/WEB-INF/lib/. I found the mariadb driver their downloads page. I used the most current stable version, which at this writing is version 2.7.3,

Edit the hibernate.cfg.xml file that is located in xwiki/WEB-INF directory. This file provides the connection strings to the database we created earlier. Make sure to comment out the hsqldb section. By default Xwiki comes with this section enabled. I provided the section to comment out:

    <property name="hibernate.connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password"></property>
    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>

    <property name="hibernate.connection.charSet">UTF-8</property>
    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">utf8</property>

    <mapping resource="xwiki.hbm.xml"/>
    <mapping resource="feeds.hbm.xml"/>
    <mapping resource="instance.hbm.xml"/>
    <mapping resource="notification-filter-preferences.hbm.xml"/>
    <mapping resource="mailsender.hbm.xml"/>

Then uncomment the mariadb section. Update the user name and password that your created when setting up the database.

    <!-- MariaDB configuration.
         Uncomment if you want to use MariaDB and comment out other database configurations.
           - if you want the main wiki database to be different than "xwiki"
             you will also have to set the property xwiki.db in xwiki.cfg file
    <property name="hibernate.connection.url">jdbc:mariadb://localhost/xwiki?useSSL=false</property>
    <property name="hibernate.connection.username">xwiki</property>
    <property name="hibernate.connection.password">xwiki</property>
    <property name="hibernate.connection.driver_class">org.mariadb.jdbc.Driver</property>
    <property name="hibernate.dbcp.poolPreparedStatements">true</property>
    <property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>

    <property name="hibernate.connection.charSet">UTF-8</property>
    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">utf8</property>

    <mapping resource="xwiki.hbm.xml"/>
    <mapping resource="feeds.hbm.xml"/>
    <mapping resource="instance.hbm.xml"/>
    <mapping resource="notification-filter-preferences.hbm.xml"/>
    <mapping resource="mailsender.hbm.xml"/>

Create Permanent Directory

Xwiki needs a directory for storing attachments and other files. You want these files to be out side of the Xwiki application area. I use /var/lib/xwiki/data for this storage. I then set the owner and group to the tomcat user/group.

chgrp -R tomcat xwiki
chown -R tomcat xwiki

In the /opt/tomcat/webapps/xwiki/WEB-INF directory modify the file. uncomment the environment.permanentDirectory and make it point to the correct location you have chosen.

Your Ready to Access Xwiki!

XWiki runs on port 8080. To access your XWiki installation open your web browser and type: http://yourdomain_or_ip_address:8080/xwiki

The first time launching Xwiki., the setup script will run. The tables in the database will be created and you’ll setup amoungst other things, the administrator id and password.


Citrix Client on Fedora 15

Recently I needed to use the Citrix client to connect to a virtual desktop. With Fedora 15, installing the Citrix client has gotten easier, but it still has some pitfalls. I could not get the Citrix client to run on 64-bit Fedora 15, only the 32-bit version. The problem with 64-bit was with OpenMotif and the support libraries that Citrix is expecting. Installation on 32-bit was easier.

1). Install OpenMotif. On Fedora type “sudo yum install openmotif”. The necessary library LibXp will be installed as a dependency.

2). Install the Citrix client. Go to Citrix web site, download the right Citrix receiver for your system.

The first time running the Citrix receiver, I received an SSL error. After some searching I found that the prerequisite SSL certificate is not automatically installed into the Citrix keystore. The exact error message I received was “you have not chosen to trust UTN-USERFirst-Hardware, the issuer of the servers security certificate (SSL Error 61)”.

To resolve the error I had to export the appropriate certificate from Mozilla and copy it into the Citrix keystore. To export it from Mozilla, go to “edit/preferences/advanced”. Click on the “encryption” tab and then on “view certificate”. Click on the “authorities” tab and scroll down the appropriate certificate. In this case it is the UTN-USERFirst-Hardware certificate. Click on export to save it to a file. Then copy that file to the Citrix keystore. The keystore is located at /usr/lib/ICAclient/keystore/cacerts.

After copying the necessary certificate, the Citrix receiver client fired up and connected to my server flawlessly.

Family Home Rant

The Home Network

Lately I’ve been on a kick upgrading the computers in the house.  Most of the machines are dual Xeons with 4Gb or 8Gb of ram.  I just added a 1.5Tb drive to one machine that was running out of space.  It had a 40gb drive in it and it was full.  I went through looking to dump what ever I could, but it only amounted to a few Gb free.

I also had to add a 8-port switch.  I have a 16-port switch downstairs where I have the server gear, but I need more ports in the den.  I’m wondering if it was a good idea to go with the 8-port switch and not the 16-port switch.  At the time the store I was in only had the 8-port switch and I didn’t feel like driving around.

The one purchase that I made that has just proven itself to be so valuable was a D-Link print server.  It can handle up to 4 printers.  I know, it was a simply thing to add, but what a difference to be able to print from anywhere.  I’ve got the laser printer and the Epson photo printer attach to it.  The only bummer is that I have to go into the den to turn the printers on if I want to print.  A lot of the times I’m in the family room with the laptop and have to walk to the other end of the house. Yes, on occasion I get lazy and yell for one of the kids to turn on the printer or retrieve the printouts for me.

The one box that I haven’t upgrade is the Apple G4.  I did add some ram to bump it to 4Gb.  That box has found some new life with my daughter.  She likes to play her games on it.  She likes the idea of having a machine that is basically only used by her.

That leads me to another thought.  I am amazed at the kids.  I have XP, Vista, Mac OS X and Fedora Linux in the house on various machines.  Majority of the boxes run Linux, from Fedora Core 5 to Fedora 10.  But it doesn’t matter to them.  They jump from box to box without thinking about the operating system.  Most adults I know have issues running a single operating system.  Not them.  Its seamless to them.  I cant help but wonder what the technology will be like when they are adults and start having difficulty adopting to it.

WP2Social Auto Publish Powered By :