Difference between revisions of "SME on CentOS 6"

From SME Server
Jump to navigationJump to search
(Notes on moving to CentOS 6)
 
Line 1: Line 1:
 +
{{Level|Developer}}
 +
 
== SME on CentOS 6 ==
 
== SME on CentOS 6 ==
  
Line 17: Line 19:
  
 
I did the following using a Virtualbox VM for expediency allowing me to revert changes easily if I needed too.
 
I did the following using a Virtualbox VM for expediency allowing me to revert changes easily if I needed too.
 +
 +
== Installing CentOS 6 minimal ==
  
 
First a few notes on CentOS 6 minimal.
 
First a few notes on CentOS 6 minimal.
  
 
This is a bare bones install with very little on board.
 
This is a bare bones install with very little on board.
 +
 +
=== 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.
 
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  
 
To start the networking  
./etc/sysconfig/network-scripts/ifup-eth eth0
+
./etc/sysconfig/network-scripts/ifup-eth eth0
 +
 
 +
or
 +
dhclient eth0
 +
 
 +
or if you want to assign a IP address yourself.
 +
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 ===
  
 
On first run make sure we have ssh installed so we can use a terminal to login - much easier for copy and pasting stuff :
 
On first run make sure we have ssh installed so we can use a terminal to login - much easier for copy and pasting stuff :
yum install open-ssh*
+
yum install open-ssh*
  
 
To get to the sshd service you will need this on each boot :
 
To get to the sshd service you will need this on each boot :
service iptables stop
+
service iptables stop
service sshd start
+
service sshd start
  
 +
== SME Server specific/required perl packages ==
 
I decided to attack perl first as the SME stuff is written in it.  
 
I decided to attack perl first as the SME stuff is written in it.  
  
 
Here is a list of perl files from v8 and their equivalent in CentOS 6 if available....
 
Here is a list of perl files from v8 and their equivalent in CentOS 6 if available....
  
To get a list of the file names in v8 do :
+
To get a list of the file names in v8 either do (all file starting with the string 'perl'):
 +
rpm -qa --qf '%{NAME}\n' name=perl\*
 +
(Thanks Shad !)
 +
 
 +
or as per suggestion on the lists (All files containing the string 'perl')
 +
rpm -qa | grep perl | sed -e 's/-[0-9].*//'
 +
 
 +
To get a alphabetically sorted list (which is easier to compare lists) add '|sort' to the commands above.
 +
rpm -qa --qf '%{NAME}\n' name=perl\*|sort
 +
rpm -qa | grep perl | sed -e 's/-[0-9].*//'|sort
 +
 
 +
Which command will be the de facto standard to use so we are all talking about the same list??
  
rpm -qa --qf '%{NAME}\n' name=perl\*
+
This is the output of the non-GREP variant:
  
(Thanks Shad !)
+
perl-Digest-SHA Y
 +
perl Y
 +
perl-Archive-Tar Y
 +
perl-Authen-PAM ******
 +
perl-Authen-SASL Y
 +
perl-BSD-Resource ******
 +
perl-CGI-FormMagick ******
 +
perl-CGI-Persistent ******
 +
perl-Class-ParamParser ******
 +
perl-Clone Y
 +
perl-Compress-Raw-Bzip2 Y
 +
perl-Compress-Raw-Zlib         Y
 +
perl-Compress-Zlib     Y
 +
perl-Convert-ASN1     Y
 +
perl-Convert-BinHex Y
 +
perl-Convert-TNEF ******
 +
perl-Crypt-Cracklib ******
 +
perl-Crypt-OpenSSL-Bignum Y
 +
perl-Crypt-OpenSSL-Random Y
 +
perl-Crypt-OpenSSL-RSA Y
 +
perl-DateManip Y
 +
perl-DBD-MySQL Y
 +
perl-DBI Y
 +
perl-Digest-HMAC Y
 +
perl-Digest-SHA1 Y
 +
perl-Email-Date-Format Y
 +
perl-Encode-Detect Y
 +
perl-Error Y
 +
perl-File-MMagic ******
 +
perl-Geography-Countries ******
 +
perl-HTML-Parser Y
 +
perl-HTML-Tabulate ******
 +
perl-HTML-Tagset Y
 +
perl-I18N-AcceptLanguage ******
 +
perl-IO-Compress-Base Y
 +
perl-IO-Compress-Bzip2 Y
 +
perl-IO-Compress-Zlib Y
 +
perl-IO-Socket-INET6 Y
 +
perl-IO-Socket-SSL Y
 +
perl-IO-stringy Y
 +
perl-IO-Zlib Y
 +
perl-IP-Country ******
 +
perl-LDAP Y
 +
perl-libwww-perl Y
 +
perl-Locale-gettext ******
 +
perl-Mail-DKIM Y
 +
perl-Mail-RFC822-Address ******
 +
perl-Mail-SPF ******
 +
perl-MailTools Y
 +
perl-MIME-Lite Y
 +
perl-MIME-tools Y
 +
perl-Net-DNS Y
 +
perl-Net-Ident ******
 +
perl-Net-IP Y
 +
perl-Net-IPv4Addr ******
 +
perl-Net-SMTP-SSL Y
 +
perl-Net-SSLeay Y
 +
perl-NetAddr-IP Y
 +
perl-Object-Persistence ******
 +
perl-Package-Constants Y
 +
perl-Quota ******
 +
perl-Razor-Agent ******
 +
perl-RPM2 ******
 +
perl-Socket6 Y
 +
perl-suidperl Y
 +
perl-Test-Inline ******
 +
perl-Text-Iconv Y
 +
perl-Text-Template ******
 +
perl-Time-TAI64 ******
 +
perl-TimeDate Y
 +
perl-Unix-ConfigFile ******
 +
perl-URI Y
 +
perl-version Y
 +
perl-WWW-Automate ******
 +
perl-XML-NamespaceSupport Y
 +
perl-XML-Parser Y
 +
perl-XML-SAX Y
  
perl-Digest-SHA Y<br />
 
perl Y<br />
 
perl-Archive-Tar Y<br />
 
perl-Authen-PAM ******<br />
 
perl-Authen-SASL Y<br />
 
perl-BSD-Resource ******<br />
 
perl-CGI-FormMagick ******<br />
 
perl-CGI-Persistent ******<br />
 
perl-Class-ParamParser ******<br />
 
perl-Clone Y<br />
 
perl-Compress-Raw-Bzip2 Y<br />
 
perl-Compress-Raw-Zlib Y<br />
 
perl-Compress-Zlib Y<br />
 
perl-Convert-ASN1 Y<br />
 
perl-Convert-BinHex Y<br />
 
perl-Convert-TNEF ******<br />
 
perl-Crypt-Cracklib ******<br />
 
perl-Crypt-OpenSSL-Bignum Y<br />
 
perl-Crypt-OpenSSL-Random Y<br />
 
perl-Crypt-OpenSSL-RSA Y<br />
 
perl-DateManip Y<br />
 
perl-DBD-MySQL Y<br />
 
perl-DBI Y<br />
 
perl-Digest-HMAC Y<br />
 
perl-Digest-SHA1 Y<br />
 
perl-Email-Date-Format Y<br />
 
perl-Encode-Detect Y<br />
 
perl-Error Y<br />
 
perl-File-MMagic ******<br />
 
perl-Geography-Countries ******<br />
 
perl-HTML-Parser Y<br />
 
perl-HTML-Tabulate ******<br />
 
perl-HTML-Tagset Y<br />
 
perl-I18N-AcceptLanguage ******<br />
 
perl-IO-Compress-Base Y<br />
 
perl-IO-Compress-Bzip2 Y<br />
 
perl-IO-Compress-Zlib Y<br />
 
perl-IO-Socket-INET6 Y<br />
 
perl-IO-Socket-SSL Y<br />
 
perl-IO-stringy Y<br />
 
perl-IO-Zlib Y<br />
 
perl-IP-Country ******<br />
 
perl-LDAP Y<br />
 
perl-libwww-perl Y<br />
 
perl-Locale-gettext ******<br />
 
perl-Mail-DKIM Y<br />
 
perl-Mail-RFC822-Address ******<br />
 
perl-Mail-SPF ******<br />
 
perl-MailTools Y<br />
 
perl-MIME-Lite Y<br />
 
perl-MIME-tools Y<br />
 
perl-Net-DNS Y<br />
 
perl-Net-Ident ******<br />
 
perl-Net-IP Y<br />
 
perl-Net-IPv4Addr ******<br />
 
perl-Net-Server ******<br />
 
perl-Net-SMTP-SSL Y<br />
 
perl-Net-SSLeay Y<br />
 
perl-NetAddr-IP Y<br />
 
perl-Object-Persistence ******<br />
 
perl-Package-Constants Y<br />
 
perl-Quota ******<br />
 
perl-Razor-Agent ******<br />
 
perl-RPM2 ******<br />
 
perl-Socket6 Y<br />
 
perl-suidperl Y<br />
 
perl-Test-Inline ******<br />
 
perl-Text-Iconv Y<br />
 
perl-Text-Template ******<br />
 
perl-Time-TAI64 ******<br />
 
perl-TimeDate Y<br />
 
perl-Unix-ConfigFile ******<br />
 
perl-URI Y<br />
 
perl-version Y<br />
 
perl-WWW-Automate ******<br />
 
perl-XML-NamespaceSupport Y<br />
 
perl-XML-Parser Y<br />
 
perl-XML-SAX Y<br />
 
  
 
I am now going to try and lob in the existing/missing el5 versions to see what happens. My guess is we will need to rebuild the required modules.
 
I am now going to try and lob in the existing/missing el5 versions to see what happens. My guess is we will need to rebuild the required modules.
Line 132: Line 163:
  
 
http://lists.contribs.org/mailman/listinfo/devinfo
 
http://lists.contribs.org/mailman/listinfo/devinfo
 +
 +
<noinclude>[[Category:Howto]]</noinclude>

Revision as of 07:47, 20 January 2013

PythonIcon.png Skill level: Developer
Risk of inconsistencies with Koozali SME Server methodology, upgrades & functionality is high. One must be knowledgeable about how changes impact their Koozali SME Server. Significant risk of irreversible harm.


SME on CentOS 6

Important.png Note:
NOTE !!!!!!

These are my own attempts. I am not qualified to do this. Do NOT try it on anything other than a Virtual Machine, or a test machine.



These are some notes on my attempts at installing SME on CentOS 6. Pardon the bad formatting - I was in a rush and haven't got to grasps with Wiki formatting yet.

There are two paths that I can see to testing this


1. Install CentOS 6 Minimal and try to add the equivalent 6 packages and see what is missing.
2. Install CentOS 6 Minimal and then try to add existing SME v8 (el5) packages

I decided to try Route 1 first.

I did the following using a Virtualbox VM for expediency allowing me to revert changes easily if I needed too.

Installing CentOS 6 minimal

First a few notes on CentOS 6 minimal.

This is a bare bones install with very little on board.

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 IP address yourself.

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

On first run make sure we have ssh installed so we can use a terminal to login - much easier for copy and pasting stuff :

yum install open-ssh*

To get to the sshd service you will need this on each boot :

service iptables stop
service sshd start

SME Server specific/required perl packages

I decided to attack perl first as the SME stuff is written in it.

Here is a list of perl files from v8 and their equivalent in CentOS 6 if available....

To get a list of the file names in v8 either do (all file starting with the string 'perl'):

rpm -qa --qf '%{NAME}\n' name=perl\*

(Thanks Shad !)

or as per suggestion on the lists (All files containing the string 'perl')

rpm -qa | grep perl | sed -e 's/-[0-9].*//'

To get a alphabetically sorted list (which is easier to compare lists) add '|sort' to the commands above.

rpm -qa --qf '%{NAME}\n' name=perl\*|sort
rpm -qa | grep perl | sed -e 's/-[0-9].*//'|sort

Which command will be the de facto standard to use so we are all talking about the same list??

This is the output of the non-GREP variant:

perl-Digest-SHA	Y
perl	Y
perl-Archive-Tar	Y
perl-Authen-PAM	******
perl-Authen-SASL	Y
perl-BSD-Resource	******
perl-CGI-FormMagick	******
perl-CGI-Persistent	******
perl-Class-ParamParser	******
perl-Clone	Y
perl-Compress-Raw-Bzip2	Y
perl-Compress-Raw-Zlib	        Y
perl-Compress-Zlib	     Y
perl-Convert-ASN1	    Y
perl-Convert-BinHex	Y
perl-Convert-TNEF	******
perl-Crypt-Cracklib	******
perl-Crypt-OpenSSL-Bignum	Y
perl-Crypt-OpenSSL-Random	Y
perl-Crypt-OpenSSL-RSA	Y
perl-DateManip	Y
perl-DBD-MySQL	Y
perl-DBI	Y
perl-Digest-HMAC	Y
perl-Digest-SHA1	Y
perl-Email-Date-Format	Y
perl-Encode-Detect	Y
perl-Error	Y
perl-File-MMagic	******
perl-Geography-Countries	******
perl-HTML-Parser	Y
perl-HTML-Tabulate	******
perl-HTML-Tagset	Y
perl-I18N-AcceptLanguage	******
perl-IO-Compress-Base	Y
perl-IO-Compress-Bzip2	Y
perl-IO-Compress-Zlib	Y
perl-IO-Socket-INET6	Y
perl-IO-Socket-SSL	Y
perl-IO-stringy	Y
perl-IO-Zlib	Y
perl-IP-Country	******
perl-LDAP	Y
perl-libwww-perl	Y
perl-Locale-gettext	******
perl-Mail-DKIM	Y
perl-Mail-RFC822-Address	******
perl-Mail-SPF	******
perl-MailTools	Y
perl-MIME-Lite	Y
perl-MIME-tools	Y
perl-Net-DNS	Y
perl-Net-Ident	******
perl-Net-IP	Y
perl-Net-IPv4Addr	******
perl-Net-SMTP-SSL	Y
perl-Net-SSLeay	Y
perl-NetAddr-IP	Y
perl-Object-Persistence	******
perl-Package-Constants	Y
perl-Quota	******
perl-Razor-Agent	******
perl-RPM2	******
perl-Socket6	Y
perl-suidperl	Y
perl-Test-Inline	******
perl-Text-Iconv	Y
perl-Text-Template	******
perl-Time-TAI64	******
perl-TimeDate	Y
perl-Unix-ConfigFile	******
perl-URI	Y
perl-version	Y
perl-WWW-Automate	******
perl-XML-NamespaceSupport	Y
perl-XML-Parser	Y
perl-XML-SAX	Y


I am now going to try and lob in the existing/missing el5 versions to see what happens. My guess is we will need to rebuild the required modules.

Next will be an attack on FormMagick - there is no package in the default install so need to figure that out. In may indeed be horrible, but we can live with it for now.

Hopefully with perl and FormMagick installed, most of the SME stuff *should* basically install.

Please consult/subscribe to the devs list here for more infromation :

http://lists.contribs.org/mailman/listinfo/devinfo