RHEL6 notes

From WeBWorK_wiki
Revision as of 10:37, 11 July 2011 by Bennet (talk | contribs)
Jump to navigation Jump to search

Configuring a Red Hat Enterprise Linux 6 machine for WeBWorK

Strategy

We install the WeBWorK servers to be single-purpose servers that don't do much of anything else. We presume that shell (login) access is restricted to one or two people who are trusted and that nothing else of consequence is running on the machine. That said, we've adopted the strategy that determining what WeBWorK needs will let us backtrack to determine what needs to be installed in support of that, and that's all we install, except some system monitoring tools.

Installing RHEL 6 base system

We install using kickstart files, as that enables us to install far less at the beginning, then add what we need later. The kickstart file specifies many of the characteristics of the system, not least of which is the list of packages that get installed. This is done in the section labeled %post by listing either a package or package group to install, or one can list packages to remove from a group.

If you install from the DVD and take the minimal installation, then you should be able to get your WeBWorK server running by following the instructions below.

kickstart

If you are using kickstart to build your machines, then this is what we put into our %packages section.

%packages  --ignoremissing
@base
curl
wget
gpm
@development
# exclude some interactive development tools we probably won't ever need
-intltool
-cscope
-ctags
-doxygen
-indent
-swig
-systemtap
-crash
-libXtst
-libart_lgpl
-libgcj
# end of excludes from @development
-autofs
-bluez-gnome
-bluez-libs
-bluez-utils
-cups
-cups-libs
-irda-utils
-nfs-utils
-nfs-utils-lib
-oddjob
-oddjob-libs
-paps
-pcsc-lite
-pcsc-lite-libs
-redhat-lsb
-yp-tools
-ypbind

We don't use NFS or automounter, so we take all that out. If you need it, you can put it back.

Once the server is installed, make sure that you have access to the repository containing the Red Hat packages, either the Red Hat Network, or your installation DVD.

The first thing we do is to update yum itself, as we've sometimes had trouble if it's not. Then, once it is updated, clear all its caches.

/usr/bin/yum update yum\*
/usr/bin/yum clean all

Next, make sure that everything on your system is up-to-date with

/usr/bin/yum -y update

We next install things we know we need for our environment,

/usr/bin/yum -y install mysql mysql-server \
    httpd httpd-devel httpd-manual mod_perl mod_ssl \
    openssl-perl subversion

We also install these, but they may not be strictly speaking necessary for WeBWorK

/usr/bin/yum -y install kernel-headers kernel-devel \
    ntp net-snmp openssl-devel patch procps python-devel
    python-docs sysstat rpm-build pam_krb5 cvs 

Next we install TeX, though we skip installing the asian language extensions.

/usr/bin/yum -y install texlive\* --exclude \*asian\*

Finally, we get to this set of packages that seem to be definitely required.

/usr/bin/yum -y install netpbm netpbm-progs netpbm-devel gd \
   ghostscript ghostscript-devel ghostscript-fonts ghostscript-gtk \
   perl-TimeDate perl-XML-Parser perl-Net-IP perl-CPAN gdbm-devel

Many of the perl libraries come from EPEL, so we install that

/bin/rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm

Finally, we get to the list of additional perl modules that are required for WeBWorK.

/usr/bin/yum -y --enablerepo epel install libapreq2 perl-libapreq2
   perl-Class-Singleton perl-Time-HiRes \
   perl-Params-Validate perl-DateTime perl-GD perl-XML-Parser \
   perl-Mail-Sender perl-SQL-Abstract perl-String-ShellQuote \
   perl-Class-Data-Inheritable perl-Exception-Class \
   perl-Devel-StackTrace perl-CGI perl-XML-Writer perl-MIME-Lite \
   perl-MailTools perl-version perl-Tie-IxHash \
   perl-Email-Address perl-SOAP-Lite perl-pmtools

Now that everything is installed, reboot. When it comes back up,