Arief Yudhawarman

Masih belajar buat blog

Create OpenVZ RHEL 5.5 Template With Minimal Xwindows

leave a comment »

This guide is a reference on how to create a Red Hat Enterprise Linux v5.5 64bit template for OpenVZ. The template will support for running xwindows applications using twm (Tab Window Manager). TWM is a window manager for the X Window System, a small program, being built against Xlib rather than using a widget library, and as such, it is very light on system resources. Though simple, it is highly configurable; fonts, colours, border widths, title bar buttons, etc. can all be set by the user.


RHEL 5.5 Installation

Install RHEL 5.5 at physical server using text mode. We do the minimum installation.

  • Do not modify LVM just install as usual.
  • Do not enable selinux.
  • Disable firewall.
  • At the package group selection just select Core and Base.

After installing, boot the server and mount RHEL 5.5 DVD at /media/RHEL5.5.

We are using the RHEL 5.5 DVD as a yum repository. So create file /etc/yum.repos.d/rhel-dvd.repo

[dvd]
name=Red Hat Enterprise Linux Installation DVD
baseurl=file:///media/RHEL5.5/Server
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

The attribut gpg copied from /etc/yum.repos.d/rhel-debuginfo.repo.

Then uninstall some packages.


yum remove --enablerepo=dvd smartmontools
yum remove --enablerepo=dvd acpid
yum remove --enablerepo=dvd bluez-utils
yum remove --enablerepo=dvd cpuspeed
yum remove --enablerepo=dvd system-config-network-tui
yum remove --enablerepo=dvd kudzu
yum remove --enablerepo=dvd mdadm
yum remove --enablerepo=dvd microcode_ctl
yum remove --enablerepo=dvd esc
yum remove --enablerepo=dvd ccid
yum remove --enablerepo=dvd pcsc-lite
yum remove --enablerepo=dvd gpm
yum remove --enablerepo=dvd mcelog


Shutdown the server, dismantled the harddisk and placed at the OpenVZ server.


Transferring to OpenVZ

On the OpenVZ server or Hardware Node (HN) create a variable to identify the container ID ($CTID) and erase any existing container that use the $CTID number.


CTID=800
rm -rf /var/lib/vz/private/$CTID
mkdir /var/lib/vz/private/$CTID 


Because when installing RHEL we partitioned the harddisk using LVM then we must know the exact location of the RHEL installation. Using lvdisplay will show the content of the RHEL partition (LVM).

  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol00
  LV Name                LogVol00
  VG Name                VolGroup00
  LV UUID                Z24X99-Y2r1-XcaE-N6Id-A2jW-pClD-hDWdN7
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                1.81 TiB
  Current LE             59301
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol01
  LV Name                LogVol01
  VG Name                VolGroup00
  LV UUID                ySIud9-pQii-pzwh-mIc1-nbqD-jOHL-Cfu23d
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 0
  LV Size                9.75 GiB
  Current LE             312
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2


Mount the RHEL partition as read only at /mnt/rhel5.


mkdir /mnt/rhel5
mount -o ro /dev/VolGroup00/LogVol00 /mnt/rhel5


Copy the RHEL partition into /var/lib/vz/private/$CTID using rsync.


rsync -arvpz --numeric-ids --exclude=/dev --exclude=/mnt --exclude=/proc --exclude=/sys --exclude=/tmp /mnt/rhel5/ /var/lib/vz/private/$CTID/


Edit /etc/fstab for containter


echo "none /dev/pts devpts rw 0 0" >  /var/lib/vz/private/$CTID/etc/fstab
echo "proc /proc proc defaults 0 0" >> /var/lib/vz/private/$CTID/etc/fstab


Create /dev /mnt /proc /sys /tmp which we excluded in the rsync transfer above.


mkdir /var/lib/vz/private/$CTID/dev
mkdir /var/lib/vz/private/$CTID/mnt
mkdir /var/lib/vz/private/$CTID/proc
mkdir /var/lib/vz/private/$CTID/sys
mkdir /var/lib/vz/private/$CTID/tmp
chmod 1777 /var/lib/vz/private/$CTID/tmp


A container does not have real ttys, so you have to disable getty.


sed -i -e 's/^[0-9].*getty.*tty/#&/g' /var/lib/vz/private/$CTID/etc/inittab


But if you want to access to console just add one console to etc/inittab


echo '1:2345:respawn:/sbin/mingetty tty1' >> /var/lib/vz/private/$CTID/etc/inittab


Create special devices /dev/pts and /etc/udev/devices


mkdir /var/lib/vz/private/$CTID/dev/pts
mkdir /var/lib/vz/private/$CTID/etc/udev/devices


Then create block or character special files at /var/lib/vz/private/$CTID/dev


mknod -m 600 /var/lib/vz/private/$CTID/dev/console c 5 1
mknod -m 600 /var/lib/vz/private/$CTID/dev/core c 1 6
mknod -m 666 /var/lib/vz/private/$CTID/dev/full c 1 7
mknod -m 600 /var/lib/vz/private/$CTID/dev/initctl p
mknod -m 640 /var/lib/vz/private/$CTID/dev/kmem c 1 2
mknod -m 600 /var/lib/vz/private/$CTID/dev/kmsg c 1 1
mknod -m 640 /var/lib/vz/private/$CTID/dev/mem c 1 1
mknod -m 666 /var/lib/vz/private/$CTID/dev/null c 1 3
mknod -m 640 /var/lib/vz/private/$CTID/dev/port c 1 4
mknod -m 666 /var/lib/vz/private/$CTID/dev/ptmx c 5 2 
mknod -m 640 /var/lib/vz/private/$CTID/dev/ram0 b 1 0
ln -s /var/lib/vz/private/$CTID/dev/ram0 /var/lib/vz/private/$CTID/dev/ramdisk
mknod -m 640 /var/lib/vz/private/$CTID/dev/ram1 b 1 1
ln -s /var/lib/vz/private/$CTID/dev/ram1 /var/lib/vz/private/$CTID/dev/ram
mknod -m 666 /var/lib/vz/private/$CTID/dev/random c 1 8
mknod -m 444 /var/lib/vz/private/$CTID/dev/urandom c 1 9 
mknod -m 666 /var/lib/vz/private/$CTID/dev/zero c 1 5
mknod -m 666 /var/lib/vz/private/$CTID/dev/tty c 5 0
for i in {0,1,2,3,4,5,6,7,8,9}
do
  mknod -m 660 /var/lib/vz/private/$CTID/dev/tty$i c 4 $i
done
for i in {0,1,2,3,4,5,6,7}
do
  mknod -m 666 /var/lib/vz/private/$CTID/dev/ttyp$i c 3 $i
done
j=176
for i in {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}
do
  mknod -m 666 /var/lib/vz/private/$CTID/dev/ttya$i c 3 $j
  j=$((j+1))
done
for i in {0,1,2,3,4,5,6,7}
do
  mknod -m 666 /var/lib/vz/private/$CTID/dev/ptyp$i c 2 $i
done
j=176
for i in {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}
do
  mknod -m 666 /var/lib/vz/private/$CTID/dev/ptya$i c 2 $j
  j=$((j+1))
done
ln -s /proc/self/fd /var/lib/vz/private/$CTID/dev/fd
ln -s /proc/self/fd/0 /var/lib/vz/private/$CTID/dev/stdin
ln -s /proc/self/fd/1 /var/lib/vz/private/$CTID/dev/stdout
ln -s /proc/self/fd/2 /var/lib/vz/private/$CTID/dev/stderr


Create block or character special files at /var/lib/vz/private/$CTID/etc/udev/devices


mkdir /var/lib/vz/private/$CTID/etc/udev/devices/pts
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/console c 5 1
mknod -m 600 /var/lib/vz/private/$CTID/etc/udev/devices/core c 1 6
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/full c 1 7
mknod -m 640 /var/lib/vz/private/$CTID/etc/udev/devices/kmem c 1 2
mknod -m 600 /var/lib/vz/private/$CTID/etc/udev/devices/kmsg c 1 1
mknod -m 640 /var/lib/vz/private/$CTID/etc/udev/devices/mem c 1 1
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/null c 1 3
mknod -m 640 /var/lib/vz/private/$CTID/etc/udev/devices/port c 1 4
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/ptmx c 5 2 
mknod -m 640 /var/lib/vz/private/$CTID/etc/udev/devices/ram0 b 1 0
ln -s /var/lib/vz/private/$CTID/etc/udev/devices/ram0 /var/lib/vz/private/$CTID/etc/udev/devices/ramdisk
mknod -m 640 /var/lib/vz/private/$CTID/etc/udev/devices/ram1 b 1 1
ln -s /var/lib/vz/private/$CTID/etc/udev/devices/ram1 /var/lib/vz/private/$CTID/etc/udev/devices/ram
mknod -m 644 /var/lib/vz/private/$CTID/etc/udev/devices/random c 1 8
mknod -m 644 /var/lib/vz/private/$CTID/etc/udev/devices/urandom c 1 9 
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/zero c 1 5
mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/tty c 5 0
for i in {0,1,2,3,4,5,6,7}
do
  mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/ttyp$i c 3 $i
done
j=176
for i in {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}
do
  mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/ttya$i c 3 $j
  j=$((j+1))
done
j=176
for i in {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}
do
  mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/ptya$i c 2 $j
  j=$((j+1))
done
for i in {0,1,2,3,4,5,6,7}
do
  mknod -m 666 /var/lib/vz/private/$CTID/etc/udev/devices/ptyp$i c 2 $i
done
ln -s /proc/self/fd /var/lib/vz/private/$CTID/etc/udev/devices/fd
ln -s /proc/self/fd/0 /var/lib/vz/private/$CTID/etc/udev/devices/stdin
ln -s /proc/self/fd/1 /var/lib/vz/private/$CTID/etc/udev/devices/stdout
ln -s /proc/self/fd/2 /var/lib/vz/private/$CTID/etc/udev/devices/stderr


If you need to, set the interfaces to ONBOOT=”no”.


sed -i -e 's/ONBOOT=yes/ONBOOT=no/g'  /var/lib/vz/private/$CTID/etc/sysconfig/network-scripts/ifcfg-eth0


Remove HWADDR from the interfaces files.


sed -i -e 's/^\(HWADDR=.*\)$//g' /var/lib/vz/private/$CTID/etc/sysconfig/network-scripts/ifcfg-eth*


Change PROMPT=yes to PROMPT=no in /etc/sysconfig/init


sed -i -e 's/PROMPT=yes/PROMPT=no/g' /var/lib/vz/private/$CTID/etc/sysconfig/init


Make sure /tmp and /var/tmp have proper permissions


chmod 1777 /var/lib/vz/private/$CTID/tmp
chmod 1777 /var/lib/vz/private/$CTID/var/tmp


Create yum respository for OpenVZ rpm’s


nano /var/lib/vz/private/$CTID/etc/yum.repos.d/vz.repo


Then add the following text to /var/lib/vz/private/$CTID/etc/yum.repos.d/vz.repo

[vz-base]
name=vz-base
mirrorlist=http://vzdownload.swsoft.com/download/mirrors/redhat-el5
gpgcheck=0 

[vz-updates]
name=vz-updates
mirrorlist=http://vzdownload.swsoft.com/download/mirrors/updates-released-rhel5
gpgcheck=0



Start the Container and Install Packages For Minimal Xwindows

First create a default container configuration /etc/pve/openvz/$CTID.conf


echo OSTEMPLATE=\"rhel-5.5-x86_64.custom.tgz\" > /etc/vz/conf/$CTID.conf
vzctl set $CTID --save --kmemsize "1861M:2048M"
vzctl set $CTID --save --lockedpages "2048M"
vzctl set $CTID --save --privvmpages unlimited
vzctl set $CTID --save --shmpages unlimited
vzctl set $CTID --save --numproc unlimited
vzctl set $CTID --save --physpages "0:4096M"
vzctl set $CTID --save --vmguarpages 0:unlimited
vzctl set $CTID --save --oomguarpages 0:unlimited
vzctl set $CTID --save --numtcpsock unlimited
vzctl set $CTID --save --numflock unlimited
vzctl set $CTID --save --numpty unlimited
vzctl set $CTID --save --numsiginfo unlimited
vzctl set $CTID --save --tcpsndbuf  unlimited
vzctl set $CTID --save --tcprcvbuf unlimited
vzctl set $CTID --save --othersockbuf unlimited
vzctl set $CTID --save --dgramrcvbuf unlimited
vzctl set $CTID --save --numothersock unlimited
vzctl set $CTID --save --numfile unlimited
vzctl set $CTID --save --dcachesize "930M:1024M"
vzctl set $CTID --save --numiptent unlimited
vzctl set $CTID --save --swappages "0:16000M"
vzctl set $CTID --save --quotatime 0
vzctl set $CTID --save --diskinodes 2000000:2200000
vzctl set $CTID --save --diskspace 10G:11G
vzctl set $CTID --save --quotatime 0
vzctl set $CTID --save --quotaugidlimit 0
vzctl set $CTID --save --cpuunits 1000
vzctl set $CTID --save --cpus 4
vzctl set $CTID --save --onboot no
vzctl set $CTID --save --hostname server.domain.org
vzctl set $CTID --save --searchdomain domain.org
vzctl set $CTID --save --nameserver 192.168.1.1
vzctl set $CTID --save --netif_add eth0,56:E4:49:4F:29:32,veth$CTID.0,06:91:1C:24:45:69,vmbr0
vzctl set $CTID --save --root /var/lib/vz/root/$CTID
vzctl set $CTID --save --private /var/lib/vz/private/$CTID


Start the container and enter in your OpenVZ container for cleanup.


vzctl start $CTID
vzctl enter $CTID


Fix df.


rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab


Remove ssh host keys.


rm -f /etc/ssh/ssh_host_*


Enable networking (DHCP) by editing the /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
DHCP_HOSTNAME=server.domain.org
HWADDR=56:E4:49:4F:29:32


Restart networking.


/etc/init.d/network restart


Make sure the container can connect to internet then do yum update.

[root@server ~]# yum update
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
vz-base                                                                |  951 B     00:00     
vz-base/primary                                                        | 1.7 kB     00:00     
vz-base                                                                                   5/5
vz-updates                                                             |  951 B     00:00     
vz-updates/primary                                                     | 1.0 kB     00:00     
vz-updates                                                                                3/3
Skipping security plugin, no data
Setting up Update Process
Resolving Dependencies
Skipping security plugin, no data
--> Running transaction check
---> Package vzdummy-kernel-el5.noarch 0:2.0-1.swsoft set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================
 Package                     Arch            Version                Repository           Size
==============================================================================================
Installing:
 vzdummy-kernel-el5          noarch          2.0-1.swsoft           vz-updates          1.7 k
     replacing  kernel.x86_64 2.6.18-194.el5

Transaction Summary
==============================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 1.7 k
Is this ok [y/N]: y
Downloading Packages:
vzdummy-kernel-el5-2.0-1.swsoft.noarch.rpm                             | 1.7 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : vzdummy-kernel-el5                                                     1/1 

Installed:
  vzdummy-kernel-el5.noarch 0:2.0-1.swsoft                                                    

Replaced:
  kernel.x86_64 0:2.6.18-194.el5                                                              

Complete!


Again mount RHEL 5.5 DVD at /media/RHEL5.5. We are using the RHEL 5.5 DVD as a yum repository to help us removing the package and their depedencies. Refer to Bind mounts in order to mount DVD on container.
Remove unwanted packages and disable some services.


yum remove --enablerepo=dvd mkinitrd
yum remove --enablerepo=dvd avahi
yum remove --enablerepo=dvd hal
yum remove --enablerepo=dvd lvm2
yum remove --enablerepo=dvd bluez-gnome
yum remove --enablerepo=dvd isdn4k-utils
yum remove --enablerepo=dvd yum-updatesd
yum remove --enablerepo=dvd iptables-ipv6
yum remove --enablerepo=dvd wpa_supplicant
yum remove --enablerepo=dvd grub
chkconfig --del mcstrans
chkconfig --del irqbalance
chkconfig --del auditd


Install xinetd and some packages for minimal X support


yum install --enablerepo=dvd xinetd
yum install --enablerepo=dvd vnc-server
yum install --enablerepo=dvd xterm
yum install --enablerepo=dvd xorg-x11-twm
yum install --enablerepo=dvd xclock
yum install --enablerepo=dvd xorg-x11-server-utils
yum install --enablerepo=dvd xorg-x11-server-Xorg
yum install --enablerepo=dvd xorg-x11-xinit


Start xfs server.


/etc/init.d/xfs start


Start vncserver.


vncserver -name mydesktop


Read the vnc log /root/.vnc/$HOSTNAME:1.log if no errors the contents will like this:

Xvnc Free Edition 4.1.2
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Underlying X server release 70101000, The X.Org Foundation

Wed Jun 18 15:34:44 2014
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on port 5901
 vncext:      Listening for HTTP connections on port 5801
 vncext:      created VNC server for screen 0


On another computer open vnc connection (vncviewer) to the container. Test running xclock.

VNC Connection To Container

VNC Connection To Container


The last step is making a template. Exit from container and shutdown the container from the HN.


CTID=800
vzctl stop $CTID



Final Cleanup and Making a template

Edit hostname of the container, eg. /var/lib/vz/private/$CTID/etc/hosts.

127.0.0.1 localhost.localdomain localhost


And remove network configuration.


rm /var/lib/vz/private/$CTID/etc/sysconfig/network
rm /var/lib/vz/private/$CTID/etc/sysconfig/network-scripts/ifcfg-eth0
rm /var/lib/vz/private/$CTID/etc/resolv.conf
touch /var/lib/vz/private/$CTID/etc/resolv.conf


Clear unwanted files at directory /var/lib/vz/private/$CTID/var


rm -f /var/lib/vz/private/$CTID/var/log/*.?
cat /dev/null > /var/lib/vz/private/$CTID/var/log/audit/audit.log
cat /dev/null > /var/lib/vz/private/$CTID/var/lib/vz/private/$CTID/var/log/mail/statistics
cat /dev/null > /var/lib/vz/private/$CTID/var/log/prelink/prelink.log
cat /dev/null > /var/lib/vz/private/$CTID/var/log/acpid
cat /dev/null > /var/lib/vz/private/$CTID/var/log/messages
cat /dev/null > /var/lib/vz/private/$CTIDvar/log/btmp
cat /dev/null > /var/lib/vz/private/$CTID/var/log/cron
cat /dev/null > /var/lib/vz/private/$CTID/var/log/dmesg
cat /dev/null > /var/lib/vz/private/$CTID/var/log/maillog
cat /dev/null > /var/lib/vz/private/$CTID/var/log/mcelog
cat /dev/null > /var/lib/vz/private/$CTID/var/log/secure
cat /dev/null > /var/lib/vz/private/$CTID/var/log/spooler
cat /dev/null > /var/lib/vz/private/$CTID/var/log/tallylog
cat /dev/null > /var/lib/vz/private/$CTID/var/log/up2date
cat /dev/null > /var/lib/vz/private/$CTID/var/log/wtmp
cat /dev/null > /var/lib/vz/private/$CTID/var/log/yum.log
rm -f /var/lib/vz/private/$CTID/var/log/anaconda.log
rm -f /var/lib/vz/private/$CTID/var/log/anaconda.syslog
rm -f /var/lib/vz/private/$CTID/var/log/boot.log*
rm -f /var/lib/vz/private/$CTID/var/log/cron
rm -rf /var/lib/vz/private/$CTID/var/log/cups
mkdir /var/lib/vz/private/$CTID/var/log/cups


Clear /var/lib/vz/private/$CTID/var/cache/yum


rm -rf /var/lib/vz/private/$CTID/var/cache/yum
mkdir /var/lib/vz/private/$CTID/var/cache/yum
rm -rf /var/lib/vz/private/$CTID/var/cache/cups
mkdir /var/lib/vz/private/$CTID/var/cache/cups
chgrp lp /var/lib/vz/private/$CTID/var/cache/cups


Clear /var/lib/vz/private/$CTID/var/lib


rm -rf /var/lib/vz/private/$CTID/var/lib/dbus/machine-id
rm -rf /var/lib/vz/private/$CTID/var/lib/dhclient
mkdir /var/lib/vz/private/$CTID/var/lib/dhclient
rm -rf /var/lib/vz/private/$CTID/var/lib/dhclient
mkdir /var/lib/vz/private/$CTID/var/lib/dhclient
rm -rf /var/lib/vz/private/$CTID/var/lib/mlocate
mkdir /var/lib/vz/private/$CTID/var/lib/mlocate
chgrp fax /var/lib/vz/private/$CTID/var/lib/mlocate

Note: group fax on proxmox has gid 21 while at redhat the gid is slocate

Clear /var/lib/vz/private/$CTID/var/spool/mail, etc.


cat /dev/null > /var/lib/vz/private/$CTID/var/spool/mail/root
cat /dev/null > /var/lib/vz/private/$CTID/var/spool/mail/rpc
rm -rf /var/lib/vz/private/$CTID/var/tmp
mkdir /var/lib/vz/private/$CTID/var/tmp
chmod 1777 /var/lib/vz/private/$CTID/var/tmp
rm -rf /var/lib/vz/private/$CTID/tmp
mkdir /var/lib/vz/private/$CTID/tmp
chmod 1777 /var/lib/vz/private/$CTID/tmp
rm /var/lib/vz/private/$CTID/var/run/dbus/system_bus_socket


Go to directory /var/lib/vz/private/$CTID/root and delete all files and hidden files also directories there except files .bash_logout, .bash_profile, .bashrc, .cshrc, and .tcshrc.

Make the template.


cd /var/lib/vz/private/$CTID
tar czf /var/lib/vz/template/cache/rhel-5.5-x86_64.tar.gz ./


Test the template


Make a sample config file.


cp /etc/pve/openvz/$CTID.conf /etc/pve/openvz/ve-testCT.conf-sample
sed -i -e '/^NETIF.*/d' /etc/pve/openvz/ve-testCT.conf-sample
sed -i -e '/^VE_ROOT.*/d' /etc/pve/openvz/ve-testCT.conf-sample
sed -i -e '/^VE_PRIVATE.*/d' /etc/pve/openvz/ve-testCT.conf-sample
sed -i -e '/^OSTEMPLATE.*/d' /etc/pve/openvz/ve-testCT.conf-sample


Test the template using the command line or the web based interface.


vzctl create 123 --ostemplate rhel-5.5-x86_64 --config testCT



Installation of SAP ERP 6.0 on RHEL 5.5 OpenVZ

SAP ERP 6.0 on RHEL 5.5 OpenVZ

SAP ERP 6.0 on RHEL 5.5 OpenVZ




Referensi:

  1. OpenVZ Centos/RedHat templates creation
  2. How to create a Redhat Enterprise Linux OpenVZ Template
  3. Creating a CentOS 5.0 Template


Written by awarmanf

December 12, 2014 at 3:58 am

Posted in centos, Linux, openvz

Tagged with , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: