Changeset 1668 for branches/fc13-dev/server/doc/install-howto.sh
- Timestamp:
- Sep 20, 2010, 2:24:08 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/fc13-dev/server/doc/install-howto.sh
r1661 r1668 1 1 # 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. 2 4 3 5 set -e -x … … 14 16 # though, try adding NSS_NONLOCAL_IGNORE. 15 17 16 [ -e /scripts-boot-count ] || echo 0 > /scripts-boot-count17 18 18 # This is actually just "pick an active scripts server". It can't be 19 19 # scripts.mit.edu because our networking config points that domain … … 22 22 source_server="cats-whiskers.mit.edu" 23 23 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 27 25 # use trunk if your just installing a new server, and branches/fcXX-dev 28 26 # 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 27 branch="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 40 33 yum update 41 42 if [ $boot = 0 ]; then43 44 echo "--disabled" > /etc/sysconfig/system-config-firewall45 46 # Turn on network, so we can connect at boot47 chkconfig network on48 49 # Edit /etc/selinux/config so it has SELINUX=disabled and reboot.50 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config51 doreboot52 fi53 54 if [ $boot = 1 ]; then55 # Create a scripts-build user account, and set up rpm to build in56 # $HOME by doing a57 # cp config/home/scripts-build/.rpmmacros /home/scripts-build/58 # (If you just use the default setup, it will generate packages59 # in /usr/src/redhat.)60 adduser scripts-build61 34 62 35 # Check out the scripts.mit.edu svn repository. Configure svn not to cache 63 36 # credentials. 64 65 yum install -y subversion66 37 67 38 cd /srv … … 87 58 # Run "make install-deps" to install various prereqs. Nonstandard 88 59 # deps are in /mit/scripts/rpm. 89 yum install -y make90 60 make install-deps 91 61 # You should pay close attention to the output of this command, and 92 62 # note if packages you think should exist don't exist anymore. 93 94 # Get some packages necessary for OpenAFS95 yum install -y redhat-lsb96 yum install -y autofs97 63 98 64 # Copy over root's dotfiles from one of the other machines. … … 109 75 # and then push to the other server 110 76 111 # Add scripts-build to the group 'mock'112 usermod -a -G mock scripts-build113 114 # Install bind115 yum install -y bind116 117 77 # Check out the scripts /etc configuration 118 78 cd /root … … 132 92 # keytabs and k5login to get Kerberized authentication. 133 93 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 136 104 137 105 # This is the point at which you should start updating scriptsified … … 140 108 141 109 yum install -y scripts-base 142 143 # Reload the iptables config to take down the restrictive firewall144 service iptables restart145 110 146 111 # Check that fs sysname is correct. You should see, among others, … … 153 118 yum install -y syslog-ng 154 119 chkconfig syslog-ng on 155 156 # Install various dependencies of the scripts system, including157 # glibc-devel.i586 (ezyang: already installed for me),158 # python-twisted-core (ditto), mod_fcgid, nrpe, nagios-plugins-all.159 yum install -y mod_fcgid160 yum install -y nrpe161 yum install -y nagios-plugins-all162 yum install -y fprintd-pam163 120 164 121 # Fix the openafs /usr/vice/etc <-> /etc/openafs mapping. … … 240 197 # want to be able to write to ~/.python-eggs. (Also makes sourcediving 241 198 # easier.) 199 cat /usr/lib/python2.6/site-packages/easy-install.pth 242 200 # - Look at `gem list` for Ruby gems. 243 201 # Again, use 'yum search' and prefer RPMs, but failing that, 'gem install'. 244 202 # ezyang: rspec-rails depends on rspec, and will override the Yum 245 203 # package, so... don't use that RPM yet 204 gem list 246 205 # - Look at `pear list` for Pear fruits (or whatever they're called). 247 206 # Yet again, 'yum search' for RPMs before resorting to 'pear install'. Note 248 207 # that for things in the beta repo, you'll need 'pear install package-beta'. 249 208 # (you might get complaints about the php_scripts module; ignore them) 209 pear list 250 210 # - Look at `pecl list` for PECL things. 'yum search', and if you must, 251 211 # 'pecl install' needed items. If it doesn't work, try 'pear install 252 212 # 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. 256 217 257 218 # Setup some Python config … … 317 278 vim /home/afsagent/renew # replace all mentions of daemon.scripts.mit.edu 318 279 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 322 282 323 283 # Make the services dirsrv, nslcd, nscd, postfix, and httpd start at … … 356 316 # ThisCell got clobbered, replace it with athena.mit.edu 357 317 echo "athena.mit.edu" > /usr/vice/etc/ThisCell 358 359 # Kill unnecessary services. (It's probably good form to look through360 # `chkconfig | grep on` manually)361 for i in avahi-daemon isdn nfslock pcscd rpcbind rpcgssd rpcidmapd; do362 chkconfig "$i" off363 done364 318 365 319 # Reboot the machine to restore a consistent state, in case you
Note: See TracChangeset
for help on using the changeset viewer.