Installing CentOS 7
Please note: This instruction was created for my personal use. Feel free to follow it, but I am not responsible for any problems or data loss!
Download the network install CD, which can be found at:
http://ftp.tudelft.nl/centos.org/7/isos/x86_64/CentOS-7-x86_64-NetInstall-2009.iso. Check the MD5 sum by running md5sum on CentOS-7-x86_64-NetInstall-2009.iso and compare the result to the SHA256 sums at:
http://ftp.tudelft.nl/centos.org/7/isos/x86_64/sha256sum.txt.
Boot from the network install CD. Make sure you have at least 768MB of memory available, or you will not be able to create a custom harddisk layout.
Select Install CentOS 7 at the CD boot screen. Set the installation language to English; Keyboard: English (United States). Set the Date&Time options. Click the Installation Source setting, select Network and enter the correct URL:
http://ftp.tudelft.nl/centos.org/7/os/x86_64/
- Select the U.S. English keyboard layout.
- Select Basic Storate Devices (unless you are installing to a SAN).
- Enter the hostname you would like to use (do not add the domain name).
- Select the correct timezone and make sure System uses UTC is enabled.
- Enter the root password.
- Select Create Custom Layout and create a primary partition for the OS and one for swap (create a swap partition as large as the amount of memory you have).
- Use the ext4 filesystem for all partitions (instead of XFS)
- Use the provided boot loader configuration.
- Select the Minimal installation option.
- Wait for the installation to finish.
- Reboot the system.
- Add the EPEL repository by running:
yum install epel-release
- Install the following packages:
yum install -y yum-utils sysstat iotop strace tcpdump lsof ntp ntpdate man man-pages mlocate wget perl iptraf-ng bind-utils net-tools psmisc vim-enhanced rsync lynx atop screen
- Add the
noatime
option to all ext3/ext4/XFS/etc filesystem options in /etc/fstab
- Edit /etc/default/grub and remove the rhgb and quiet options from GRUB_CMDLINE_LINUX. Replace these options with: nomodeset vga=normal consoleblank=0 (add elevator=none when running on an SSD or in a VM)
- Create a new grub2 config file using:
grub2-mkconfig > /boot/grub2/grub.cfg
- Update the system:
yum upgrade
- Add a normal user, to log in as:
useradd -m username
- Set a password:
passwd username
- Add the normal user to the wheel group:
usermod -a -G wheel username
- Make sure root cannot log in via ssh by changing /etc/ssh/sshd_config:
-
PermitRootLogin prohibit-password
- This will disable logging in as root, via ssh, but it is still possible to log in as root using SSH public key authentication.
- Disable SELinux by setting
SELINUX=disabled
in /etc/sysconfig/selinux (a reboot is needed to fully disable SELinux. Do not disable SELinux for production systems)
- Disable the firewall (when in a secure network), by running:
systemctl disable firewalld
- Enable irqbalance:
systemctl enable irqbalance.service
(only useful on an SMP system)
- Set up /etc/ntp.conf:
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server 0.nl.pool.ntp.org
server 1.nl.pool.ntp.org
server 2.nl.pool.ntp.org
server 3.nl.pool.ntp.org
- Change /etc/ntp/step-tickers:
0.nl.pool.ntp.org
1.nl.pool.ntp.org
- Enable ntpdate and ntpd:
systemctl enable ntpdate ; systemctl enable ntpd
- Reboot the system to activate all changes
--
Ivo van Geel - 19 Nov 2014