25 Things to Do After Minimal RHELCentOS 7 Installation

After installing minimal version of RHEL/CentOS 7, you might be wondering what to do next. The minimal installation provides you with a basic operating system, but you still need to install additional packages and configure the system to suit your needs. In this article, we will explore 25 essential tasks to do after a minimal RHEL/CentOS 7 installation to help you get started.

System Updates and Core Setup

1. Update the System

First thing to do after installing a minimal RHEL/CentOS 7 is to update the system. This ensures you have the latest security updates and bug fixes.

sudo yum update

2. Install Development Tools

If you're planning to develop applications on your RHEL/CentOS 7 system, you need to install development tools. This group package includes gcc, make, and other essential build tools.

sudo yum groupinstall "Development Tools"

3. Install Extra Packages for Enterprise Linux (EPEL)

EPEL is a repository of additional packages for RHEL/CentOS that are not included in the default repositories. It provides access to thousands of additional packages.

sudo yum install epel-release

4. Install Essential System Utilities

Install commonly used utilities that are not included in the minimal installation

sudo yum install wget curl net-tools htop tree unzip

Text Editors and Version Control

5. Install Vim

Vim is a powerful text editor commonly used by Linux administrators and developers.

sudo yum install vim

6. Install Git

Git is a distributed version control system essential for software development and configuration management.

sudo yum install git

Web Server and Database Setup

7. Install Nginx

Nginx is a high-performance web server known for its low resource usage and excellent performance under load.

sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

8. Install Apache HTTP Server

Alternatively, you can install Apache as your web server

sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd

9. Install MariaDB

MariaDB is a popular open-source relational database management system, a drop-in replacement for MySQL.

sudo yum install mariadb-server mariadb
sudo systemctl enable mariadb
sudo systemctl start mariadb

10. Secure MariaDB

After installing MariaDB, secure it by running the security script

sudo mysql_secure_installation

Programming Languages and Runtimes

11. Install PHP

PHP is a popular server-side scripting language for web development.

sudo yum install php php-mysql php-fpm php-cli

12. Install Python Development Tools

Install Python development packages and pip

sudo yum install python-devel python-pip

13. Install Node.js and npm

Node.js is a JavaScript runtime for building server-side applications, and npm is its package manager.

sudo yum install nodejs npm

Database and Caching Systems

14. Install Redis

Redis is an in-memory data structure store used as a database, cache, and message broker.

sudo yum install redis
sudo systemctl enable redis
sudo systemctl start redis

15. Install Memcached

Memcached is a distributed memory object caching system that speeds up dynamic web applications.

sudo yum install memcached
sudo systemctl enable memcached
sudo systemctl start memcached

Security Configuration

16. Configure FirewallD

FirewallD is already installed in RHEL/CentOS 7. Configure it to allow necessary services

sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload

17. Install and Configure Fail2ban

Fail2ban protects your server from brute-force attacks by monitoring log files and banning malicious IP addresses.

sudo yum install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Edit the jail.local file to enable SSH protection

sudo vim /etc/fail2ban/jail.local

Enable the sshd jail

[sshd]
enabled = true
port = ssh
logpath = /var/log/secure
maxretry = 3
bantime = 600
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

18. Configure SSH Security

Enhance SSH security by modifying the configuration

sudo vim /etc/ssh/sshd_config

Make these changes for better security

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Port 2222

System Administration Tools

19. Install and Configure Cockpit

Cockpit is a web-based administration tool for managing your server through a browser interface.

sudo yum install cockpit
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload

20. Install System Monitoring Tools

Install useful monitoring and diagnostic tools

sudo yum install htop iotop nethogs iftop

File Sharing Services

21. Install and Configure Samba

Samba enables file sharing between Windows and Linux systems.

sudo yum install samba samba-client samba-common
sudo systemctl enable smb nmb
sudo systemctl start smb nmb

Create a basic share configuration

sudo vim /etc/samba/smb.conf

Add a share section

[shared]
path = /srv/samba/shared
browsable = yes
writable = yes
guest ok = no
valid users = @smbgroup

22. Install and Configure FTP Server

Install vsftpd for secure FTP file transfers

sudo yum install vsftpd
sudo systemctl enable vsftpd
sudo systemctl start vsftpd

Configure vsftpd for security

sudo vim /etc/vsftpd/vsftpd.conf

Key configuration settings

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
ssl_enable=YES

Additional Utilities

23. Install Docker

Install Docker for containerization

sudo yum install docker
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER

24. Configure Automatic Updates

Install and configure yum-cron for automatic security updates

sudo yum install yum-cron
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

25. Set Up Log Rotation

Ensure logrotate is properly configured to manage log files

sudo vim /etc/logrotate.conf

Verify logrotate is working

sudo logrotate -d /etc/logrotate.conf

Key Configuration Tips

  • Always enable services after installation using systemctl enable

  • Configure firewall rules for each service you install

  • Create regular backups of important configuration files

  • Use strong passwords and consider SSH key authentication

  • Monitor system resources regularly using tools like htop and iotop

Conclusion

These 25 tasks provide a solid foundation for transforming your minimal RHEL/CentOS 7 installation into a fully functional server. Remember to prioritize security configurations and always test changes in a development environment first. The specific packages and configurations you need will depend on your intended use case, but this list covers the most common requirements for web servers, development environments, and system administration.

Updated on: 2026-03-17T09:01:38+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements