Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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 enableConfigure 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.
