CentOS (RedHat) and Fedora setup utilities

I've created a couple of utilities to ease the task of setting up a RH-based Linux server or client.

Main features

  • Installs popular package repos (EPEL, REMI, RPMForge, etc.)
  • Offers easy installation and semi-automatic cusomization of several applications and utilities
  • Apps like cloud storage, webmail, Shibboleth, iSCSI, inotify, etc. (see below)
  • Provides a detailed list of TODOs and recommendations based on the installed applications
  • It has a modular, easy-to-extend architecture to roll your own app setup scripts
  • Everything will work with SELinux set to enforced.
  • Offers security-related settings to harden your setup
    • Ensure time is always accurate
    • Set protective rules in firewall for all installed applications
      This also includes DoS protection for Apache and other servers.
    • SSHD attack prevention using firewall rules and Denyhosts.
    • AIDE and automated package integrity checking

How to use

Install the OS using the minimal ISO. This CentOS6 kickstart file may speed up the process (specify ks=... on boot). (CentOS7 version is here.)
Don't install any other apps. You are building a server. No GUI, no junk, only the necessary packages. (You can install them later.)
Ensure that networking is up and working.
Optionally copy your SSH/RSA key and use public key authentication:

 user@client:~$ ssh-copy-id root@server.domain

Log in as root and issue the following command:

bash <(curl -Ls http://blog.mit.bme.hu/meszaros/rh-setup)

Follow the instructions displayed :)

What's included

The following lists show the supported applications and system settings (CentOS 6).

 01-software-repos.setup  25-autofs.setup      76-owncloud.setup
02-basic.setup           27-nfs.setup         77-horde-webmail.setup
03-bash.setup            28-samba_cifs.setup  79-maillist.setup
04-time.setup            29-inotify.setup     81-dns-server.setup
05-security.setup        31-database.setup    82-dhcp-server.setup
06-logging.setup         43-bacula.setup      85-shibboleth.setup
10-authentication.setup  45-vmplayer.setup    91-monitoring.setup
11-ssh-login.setup       52-smtp.setup        95-kernel-tuning.setup
15-ldap-server.setup     55-dovecot.setup     97-vmguest.setup
16-antivirus.setup       61-swdevel.setup     98-update.setup
21-storage.setup         65-htcondor.setup    99-firewall.setup
23-iscsi.setup           71-webserver.setup   patches
24-quota.setup           73-php.setup

CentOS 7 is also supported and the set of available setup scripts is growing.