Ignore:
Timestamp:
Sep 20, 2010, 2:24:08 PM (12 years ago)
Author:
ezyang
Message:
Remove instructions obsoleted by kickstart.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/fc13-dev/server/doc/install-howto.sh

    r1661 r1668  
    11# This document is a how-to for installing a Fedora scripts.mit.edu server.
     2# It is semi-vaguely in the form of a shell script, but is not really
     3# runnable as it stands.
    24
    35set -e -x
     
    1416# though, try adding NSS_NONLOCAL_IGNORE.
    1517
    16 [ -e /scripts-boot-count ] || echo 0 > /scripts-boot-count
    17 
    1818# This is actually just "pick an active scripts server".  It can't be
    1919# scripts.mit.edu because our networking config points that domain
     
    2222source_server="cats-whiskers.mit.edu"
    2323
    24 boot=${1:$(cat /scripts-boot-count)}
    25 
    26 # XXX: let 'branch' be the current svn branch you are on.  You want to
     24# 'branch' is the current svn branch you are on.  You want to
    2725# use trunk if your just installing a new server, and branches/fcXX-dev
    2826# if your preparing a server on a new Fedora release.
    29 
    30 doreboot() {
    31     echo $(( $boot + 1 )) > /scripts-boot-count;
    32     shutdown -r now "Rebooting for step $(cat /scripts-boot-count)"
    33 }
    34 
    35 # Helper files for the install are located in server/fedora/config.
    36 
    37 # Start with a minimal install of Fedora.
    38 
    39 # Take updates
     27branch="trunk"
     28
     29# Start with a Scripts kickstarted install of Fedora (install-fedora)
     30
     31# Take updates, reboot if there's a kernel update.
     32
    4033    yum update
    41 
    42 if [ $boot = 0 ]; then
    43 
    44 echo "--disabled" > /etc/sysconfig/system-config-firewall
    45 
    46 # Turn on network, so we can connect at boot
    47 chkconfig network on
    48 
    49 # Edit /etc/selinux/config so it has SELINUX=disabled and reboot.
    50     sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
    51     doreboot
    52 fi
    53 
    54 if [ $boot = 1 ]; then
    55 # Create a scripts-build user account, and set up rpm to build in
    56 # $HOME by doing a
    57 # cp config/home/scripts-build/.rpmmacros /home/scripts-build/
    58 # (If you just use the default setup, it will generate packages
    59 # in /usr/src/redhat.)
    60     adduser scripts-build
    6134
    6235# Check out the scripts.mit.edu svn repository. Configure svn not to cache
    6336# credentials.
    64 
    65     yum install -y subversion
    6637
    6738    cd /srv
     
    8758# Run "make install-deps" to install various prereqs.  Nonstandard
    8859# deps are in /mit/scripts/rpm.
    89     yum install -y make
    9060    make install-deps
    9161    # You should pay close attention to the output of this command, and
    9262    # note if packages you think should exist don't exist anymore.
    93 
    94 # Get some packages necessary for OpenAFS
    95     yum install -y redhat-lsb
    96     yum install -y autofs
    9763
    9864# Copy over root's dotfiles from one of the other machines.
     
    10975    # and then push to the other server
    11076
    111 # Add scripts-build to the group 'mock'
    112     usermod -a -G mock scripts-build
    113 
    114 # Install bind
    115     yum install -y bind
    116 
    11777# Check out the scripts /etc configuration
    11878    cd /root
     
    13292# keytabs and k5login to get Kerberized authentication.
    13393
    134     service named start
    135     chkconfig named on
     94# Make sure network is working.  If this is a new server name, you'll
     95# need to add it to /etc/hosts and
     96# /etc/sysconfig/network-scripts/route-eth1.  Kickstart should have
     97# configured eth0 and eth1 correctly; use service network restart
     98# to add the new routes in route-eth1.
     99    route
     100    ifconfig
     101    cat /etc/hosts
     102    cat /etc/sysconfig/network-scripts/route-eth1
     103    service network restart
    136104
    137105# This is the point at which you should start updating scriptsified
     
    140108
    141109    yum install -y scripts-base
    142 
    143 # Reload the iptables config to take down the restrictive firewall
    144     service iptables restart
    145110
    146111# Check that fs sysname is correct.  You should see, among others,
     
    153118    yum install -y syslog-ng
    154119    chkconfig syslog-ng on
    155 
    156 # Install various dependencies of the scripts system, including
    157 # glibc-devel.i586 (ezyang: already installed for me),
    158 # python-twisted-core (ditto), mod_fcgid, nrpe, nagios-plugins-all.
    159     yum install -y mod_fcgid
    160     yum install -y nrpe
    161     yum install -y nagios-plugins-all
    162     yum install -y fprintd-pam
    163120
    164121# Fix the openafs /usr/vice/etc <-> /etc/openafs mapping.
     
    240197#   want to be able to write to ~/.python-eggs.  (Also makes sourcediving
    241198#   easier.)
     199    cat /usr/lib/python2.6/site-packages/easy-install.pth
    242200# - Look at `gem list` for Ruby gems.
    243201#   Again, use 'yum search' and prefer RPMs, but failing that, 'gem install'.
    244202#       ezyang: rspec-rails depends on rspec, and will override the Yum
    245203#       package, so... don't use that RPM yet
     204    gem list
    246205# - Look at `pear list` for Pear fruits (or whatever they're called).
    247206#   Yet again, 'yum search' for RPMs before resorting to 'pear install'.  Note
    248207#   that for things in the beta repo, you'll need 'pear install package-beta'.
    249208#   (you might get complaints about the php_scripts module; ignore them)
     209    pear list
    250210# - Look at `pecl list` for PECL things.  'yum search', and if you must,
    251211#   'pecl install' needed items. If it doesn't work, try 'pear install
    252212#   pecl/foo' or 'pecl install foo-beta' or those two combined.
    253     # Automating this... will require a lot of batonning between
    254     # the servers. Probably best way to do it is to write an actual
    255     # script.
     213    pecl list
     214# Automating this... will require a lot of batonning between
     215# the servers. Probably best way to do it is to write an actual
     216# script.
    256217
    257218# Setup some Python config
     
    317278    vim /home/afsagent/renew # replace all mentions of daemon.scripts.mit.edu
    318279
    319 # Install 389-ds-base and set up replication (see ./install-ldap).
    320     yum install 389-ds-base
    321     # [complicated procedure here]
     280# Set up replication (see ./install-ldap).
     281    cat install-ldap
    322282
    323283# Make the services dirsrv, nslcd, nscd, postfix, and httpd start at
     
    356316# ThisCell got clobbered, replace it with athena.mit.edu
    357317    echo "athena.mit.edu" > /usr/vice/etc/ThisCell
    358 
    359 # Kill unnecessary services. (It's probably good form to look through
    360 # `chkconfig | grep on` manually)
    361     for i in avahi-daemon isdn nfslock pcscd rpcbind rpcgssd rpcidmapd; do
    362         chkconfig "$i" off
    363     done
    364318
    365319# Reboot the machine to restore a consistent state, in case you
Note: See TracChangeset for help on using the changeset viewer.