Installing The Latest CentOS

Download the latest CentOS ISO image and burn an install DVD from:

     http://www.centos.org/

Boot the install disk and choose the "Customize Now" option when you see it in the install sequence. In all cases shown below, the package section is chosen (e.g. Applications, Development), then the major package is chosen, and then the individual/optional packages are selected/unselected. The following packages should be chosen:

  1. Pick one desktop (either Gnome or KDE - Gnome appears more popular).
     For Gnome, pick: NetworkManager-gnome; gnome-utils; evince;
       gnome-backgrounds; gnome-system-monitor; gnome-themes; hal-gnome.
     2) Applications.
     Do not select Authoring and Publishing.
     Pick your favorite Editor.
     If you selected EMACS under your favorite Editor, you don't need to
       pick it here.
     Do not select Engineering and Scientific.
     Remove Games.
     For Graphical Internet, only install FireFox.
     Remove Graphics.
     Remove Office/Productivity.
     Remove Sound and Video.
     Remove Text-based Internet.
     3) Development.
     Do not install anything.
     4) Servers.
     Do not install the DNS Name Server.
     Pick the FTP Server (but no optional packages).
     Pick the Legacy Network Server (pick: telnet; xinetd; rsh-server).
     Pick the Mail Server (pick: sendmail; sendmail-cf).
     Do not install the MySQL database.
     Pick Network Servers (then, install: vnc-server).
     Do not install the News Server.
     Do not install the PostgreSQL Database.
     Do not install any Printing Support.
     Do not install the Server Configuration Tools.
     Install the Web Server (but no optional packages).
     If you need Samba (trust us, you will), install the Windows File Server
       (but no optional packages).
     5) Base System.
     Install the Administration Tools (pick: pirut; system-config-date;
       system-config-keyboard; system-config-network; system-config-users).
     Install the Base (choose: telnet; yum-updatesd; anacron; conman; dos2unix;
       ftp; lftp; logwatch; man-pages; pam-*; rsh; rsync; sendmail; sudo;
       unzip).
     Install Dialup Networking Support (select: minicom; wvdial).
     Do not install Java.
     Do not install the Legacy Software Support.
     Do not install OpenFabrics Enterprise Distribution.
     Install System Tools (pick: lslk; ntp; samba-client; vnc;
       wireshark-gnome).
     Install the X Window System (go with all of the default packages).
     6) Do not install Virtualization.
     7) Do not install Clustering.
     8) Do not install Cluster Storage.
     9) Do not install the CentOS Extras.
     10) Languages (pick only the language you need).

Once you've selected (or deselected) all of the packages to install, continue through the subsequent steps of the install, making the following choices:

  1. Turn off the firewall. Your telephone switch should be behind a real firewall. If it isn't, you're probably going to be in trouble.
  2. Disable SELinux. This security elephant is a feature whose time has not come (although you might wish to read the section on Going Headless, above).
  3. Set the date/time. Timestamping of events will require accurate timekeeping.
  4. Create an additional userid (besides root). Since your switch might be run headless and you'll, therefore, want to be logging in via telnet or ssh to actually get to it, you'll need a non-root userid to log in. Remote logins directly to root are prohibited so you'll need to first log in with this userid and then su or sudo to root to do any useful work.
  5. Disable the sound card, if any. This ain't a multimedia machine.
  6. Install any additional CDs, if you have them. If you picked the 3Ware RAID controller (as noted above), it should not require any additional installation CD, since it is supported by CentOS directly.

After the installation has been completed and the new system rebooted, you can run the Package Manager post-startup to remove extra packages but its not especially worth it (except for Network Manager, see below), particularly if you chose all of the right stuff at install time.

Incidentally, now would be a good time to set the default Runlevel to 3, in /etc/inittab, if you're going headless.