smedev:install_sme_el6

Install all e-smith/smeserver packages on EL6

These are just my notes to get a EL6 system booting with all the e-smith and smeserver packages installed. As soon as I get it to boot, I'll put this info into contribs.org wiki.

Just install a minimal el6 installation (I just installed a few utilities like htop, screen, rsync, vim, openssh-clients etc…). You can use either the DVD, the minimal CD install, a net install with PXE, it's up to you ;-)

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/menu.lst
sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux

They conflict with some e-smith/smeserver packages

yum remove selinux-policy-targeted authconfig
  • Enable the EPEL repo
rpm -Uvh http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-8.noarch.rpm
  • Enable the ATrpms repo
rpm -Uvh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-6.el6.x86_64.rpm
  • Enable RPMForge
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  • Configure SME repository (EL5 version for now)
cat<<'EOF' > /etc/yum.repos.d/sme.repo
[smeaddons]
enabled=1
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smeaddons-8
name=SME Server - addons
gpgcheck=1
enablegroups=1
 
[smecontribs]
enabled=0
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smecontribs-8
name=SME Server - contribs
gpgcheck=1
enablegroups=1
 
[smedev]
enabled=0
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smedev-8
name=SME Server - dev
gpgcheck=1
enablegroups=1
 
[smeextras]
enabled=1
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smeextras-8
name=SME Server - extras
gpgcheck=1
enablegroups=1
 
[smeos]
enabled=1
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smeos-8
name=SME Server - os
gpgcheck=1
enablegroups=1
 
[smetest]
enabled=0
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smetest-8
name=SME Server - test
gpgcheck=1
enablegroups=1
 
[smeupdates]
enabled=1
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smeupdates-8
name=SME Server - updates
gpgcheck=1
enablegroups=1
 
[smeupdates-testing]
enabled=0
mirrorlist=http://mirrorlist.contribs.org/mirrorlist/smeupdates-testing-8
name=SME Server - updates testing
gpgcheck=1
enablegroups=1
 
EOF
  • import SME's GPG key
rpm --import http://sme-mirror.firewall-services.com/releases/8/smeos/x86_64/RPM-GPG-KEY-SMEServer
  • install yum-plugin-priorities
yum install yum-plugin-priorities
  • Set the base, updates and extras repo in /etc/yum.repos.d/CentOS-Base.repo a high priority (respectivly 50, 40, 50)
[...]
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=50
 
#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=40
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=50
 
[...]
  • Set Epel to a priority of 60 in /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
priority=60
  • Set RPMForge to a priority of 65 in /etc/yum.repos.d/rpmforge.repo
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority=65
  • Set atrpms to priority of 70 in /etc/yum.repos.d/atrpms.repo
[atrpms]
name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
failovermethod=priority
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-atrpms
priority=70

A few packages have to be installed manually without dependancy check:

rpm -Uvh --nodeps http://sme-mirror.firewall-services.com/releases/8/smeupdates/x86_64/RPMS/smeserver-yum-2.2.0-20.el5.sme.noarch.rpm
rpm -Uvh --nodeps http://sme-mirror.firewall-services.com/releases/8/smeupdates/x86_64/RPMS/e-smith-samba-2.2.0-49.el5.sme.noarch.rpm
rpm -Uvh --nodeps http://sme-mirror.firewall-services.com/releases/8/smeos/x86_64/SME/e-smith-test-2.2.0-1.el5.sme.noarch.rpm
  • Two perl package need to be installed manually with sme and epel repo disabled (I need to figure out why repo priority doesn't fix this)
yum install perl-Razor-Agent perl-Data-UUID --disablerepo=sme\* --disablerepo=epel

Now, you should be ready to install e-smith-base. For me, this pulls 222 packages (166MB). For some reason, the GPGKey is not recognized, so just run yum with –nogpgcheck

yum --nogpgcheck install e-smith-base

Now install all the remaining e-smith/smeserver packages

yum --nogpgcheck install e-smith\* smeserver\*

It should install the following packages and their dependancies:

 e-smith                       
 e-smith-LPRng                 
 e-smith-apache                
 e-smith-backup                
 e-smith-devtools              
 e-smith-dynamicdns-dyndns     
 e-smith-dynamicdns-dyndns.org 
 e-smith-dynamicdns-tzo        
 e-smith-dynamicdns-yi         
 e-smith-flexbackup            
 e-smith-horde                 
 e-smith-hosts                 
 e-smith-imp                   
 e-smith-ingo                  
 e-smith-ldap                  
 e-smith-lib-compspec          
 e-smith-mysql                 
 e-smith-ntp                   
 e-smith-oidentd               
 e-smith-openssh               
 e-smith-php                   
 e-smith-pptpd                 
 e-smith-proftpd               
 e-smith-proxy                 
 e-smith-qmailanalog           
 e-smith-quota                 
 e-smith-radiusd               
 e-smith-turba                 
 e-smith-viewlogfiles          
 smeserver-release             

Now install samba-client (e-smith-samba has been installed manually without dep check, otherwise it would have pulled samba3x package instead of samba)

yum install samba-client

We've almost finished, we just have to replace upstart with the good old SysVinit, because upstart doesn't support the custom runlevel 7 SME uses

rpm -e --nodeps upstart sysvinit-tools
rpm -Uvh http://sme-mirror.firewall-services.com/releases/8/smeos/x86_64/SME/SysVinit-2.86-17.el5.x86_64.rpm

We need to copy some perl modules to a new directory, because @INC has changed in EL6:

cp -a /usr/lib/perl5/site_perl/esmith/ /usr/share/perl5/vendor_perl/

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:

/sbin/e-smith/db configuration set rsyslog service status enabled
cp -a /etc/rc7.d/S05syslog /etc/rc7.d/S05rsyslog

Run post-upgrade

We can now try to post-upgrade

/sbin/e-smith/signal-event post-upgrade

And reboot. Unfortunatly, I wasn't able to reboot properly at this stage, because of the upstart → SysVinit transition (the error message is “/dev/initctl: No such file or directory”) so I had to destroy the VM completly

Ok, so the system should now boot, but is really not usable, after a quick look, at least the following doesn't work as expected:

  • The console on the first boot don't really work. It asks for the admin password (and BTW the password appears in cleartext) but it's all
  • No network interfaces are detected by the console menu (because kudzu is not installed, only available in SME repo, and require an older python which conflicts with the the one from EL6)
  • slapd won't start
  • httpd won't start
  • squid won't start
  • manually running expand-template has no effect (and no error message is printed). But signal-event seems to work (files get expanded and services restarted)
  • as the network interface are not configured, all the services which requires the internel IP (or the external one) in their config (at least sshd squid and dnscache) won't start
  • even if we manually add 0.0.0.0 after the ListenAddress line in /etc/ssh/sshd_config, we cannot connect using SSH (the daemon is running, but from a computer on the same network, I get a ssh_exchange_identification: Connection closed by remote host error)
  • qpsmtpd won't start (can't locate Qpsmtpd/TcpServer.pm in @INC)
  • There's probably a lot more which is not working
  • smedev/install_sme_el6.txt
  • Dernière modification: 25/01/2013 21:46
  • de dani