smedev:install_sme_el6

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
smedev:install_sme_el6 [21/01/2013 08:52]
dani
smedev:install_sme_el6 [25/01/2013 21:46] (Version actuelle)
dani
Ligne 3: Ligne 3:
 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. 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.
  
-  * Start from a minimal el6 installation (I just installed a few utilities like htop, screen, rsync, vim, openssh-clients etc...) +===== Minimal EL6 Install ===== 
-  Disable graphical boot, it will be easier to see what's going on+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 ;-
 + 
 + 
 +===== Disable graphical boot ===== 
 + 
 +It will be easier to see what's going on (and turn off selinux at kernel level, just to be sure)
 <code bash> <code bash>
-sed -i -e 's/rhgb quiet//g' /boot/grub/menu.lst+sed -i -e 's/rhgb quiet/selinux=0/g' /boot/grub/menu.lst
 </code> </code>
-  * Disable SELinux:+ 
 +===== Disable SELinux ===== 
 <code bash> <code bash>
 sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
 </code> </code>
-  * Remove selinux-policy-targeted and authconfig, they conflict with some e-smith/smeserver packages+===== Remove selinux-policy-targeted and authconfig ===== 
 +They conflict with some e-smith/smeserver packages
 <code bash> <code bash>
 yum remove selinux-policy-targeted authconfig yum remove selinux-policy-targeted authconfig
 </code> </code>
 +===== Configure third party repo =====
 +
   * Enable the EPEL repo   * Enable the EPEL repo
 <code bash> <code bash>
-rpm -Uvh http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-7.noarch.rpm+rpm -Uvh http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-8.noarch.rpm
 </code> </code>
   * Enable the ATrpms repo   * Enable the ATrpms repo
Ligne 28: Ligne 38:
 rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
 </code> </code>
 +  * Configure SME repository (EL5 version for now)
 +<code bash>
 +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
 +</code>
 +  * import SME's GPG key
 +<code bash>
 +rpm --import http://sme-mirror.firewall-services.com/releases/8/smeos/x86_64/RPM-GPG-KEY-SMEServer
 +</code>
 +  * install yum-plugin-priorities
 +<code bash>
 +yum install yum-plugin-priorities
 +</code>
 +===== Configure yum priorities =====
 +
 +    * Set the base, updates and extras repo in /etc/yum.repos.d/CentOS-Base.repo a high priority (respectivly 50, 40, 50)
 +<code bash>
 +[...]
 +[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
 +
 +[...]
 +</code>
 +    * Set Epel to a priority of 60 in /etc/yum.repos.d/epel.repo
 +<code bash>
 +[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
 +</code>
 +    * Set RPMForge to a priority of 65 in /etc/yum.repos.d/rpmforge.repo
 +<code bash>
 +[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
 +</code>
 +    * Set atrpms to  priority of 70 in /etc/yum.repos.d/atrpms.repo
 +<code bash>
 +[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
 +</code>
 +===== Install som epackage without dependancy check =====
 +
 +A few packages have to be installed manually without dependancy check:
 +<code bash>
 +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
 +</code>
 +  * 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)
 +<code bash>
 +yum install perl-Razor-Agent perl-Data-UUID --disablerepo=sme\* --disablerepo=epel
 +</code>
 +===== Install e-smith-base =====
 +
 +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
 +<code bash>
 +yum --nogpgcheck install e-smith-base
 +</code>
 +===== Install the remaining e-smith/smeserver packages =====
 +
 +Now install all the remaining e-smith/smeserver packages
 +<code bash>
 +yum --nogpgcheck install e-smith\* smeserver\*
 +</code>
 +
 +It should install the following packages and their dependancies:
 +
 +<code>
 + 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             
 +</code>
 +
 +===== Install samba =====
 +Now install samba-client (e-smith-samba has been installed manually without dep check, otherwise it would have pulled samba3x package instead of samba)
 +<code bash>
 +yum install samba-client
 +</code>
 +
 +===== Replace upstart with SysVinit =====
 +
 +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
 +<code bash>
 +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
 +</code>
 +
 +===== Move some perl modules =====
 +
 +We need to copy some perl modules to a new directory, because @INC has changed in EL6:
 +<code bash>
 +cp -a /usr/lib/perl5/site_perl/esmith/ /usr/share/perl5/vendor_perl/
 +</code>
 +
 +===== 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:
 +<code bash>
 +/sbin/e-smith/db configuration set rsyslog service status enabled
 +cp -a /etc/rc7.d/S05syslog /etc/rc7.d/S05rsyslog
 +</code>
 +
 +===== Run post-upgrade =====
 +
 +We can now try to post-upgrade
 +<code bash>
 +/sbin/e-smith/signal-event post-upgrade
 +</code>
 +
 +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
 +
 +===== The system boots but completly broken :-) =====
 +
 +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
 +
 +  * [[what_is_not_working_on_el6|A more complete list of broken things]]
  • smedev/install_sme_el6.1358754727.txt.gz
  • Dernière modification: 21/01/2013 08:52
  • de dani