Index: /trunk/server/doc/install-howto.sh
===================================================================
--- /trunk/server/doc/install-howto.sh	(revision 2110)
+++ /trunk/server/doc/install-howto.sh	(revision 2111)
@@ -84,6 +84,11 @@
     yum remove NetworkManager
 
-# Make sure sendmail isn't installed
-    yum remove sendmail
+# Make sure sendmail isn't installed, replace it with postfix
+    yum shell <<EOF
+remove sendmail
+install postfix
+run
+exit
+EOF
 
 # Check out the scripts /etc configuration
@@ -115,6 +120,10 @@
 
 # Replace rsyslog with syslog-ng by doing:
-    rpm -e --nodeps rsyslog
-    yum install -y syslog-ng
+    yum shell <<EOF
+remove rsyslog
+install syslog-ng
+run
+exit
+EOF
     systemctl enable syslog-ng.service
 
@@ -123,8 +132,12 @@
 rpm -qa --queryformat "%{Name}.%{Arch}\n" | sort > packages.txt
 # arrange for packages.txt to be passed to the server, then run:
-# --skip-broken will (usually) prevent you from having to sit through
-# several minutes of dependency resolution until it decides that
-# it can't install /one/ package.
-    yum install -y --skip-broken $(cat packages.txt)
+    cd /tmp
+    yumdownloader --disablerepo=scripts ghc-cgi ghc-cgi-devel
+    yum localinstall ghc-cgi*.x86_64.rpm
+    yum install -y $(cat packages.txt)
+# The reason this works is that ghc-cgi is marked as installonlypkgs
+# in yum.conf, telling yum to install them side-by-side rather than
+# updating them. If it doesn't work, use --skip-broken on the yum
+# command line.
 
 # Check which packages are installed on your new server that are not
@@ -140,17 +153,4 @@
     # ModemManager PackageKit
 
-# We need an upstream version of cgi which we've packaged ourselves, but
-# it doesn't work with the haskell-platform package which expects
-# explicit versions.  So temporarily rpm -e the package, and then
-# install it again after you install haskell-platform.  [Note: You
-# probably won't need this in Fedora 17 or something, when the Haskell
-# Platform gets updated.] [It's not obvious to me that this actually
-# works]
-    rpm -e ghc-cgi-devel ghc-cgi
-    yum install -y haskell-platform
-    yumdownloader ghc-cgi
-    yumdownloader ghc-cgi-devel
-    rpm -i ghc-cgi*1.8.2*.rpm
-
 # ----------------------------->8--------------------------------------
 #                      SPHEROID SHENANIGANS
@@ -181,6 +181,6 @@
 # on both servers, see what the differences are, check if those diffs
 # are packaged up as rpms, and install them (rpm if possible, native otherwise)
-# - Look at /usr/lib/python2.6/site-packages and
-#           /usr/lib64/python2.6/site-packages for Python eggs and modules.
+# - Look at /usr/lib/python2.7/site-packages and
+#           /usr/lib64/python2.7/site-packages for Python eggs and modules.
 #   There will be a lot of gunk that was installed from packages;
 #   easy-install.pth in /usr/lib/ will tell you what was easy_installed.
@@ -238,8 +238,4 @@
 #   #   [TESTSERVER] daemon.scripts-test
 
-# [PRODUCTION/WIZARD] Fix the openafs /usr/vice/etc <-> /etc/openafs
-# mapping.
-    echo "/afs:/usr/vice/cache:10000000" > /usr/vice/etc/cacheinfo
-    echo "athena.mit.edu" > /usr/vice/etc/ThisCell
 # [TESTSERVER] If you're installing a test server, this needs to be
 # much smaller; the max filesize on XVM is 10GB.  Pick something like
@@ -249,4 +245,5 @@
 # new systemd world order: try editing the unit file instead.)
     echo "/afs:/usr/vice/cache:500000" > /usr/vice/etc/cacheinfo
+# XXX This is out of date in the systemd world.
     vim /etc/sysconfig/openafs
 
@@ -300,10 +297,4 @@
 # (Note: this errors on XeTeX which is ok.)
     fmtutil-sys --all
-
-# Ensure that PHP isn't broken:
-    mkdir /tmp/sessions
-    chmod 01777 /tmp/sessions
-    # XXX: this seems to get deleted if tmp gets cleaned up, so we
-    # might need something a little better (maybe init script.)
 
 # Fix etc by making sure none of our config files got overwritten
