What post-install steps do you find yourself taking every time you install a new Linux server or VM ? I'm interested in things that could apply regardless of what use the server is to be put to, especially those that can save time down the line, and ways to automate each step.
Here is my set of initial tasks; note that I nearly always use Fedora.
- Enable network startup at boot time
- Add myself to the sudoers file
- Add my SSH keypair to ~/.ssh/authorized_keys to avoid having to log in with a password
- Add the new server to ~/.ssh/config on my client machine(s) so I can log in with "ssh newserver"
- Check out my customized .bashrc and .bash_profile from source control
- If on the internal network, set selinux enforcing to permissive
- If on the external network, install / configure blockhosts to stop the script kiddies
- Install / configure NRPE daemon for Nagios monitoring
- Install / configure NX server for remote GUI access
The way we do this is to use a kickstart/preseed file to install & configure Puppet on our servers during the OS install. Then as long as you've preconfigured your Puppet manifest to do all your initial tasks, it'll happen automatically.
I've got about 5,000 lines worth of Puppet manifest that do what I need. A bit much to be listing in a ServerFault answer.