Virtualmin on IBM Power platform

Hello Folks!

Today I managed to install Virtualmin on latest Debian8 LPAR:s running on IBM Power5+ platform.

Hope it helps someone, I can support you if needed.

My setup was a initially Debian7 which I did upgrade to Debian8 using Debian standard procedure, but for power platform.

Installation once up the time was almost similar to this, with exception that I have DS4000 SAN storage:
http://www.rootvg.net/content/view/560/1/

Newer images can be fetched from here and put on to vio server as virtual cd resource and then mapped to the LPAR where you want to install Debian:
http://cdimage.debian.org/debian-cd/8.2.0/powerpc/iso-dvd/

root@debian:~# cat /etc/debian_version
8.2

root@debian:~# cat /proc/cpuinfo
processor : 0
cpu : POWER5+ (gs)
clock : 1898.100000MHz
revision : 3.1 (pvr 003b 0301)

processor : 1
cpu : POWER5+ (gs)
clock : 1898.100000MHz
revision : 3.1 (pvr 003b 0301)

timebase : 511649000
platform : pSeries
model : IBM,9115-505
machine : CHRP IBM,9115-505
root@debian:~# uname -a
Linux debian 3.2.0-4-powerpc64 #1 SMP Debian 3.2.68-1+deb7u5 ppc64 GNU/Linux

I followed the instructions for N-classed OS.
Manual installation by this link: https://www.virtualmin.com/documentation/installation/manual

Which tell you to install these components:
apache
bind
postfix
procmail
spamassasin
clamav
dovecot
proftpd
mysql
SASLauthd
mailman

Followed by:
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

wget http://prdownloads.sourceforge.net/webadmin/webmin-1.770.tar.gz
gunzip webmin-1.770.tar.gz
tar xf webmin-1.770.tar
./setup.sh /usr/local/webmin

Then login to webmin and continued the manual webmin installation of virtualmin by installing the two modules:
http://www.webmin.com/vdownload.html

Inside webmin there was some various complains, some fixed via this:
dpkg-reconfigure postfix
cd /etc/apache2/mods-enabled/
ln -s …/mods-available/suexec.load .
vi /etc/apache2/mods-enabled/php5.conf
apt-get install webalizer
chmod ug+s /usr/bin/procmail
sudo a2enmod ssl
service apache2 restart

Others via the GUI just follow the instructions coming there.

Done!


Some tests!

Checking Configuration	

The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active …
Your system has 989.43 MB of memory, which is at or above the Virtualmin recommended minimum of 256 MB.
BIND DNS server is installed, and the system is configured to use it.

Mail server Postfix is installed and configured.

Postfix can support per-domain outgoing IP addresses, but is not currently configured to do so. This can be setup in the Postfix Mailserver module.

Apache is installed.

The following PHP versions are available : 5.6.7 (/usr/bin/php5-cgi)

Webalizer is installed.

Apache is configured to host SSL websites.

MySQL is installed and running.

ProFTPd is installed.

Logrotate is installed.

SpamAssassin and Procmail are installed and configured for use.

ClamAV is installed and assumed to be running.

Using network interface eth0 for virtual IPs.

Default IPv4 address for virtual servers is 192.168.2.100.

Default IP address is set to 192.168.2.100, but the detected external address is actually xxx.xxx.xxx.xxx This is typically the result of being behind a NAT firewall, and should be corrected on the module configuration page.

Quotas are not enabled on the filesystem /var which contains email files under /var/mail. Quota editing for email has been disabled.

Shell /bin/false for FTP users is not included in /etc/shells, which may prevent FTP access.

All commands needed to create and restore backups are installed.

The selected package management and update systems are installed OK.

… your system is ready for use by Virtualmin.


Now it is then time to install usermin and other modules plus some more services.
No hacks and workarounds was necessary.

Next up will be a test on AIX, unfortunately there are more work, there is no modern php, mysql and apache packages form AIX compiled. The existing are 3-4 years old.

Howdy,

I’m glad you were able to get that all setup… thanks for sharing how you did that!

Hello Folks!

Here are some more details on the installed packages as pre-reqs. to webmin and virtualmin.
apt-get install mysql-server
apt-get install bind9 bind9-doc dnsutils
apt-get install procmail
apt-get install spamassassin
apt-get install clamsmtp clamav-freshclam
apt-get install sudo
apt-get install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd
apt-get install openssl ssl-cert
apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi
apt-get install proftpd
apt-get install apache2-suexec-custom
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

wget http://prdownloads.sourceforge.net/webadmin/webmin-1.770.tar.gz
gunzip webmin-1.770.tar.gz
tar xf webmin-1.770.tar
cd webmin-1.770/
./setup.sh /usr/local/webmin

dpkg-reconfigure postfix

Inside webmin install these:
http://download.webmin.com/download/virtualmin/virtual-server-4.152.gpl.wbm.gz
http://download.webmin.com/download/virtualmin/virtual-server-theme-9.2.wbt.gz

Now change theme accordingly to the official documentation, which says: In the Webmin Configuration module, click on Webmin Themes and select the Virtualmin Framed Theme.
Logout and Login again, and continue.

cd /etc/apache2/mods-enabled/
ln -s …/mods-available/suexec.load .

vi /etc/apache2/mods-enabled/php5.conf
And comment out as described inside virtualmin check, the whole two FilesMatch paragraph that contains SetHandler.

apt-get install webalizer

useradd ftp
groupadd ftp

chown root /usr/bin/procmail
chmod ug+s /usr/bin/procmail

a2enmod ssl
service apache2 restart

Hello Folks!

We faced some problem with TSM packages, they came in in .deb format but for little endian.
So we picked up some older TSM packages from IBM with support for PPC64 big endian.

However they were of rpm format so we did try to convert with alien, but that did not work, converting procedure stops and say packages is for ppc64, but we have ppc64.

Without TSM we can not put Debian in production. Not going for “Pay-Linux”.
We will look on other releases like OpenSUSE and Fedora. However Fedora is way to much experimental for production by our means. OpenSUSE seems better.

However, AIX would be awesome but it currently looks like a long shot. All virtualmin relevant OpenSource packages for AIX is aged and not up to date.

But we do not give up. Debian works 100% perfect on Power with Virtualmin, with our backup :slight_smile: except the virtualmin one and potential other open source solutions like bacula which we anyway do not use in our environment.

Hello Folks!

I managed to get Debian work with TSM now. This requires you have a valid TSM license from IBM to run supported.

Warning! This is not very much webmin+virtualmin+usermin topic.

I added it because I think it might help someone else in my situation.

Namely, those few who run Debian in IBM PowerPC (PPC64) with Virtualmin and need TSM backup.

How I managed make TSM work on Debian on power in the virtualmin environment:

Download latest TSM binaries from ftp.software.ibm.com, in my case 7.1.3.0-TIV-TSMBAC-LinuxPPC.tar

Install the prereqs (this was performed after a basic text install debian without x-windows, then all prereqs for webmin+virtualmin+usermin was installed and finally the three was installed to):

apt-get install alien libstdc++6 g+±multilib

Create te work directories
mkdir /usr/src/tsm /usr/src/tsm-debian

Unpack the tar file to /usr/src/tsm
cd /usr/src/tsm
tar xvf 7.1.3.0-TIV-TSMBAC-LinuxPPC.tar

cd /usr/src/tsm
alien -g -c gskssl64-8.0.50.44.linux.ppc.rpm
mv gskssl64-8.0 …/tsm-debian
mv gskssl64-8.0.org …/tsm-debian

alien -g -c gskcrypt64-8.0.50.44.linux.ppc.rpm
mv gskcrypt64-8.0 …/tsm-debian
mv gskcrypt64-8.0.org

alien -g -c TIVsm-BA.ppc64.rpm
mv TIVsm-BA-7.1.3 …/tsm-debian
mv TIVsm-BA-7.1.3.org …/tsm-debian

alien -g -c TIVsm-API64.ppc64.rpm
mv TIVsm-API64-7.1.3 …/tsm-debian
mv TIVsm-API64-7.1.3.org …/tsm-debian

Go to the tsm-debian directory:
cd …/tsm-debian

ln -s gskssl64-8.0/debian gskssl64-8.0/DEBIAN
ln -s gskcrypt64-8.0/debian gskcrypt64-8.0/DEBIAN
ln -s TIVsm-BA-7.1.3/debian TIVsm-BA-7.1.3/DEBIAN
ln -s TIVsm-API64-7.1.3/debian TIVsm-API64-7.1.3/DEBIAN

find * -type f -name postinst --exec chmod 755 {} ;

Now edit the control files:

gskcrypt64-8.0/debian/control:
Source: gskssl64
Section: alien
Priority: extra
Maintainer: root root@debian.mgt1.ing-steen.se
Package: gskssl64
Architecture: powerpc
Description: IBM GSKit SSL Runtime With Acme Toolkit
Version: 8.0

gskcrypt64-8.0/debian/control:
Source: gskcrypt64
Section: alien
Priority: extra
Maintainer: root root@debian.mgt1.ing-steen.se
Package: gskcrypt64
Architecture: powerpc
Description: IBM GSKit Cryptography Runtime
Version: 8.0

TIVsm-BA-7.1.3/debian/control:
Source: tivsm-ba
Section: alien
Priority: extra
Maintainer: root root@debian.mgt1.ing-steen.se
Package: tivsm-ba
Architecture: powerpc
Description: the Backup Archive Client
Version: 7.1.3

TIVsm-API64-7.1.3/debian/control:
Source: tivsm-api64
Section: alien
Priority: extra
Maintainer: root root@debian.mgt1.ing-steen.se
Package: tivsm-api64
Architecture: powerpc
Description: the API
Version: 7.1.3

It is time to build debian packages (during the build various interesting warnings arrived):
dpkg -b gskssl64-8.0
dpkg -b gskcrypt64-8.0
dpkg -b TIVsm-API64-7.1.3
dpkg -b TIVsm-BA-7.1.3

I do not have much Debian experience and even less experience with debian packages, so I have no idea why I have to do an unclean force during the installation.

Time to install (more warnings arrives, some not important file needed to be overwritten):
dpkg --force-overwrite -i gskssl64-8.0.deb
dpkg --force-overwrite -i gskcrypt64-8.0.deb
dpkg --force-overwrite -i TIVsm-API64-7.1.3.deb
dpkg --force-overwrite -i TIVsm-BA-7.1.3.deb

Now libraries need to be setup for TSM client:
/etc/ld.so.conf.d/tsm.conf:
/opt/tivoli/tsm/client/api/bin64
/usr/local/ibm/gsk8_64/lib64

ldconfig --verbose

Time to configure TSM client:
cd /opt/tivoli/tsm/client/ba/bin/
cp dsm.sys.smp dsm.sys
cp dsm.opt.smp dsm.opt

Edit them to suit your tsm server:
dsm.sys:
SErvername TSM_SERVER_NAME
COMMmethod TCPip
TCPPort 1500
TCPServeraddress TSM_SERVER_IP_ADDRESS
NODEname DEBIAN_NODE_NAME
TCPBuffsize 32
TCPWindowsize 128
TXNBytelimit 25600
COMPression no
RESOURCEutilization 2
CHAngingretries 4
PASSWordaccess generate

  • SCHEDMODE prompted
  • MANAGEDSERVICES schedule
    INCLEXCL /opt/tivoli/tsm/client/ba/bin/incl_excl
    SCHEDLOGNAME /var/log/tsm/dsmsched.log
    SCHEDLOGRETENTION 7 D
    ERRORLOGNAME /var/log/tsm/dsmerror.log

dsm.opt:
SErvername TSM_SERVER_NAME
COMPRESSAlways No
Dateformat 4
NUMberformat 5
TIMEformat 3

Add an exlude file to begin with:
/opt/tivoli/tsm/client/ba/bin/incl_excl
exclude.dir /var/log/tsm

You now need to goto your TSM server and add your debian node name and set password for it plus assign the node to a backup schema. That I leave to you. This is already now way out of virtualmin+webmin+usermin topics.

But now, it makes Debian on power production ready, we have backup!