SME on CentOS 6
Back to SME Server 9.0 Development
SME 9, based on CentOS 6
An overview of related SME9 development pages can be found here.
Prerequisites
- VIrtual machine (Vmware, Parallels or Virtualbox)
- Centos Minimal 64-bit architecture. 32-bit may follow later
- Setting up a RPM Building environment
User Feedback
Unstructured user feedback can be noted here: SME9DEV user feedback. Issues that require developers attention should be logged in our Bug Tracker. (See below)
Bugs
Considerations
- Primary and only goal for now is the transition of SME Server based on CentOS 5.8 to SME Server based on CentOS6.3
- SysVinit is no longer the default with the release of RHEL6, beyond RHEL6 systemd will be used
- perl has a new location of the filesystem. New: /usr/share/perl5/vendor_perl instead Old: /usr/lib/perl5/site_perl/
- perl version 5.8.8 is the new default version on RHEL6. This requires a review of all the perl module rpms which are specific for perl 5.8.5
Installing CentOS 6 minimal
First a few notes on CentOS 6 minimal, which is a bare bones install with very little on board. You can download a copy from one of the CentOS mirrors here
- As per above note, only use Virtual Machine for testing purposes. A good free VM package can be obtained here
- You might want to note down as much as possible so you yourself and others can reproduce the actions
- Don't use yum with the '-y' flag (install/upgrade without further user interaction) when using the yum install/upgrade commands. (beware copy/paste yum commands)
- you might want to note down all packages listed by yum to be installed/upgraded AND their dependencies
- Make regular snapshots of your Virtual Machine and describe them specifically. At least when you've reached an important milestone for yourself
Installing the ISO
- Just install a minimal el6 installation (I just installed a few utilities like htop, screen, rsync, vim, openssh-clients mc etc…). You can use either the DVD, the minimal CD install, a net install with PXE, it's up to you
- wellsi: I have used CentOS-6.3-x86_64-minimal.iso
Enable networking
Each boot you have to start the network etc etc. I decided it was better with the minimal install and touch as little as possible - if I could then get SME packages installed I could then use that to configure networking later.
To start the networking
./etc/sysconfig/network-scripts/ifup-eth eth0
or
dhclient eth0
or if you want to assign a specific IP address (e.g. 192.168.1.2).
ifconfig eth0 192.168.1.2
echo "nameserver 192.168.1.254" >> /etc/resolv.conf
route add default gw 192.168.1.254 eth0
To make your changes permanent you will need to edit the configuration file to make it active on boot. There is only the vi text editor, you can also install nano.
yum install nano
nano /etc/sysconfig/network-scripts/ifcfg-eth0
and set ONBOOT=”YES”
Enable SSH
SSH is present but is disabled at this stage. To enable ssh issue:
service sshd start
Disable / Remove SELinux
It will be easier to see what's going on (and turn off selinux at kernel level, just to be sure)
sed -i -e 's/rhgb quiet/selinux=0/g' /boot/grub/grub.conf
sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
yum remove selinux-policy-targeted
setenforce 0
Configure basic requirements
Configure SME9 repositories
See the following bugs tracking issues with repositories:
Bug #7294: rpms that still need to be rebuilt or sourced for the SME9 repositoriesBug #7298: Import perl-Unix-ConfigFile from rpmforgeBug #7292: more rpms in the SME8 repositories that have a lower version in our SME9 repositoriesBug #7305: smeserver-yum doesn't provide the /etc/yum.smerepos.d dir
yum install wget
mkdir /tmp/repo.bak
mv /etc/yum.repos.d/*.repo /tmp/repo.bak/
wget -O /etc/yum.repos.d/sme9.repo http://bugs.contribs.org/attachment.cgi?id=3650
Import needed GPG Keys
rpm --import http://sme-mirror.firewall-services.com/releases/8/smeos/x86_64/RPM-GPG-KEY-SMEServer
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import https://fedoraproject.org/static/217521F6.txt
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
rpm --import http://www.salstar.sk/pub/yum/keys/RPM-GPG-KEY-Fedora-Pre-Extras
Clean yum cache
yum --enablerepo=* clean all
Install e-smith and smeserver packages
Now, you should be ready to install all the e-smith and smeserver packages (and their dependencies), plus the rest of the rpms that aren't required by a smeserver- or e-smith- rpm, but were installed on SME8 bugzilla:7311. This should pull about 501 packages to install, and 14 to update, and then you can do 'yum upgrade' to upgrade the remaining CentOS packages. Some other notes on this in bugzilla:7240
yum --disablerepo=* --enablerepo=smeupdates9,smeupdates-testing9,smeos8,smeupdates8 install e-smith\* smeserver\* aspell aspell-en at audit-libs-python autoconf automake bc bind-libs bind-utils cronie cronie-anacron crontabs cyrus-sasl-md5 dhcp dosfstools ed eject elfutils elfutils-libs fetchmail ftp gettext glib gpm hesiod hmaccalc imake iptraf iptstate isdn4k-utils libXdmcp libgomp libselinux-python libsmbclient libsysfs libxml2-python lm_sensors lockdev lsof lvm2 m2crypto man mcstrans minicom mkbootdisk mlocate mod_ssl mtools mt-st mutt neon net-snmp net-snmp-utils openldap-servers patch pcmciautils postgresql-libs pyxf86config rpm-build rp-pppoe setserial strace sudo sysfsutils syslinux tcpdump telnet time tmpwatch traceroute unzip usbutils usermode vim-common vim-enhanced wget wodim xz zip zlib php-pear-Net-URL perl-Compress-Raw-Bzip2 perl-IO-Compress-Bzip2 rsync
yum upgrade
See the following bugs:
Bug #7233: e-smith-ldap should require openldap-serversBug #7252: e-smith-radiusd should require freeradius-ldapBug #7234: e-smith-apache should require mod_sslBug #7297: e-smith-hosts should require dhcp
Move everything from rc7.d to rc4.d
All the links in rc4.d should then point to e-smith-service
rm -f /etc/rc4.d/*
cp -a /etc/rc7.d/* /etc/rc4.d/
Move some perl modules
We need to copy some perl modules to a new directory, because @INC has changed in EL6: bugzilla:7223
cp -a /usr/lib/perl5/site_perl/esmith/* /usr/share/perl5/vendor_perl/esmith
Create a service entry for rsyslog
We need to create a new service entry in the DB, because the standard syslog package is now rsyslog:
- See
Bug #7221: Change from syslog to rsyslogandBug #7322: Change from syslog to rsyslog - Add linkThis step can be removed when e-smith-base-5.4.0-8 is available.
/sbin/e-smith/db configuration set rsyslog service status enabled
cp -a /etc/rc7.d/S05syslog /etc/rc4.d/S05rsyslog
Run post-upgrade
We can now try to post-upgrade
/sbin/e-smith/signal-event post-upgrade
/sbin/e-smith/signal-event reboot
Look for things to fix & Report bugs/problems
If you have followed these steps and you are up to date with 'yum upgrade', go ahead and look for problems, and report them to the bug tracker. Currently there are many issues, but lots have been reported and fixed already, so report issues you find right away.
- SME 9 Bug Report Matrix - http://bugs.contribs.org/report.cgi?x_axis_field=bug_status&y_axis_field=target_milestone&product=SME+Server+9.X&format=table&action=wrap
- Open a new bug report - http://bugs.contribs.org/enter_bug.cgi
Some ideas for things to look for: - Services not starting - Config files (templates) that need changes, especially if the major version of the package has changed - what el5 packages are still installed that need working on? To check do
rpm -qa |grep el5
- - - - add more generic ideas here....specific issues to the bugtracker please
- Please consult/subscribe to the devs list for more information. devinfo mailinglist and in particular all threads starting with " SME on CentOS 6"
- There is a IRC channel where people who are interested in this effort 'hang out'. You're most welcome to drop by and/or join. It's free! ;-)
- You do not have to install anything to pay the channel a visit. All you need is a nice nickname and right click here to open the channel in a new browser window or tab.