RHEL BasedRocky Linux

How To Install ISPConfig on Rocky Linux 10

Install ISPConfig on Rocky Linux 10

ISPConfig stands as one of the most powerful open-source hosting control panels available today. This comprehensive web hosting control panel simplifies the complex task of managing web servers, email systems, DNS records, and client hosting services through an intuitive web interface. Rocky Linux 10, as a stable enterprise-grade distribution and CentOS successor, provides an excellent foundation for hosting environments that demand reliability and long-term support.

This detailed guide will walk system administrators, web hosting professionals, and IT enthusiasts through the complete process of installing ISPConfig on Rocky Linux 10. From initial system preparation to advanced security configuration, every step is covered to ensure a successful deployment. By the end of this tutorial, you’ll have a fully functional ISPConfig installation capable of managing multiple websites, email accounts, databases, and DNS records with professional-grade capabilities.

The installation process involves setting up a complete LAMP stack (Linux, Apache, MySQL/MariaDB, PHP), configuring essential services like Postfix and Dovecot for email functionality, and implementing proper security measures. ISPConfig’s 2025 roadmap includes official Rocky Linux support, validating this installation approach and ensuring future compatibility.

Prerequisites and System Requirements

Hardware Requirements

Before beginning the ISPConfig installation on Rocky Linux 10, ensuring adequate hardware resources is crucial for optimal performance. The minimum hardware specifications include 1 GB RAM, though 2 GB or more is strongly recommended for production environments. Disk space requirements start at 10 GB free space, but 20 GB or more provides comfortable room for system growth and client data.

A 64-bit CPU architecture (x86_64 or AMD64) is mandatory for Rocky Linux 10 compatibility. These baseline specifications support basic hosting needs with a few websites and email accounts. Production environments serving multiple clients should consider significantly higher specifications based on expected traffic volumes and concurrent user counts.

Rocky Linux 10 documentation specifies 40 GB+ for GUI installations, though server installations require less space. Insufficient hardware resources commonly lead to poor performance, installation failures, and service instability. Virtual private servers (VPS) or dedicated servers meeting these requirements work excellently for ISPConfig deployments.

Software Prerequisites

A clean Rocky Linux 10 installation provides the optimal starting point for ISPConfig deployment. Root access or sudo privileges are essential for system configuration and service management throughout the installation process. Stable internet connectivity enables package downloads and repository access during installation.

The complete LAMP stack forms the foundation of ISPConfig functionality. Apache web server handles HTTP requests and virtual host management. MariaDB database server stores ISPConfig configuration data and client website databases. PHP with essential modules provides scripting capabilities for the control panel and hosted websites.

Additional services integrate seamlessly with ISPConfig for comprehensive hosting functionality. Postfix mail server manages email delivery and routing. Dovecot IMAP/POP3 server enables email retrieval for clients. Pure-FTPD provides secure file transfer capabilities. BIND DNS server handles domain name resolution and DNS record management.

Starting with a fresh, minimal Rocky Linux 10 installation prevents conflicts with existing services and ensures clean dependency resolution. Previously configured services may interfere with ISPConfig’s automated setup process.

System Preparation and Initial Setup

Updating Rocky Linux 10

System updates ensure the latest security patches and software versions before ISPConfig installation begins. The DNF package manager handles all package operations on Rocky Linux 10 systems. Execute the following command to update all installed packages:

sudo dnf update -y

This command downloads and installs all available updates automatically. The -y flag confirms all prompts without user intervention. Major kernel updates may require system reboot to activate new kernel versions. Check for required reboots using:

needs-restarting -r

Verify the update process completed successfully by checking the DNF history:

sudo dnf history

Updated systems provide better compatibility with ISPConfig packages and reduce security vulnerabilities. Allow adequate time for updates to complete, especially on slower internet connections.

Network Configuration

Proper network configuration ensures ISPConfig services function correctly across the network infrastructure. Rocky Linux 10 provides multiple tools for network interface management. The nmtui command launches a text-based graphical interface for network configuration:

sudo nmtui

Configure static IP addresses for production servers to ensure consistent network accessibility. Set appropriate subnet masks, gateway addresses, and DNS servers for your network environment. Alternative command-line configuration uses nmcli commands:

sudo nmcli connection modify "connection-name" ipv4.addresses "192.168.1.100/24"
sudo nmcli connection modify "connection-name" ipv4.gateway "192.168.1.1"
sudo nmcli connection modify "connection-name" ipv4.dns "8.8.8.8,8.8.4.4"
sudo nmcli connection modify "connection-name" ipv4.method manual
sudo nmcli connection up "connection-name"

Network configuration affects ISPConfig’s multi-service architecture, particularly email and DNS services requiring reliable connectivity. Test network connectivity after configuration changes to ensure proper functionality.

Hostname and FQDN Setup

Hostname and Fully Qualified Domain Name (FQDN) configuration is critical for ISPConfig functionality. Many services depend on proper hostname resolution, including email delivery and SSL certificate generation. Set the system hostname using the hostnamectl command:

sudo hostnamectl set-hostname server.example.com

Replace server.example.com with your actual FQDN. Edit the /etc/hosts file to include proper hostname resolution:

sudo nano /etc/hosts

Add the following line with your actual IP address and hostname:

192.168.1.100    server.example.com    server

Verify hostname configuration using:

hostnamectl status
hostname -f

Both commands should return your configured FQDN. Incorrect hostname configuration causes various ISPConfig service failures, particularly with email functionality and SSL certificate operations.

Installing LAMP Stack Components

Apache Web Server Installation

Apache HTTP Server forms the foundation of the web hosting environment. Rocky Linux 10 repositories include current Apache versions optimized for enterprise use. Install Apache using the DNF package manager:

sudo dnf install httpd -y

This command installs Apache and required dependencies automatically. Enable Apache to start automatically at boot time:

sudo systemctl enable httpd

Start the Apache service immediately:

sudo systemctl start httpd

Configure firewall rules to allow HTTP and HTTPS traffic:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Verify Apache installation by accessing your server’s IP address through a web browser. The default Apache test page confirms successful installation. Check Apache service status using:

sudo systemctl status httpd

MariaDB Database Server Setup

MariaDB provides robust database services for ISPConfig configuration storage and client website databases. Install MariaDB server and client packages:

sudo dnf install mariadb-server mariadb -y

Enable MariaDB to start automatically at system boot:

sudo systemctl enable mariadb

Start the MariaDB service:

sudo systemctl start mariadb

Secure the MariaDB installation using the security script:

sudo mysql_secure_installation

This interactive script prompts for several security configurations. Set a strong root password when prompted. Answer “Y” to remove anonymous users, disallow root login remotely, remove the test database, and reload privilege tables.

Test MariaDB connectivity:

mysql -u root -p

Enter the root password you configured during the security installation. ISPConfig requires specific database privileges and supports both traditional mysql_native_password and newer authentication methods.

PHP Installation and Configuration

PHP provides server-side scripting capabilities for ISPConfig and hosted websites. Install PHP along with essential modules required by ISPConfig:

sudo dnf install php php-mysql php-gd php-curl php-mbstring php-xml php-zip php-opcache php-json php-intl php-ldap php-imap -y

Each PHP module serves specific ISPConfig functionality. The php-mysql module enables database connectivity. Graphics functions require php-gd for image manipulation. Network operations use php-curl for HTTP requests. Text processing relies on php-mbstring for multi-byte string handling.

Configure PHP settings for optimal ISPConfig performance. Edit the main PHP configuration file:

sudo nano /etc/php.ini

Locate and modify these settings:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

ISPConfig benefits from PHP-FPM for improved performance with multiple websites. Install PHP-FPM:

sudo dnf install php-fpm -y
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

Restart Apache to load PHP modules:

sudo systemctl restart httpd

Create a PHP test file to verify installation:

echo "" | sudo tee /var/www/html/info.php

Access http://your-server-ip/info.php to view PHP configuration details.

Additional Services Installation

Complete ISPConfig functionality requires several additional services for email, file transfer, and DNS management. Install Postfix mail server for email delivery:

sudo dnf install postfix -y
sudo systemctl enable postfix
sudo systemctl start postfix

Install Dovecot for IMAP/POP3 email retrieval services:

sudo dnf install dovecot -y
sudo systemctl enable dovecot

Pure-FTPD provides secure file transfer capabilities:

sudo dnf install pure-ftpd -y
sudo systemctl enable pure-ftpd

BIND DNS server handles domain name resolution and DNS record management:

sudo dnf install bind bind-utils -y
sudo systemctl enable named

Additional useful packages for ISPConfig include:

sudo dnf install mailx awstats webalizer fail2ban rkhunter -y

These packages provide log analysis, security monitoring, and system maintenance capabilities that integrate with ISPConfig’s management interface.

ISPConfig Download and Installation

Obtaining ISPConfig Files

ISPConfig installation begins with downloading the latest stable version from official sources. Always use official download locations to ensure file integrity and security. Navigate to a temporary directory for the download:

cd /tmp

Download the latest ISPConfig stable version using wget:

wget https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz

Extract the downloaded archive:

tar -xzf ISPConfig-3-stable.tar.gz

Navigate to the extracted ISPConfig directory:

cd ispconfig3_install/install/

The installation directory contains the PHP installation script and various configuration templates. List directory contents to verify extraction:

ls -la

For automated installations, ISPConfig provides a streamlined installer script:

wget -O - https://get.ispconfig.org | sh -

This command downloads and executes the automated installer, which handles dependency installation and basic configuration automatically.

Running the Installation Script

Execute the ISPConfig installation script with PHP interpreter:

sudo php -q install.php

The installation script presents an interactive configuration process. Select “Standard” installation for most hosting scenarios when prompted. This option configures ISPConfig for single-server environments with integrated services.

Web server selection appears early in the installation. Choose Apache when prompted unless specific requirements demand Nginx. Apache integration provides broader compatibility and established configuration templates.

SSL certificate configuration offers several options. Select “yes” for SSL certificate generation to enable secure HTTPS access to the ISPConfig control panel. Self-signed certificates work for testing environments, while production systems benefit from proper SSL certificates.

Database configuration requires the MySQL root password configured during MariaDB setup. The installer creates necessary databases and user accounts automatically. Secure passwords protect ISPConfig database access.

Optional components like Roundcube webmail provide additional functionality. Enable webmail installation for integrated email access through the control panel. SpamAssassin and ClamAV enhance email security through spam filtering and antivirus scanning.

The installation process typically completes within 10-15 minutes depending on system performance and selected options. Monitor installation progress and address any error messages immediately.

Installation Configuration Options

ISPConfig presents numerous configuration choices during installation affecting final system behavior. Server configuration determines ISPConfig’s operational mode. Single-server installations integrate all services on one machine. Multi-server setups distribute services across multiple servers for scalability.

Expert mode enables advanced configuration options for experienced administrators. Standard mode provides suitable defaults for most installations. Expert mode allows custom port configurations, service selections, and integration options.

SSL certificate configuration impacts security and browser compatibility. Let’s Encrypt integration provides automated certificate management for production domains. Self-signed certificates suffice for internal testing but trigger browser security warnings.

Database options include MySQL/MariaDB selection and authentication method configuration. ISPConfig supports both traditional and newer authentication mechanisms. Root database access enables complete ISPConfig database management.

Email configuration determines mail server integration and security features. Enable SpamAssassin for spam filtering and ClamAV for antivirus protection. Amavisd integration provides comprehensive email security management.

Installation logs capture detailed progress information and error messages. Monitor logs during installation to identify potential issues early. Log files remain available for troubleshooting post-installation problems.

Post-Installation Configuration

Accessing ISPConfig Control Panel

After successful installation, access the ISPConfig web interface through your web browser. The standard URL format uses port 8080:

https://your-server-ip:8080

Replace your-server-ip with your server’s actual IP address or configured domain name. Browser security warnings appear when accessing self-signed SSL certificates. Click “Advanced” and proceed to the site despite warnings for testing environments.

Install ISPConfig on Rocky Linux 10

Default login credentials use username “admin” and password “admin”. These credentials provide full administrative access to the ISPConfig control panel. Change these credentials immediately after first login to prevent unauthorized access.

Firewall configuration must allow port 8080 access:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Common access issues include firewall blocking, incorrect SSL configuration, or service startup problems. Verify Apache and ISPConfig services are running:

sudo systemctl status httpd
sudo systemctl status mysql

Network connectivity tests help identify access problems:

netstat -tlnp | grep :8080

Initial Setup and Security Configuration

First-time ISPConfig access requires immediate security configuration. Change the default administrator password through the System > CP Users menu. Select a strong password containing uppercase letters, lowercase letters, numbers, and special characters.

Configure essential server settings through the System menu. Set appropriate timezone for log entries and scheduled tasks. Configure administrative email addresses for system notifications and alerts. Update interface language preferences if needed.

Review server configuration settings before adding clients or websites. Verify Apache, PHP, and database configurations match your requirements. SSL certificate configuration affects website security options. DNS server settings impact domain management capabilities.

User interface familiarization improves administrative efficiency. The main navigation includes Sites, Email, DNS, Client, and System sections. Each section contains relevant management tools and configuration options. Context-sensitive help provides guidance for specific features.

Security hardening extends beyond password changes. Enable session timeouts for automatic logout after inactivity. Configure IP address restrictions for administrative access when possible. Regular security updates maintain protection against emerging threats.

Creating First Client and Website

ISPConfig operates on a client-website hierarchy system. Clients represent customers or organizational units. Websites belong to specific clients and inherit permissions and resource limitations. Create the first client account through the Client > Add Client menu.

Client configuration includes contact information, resource limits, and service permissions. Set appropriate limits for disk space, traffic, email accounts, and databases based on hosting plans. Enable or disable services like FTP access, SSH access, and DNS management per client requirements.

Website creation follows client establishment. Navigate to Sites > Add Website and select the appropriate client. Configure the domain name, document root path, and basic web server settings. Enable PHP and select appropriate PHP versions for website requirements.

DNS configuration accompanies website creation for proper domain resolution. ISPConfig can manage DNS records automatically or integrate with external DNS providers. Configure A records, MX records, and other DNS entries as needed for complete domain functionality.

FTP user creation enables file management capabilities. Create FTP accounts through the Sites > FTP User menu. Associate FTP users with specific websites for isolated access. SSH access provides command-line file management for advanced users.

Website testing verifies proper functionality. Upload test files through FTP and verify web browser access. Check PHP functionality with simple test scripts. Monitor error logs for any configuration issues requiring attention.

Security Configuration and Hardening

Firewall Configuration

Rocky Linux 10’s firewalld service provides robust network security through rule-based traffic filtering. ISPConfig requires specific ports open for proper operation across all integrated services. Configure essential port access using firewall-cmd commands:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=smtp-submission
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-service=dns

Reload firewall configuration to activate changes:

sudo firewall-cmd --reload

Verify open ports and active rules:

sudo firewall-cmd --list-all

Advanced firewall configurations include rate limiting and fail2ban integration for enhanced security. Configure rate limiting for SSH access:

sudo firewall-cmd --permanent --add-rich-rule="rule service name=ssh limit value=3/m accept"

Balance security requirements with service functionality. Overly restrictive rules may prevent legitimate access while inadequate protection exposes services to attacks.

SSL/TLS Certificate Setup

SSL/TLS encryption secures communications between clients and servers. ISPConfig supports multiple SSL certificate sources including Let’s Encrypt automated certificates and commercial certificate authorities. Install Certbot for Let’s Encrypt integration:

sudo dnf install certbot python3-certbot-apache -y

Generate SSL certificates for your domain:

sudo certbot --apache

Certbot automatically configures Apache virtual hosts for SSL termination and creates automatic renewal cron jobs. Verify certificate installation:

sudo certbot certificates

ISPConfig’s SSL management interface enables certificate configuration for individual websites. Navigate to Sites > Select Website > Options tab for SSL configuration options. Enable SSL and redirect HTTP traffic to HTTPS for enhanced security.

Monitor SSL certificate expiration dates and renewal processes. Certbot includes automatic renewal through systemd timers:

sudo systemctl status certbot.timer

Test renewal process manually to verify functionality:

sudo certbot renew --dry-run

ISPConfig 3.4 introduces improved Certbot account management and multiple account handling capabilities for enhanced certificate management.

Additional Security Best Practices

Comprehensive security extends beyond firewall and SSL configuration. Regular system updates maintain current security patches for Rocky Linux 10, ISPConfig, and all installed components. Automate updates where appropriate while maintaining change control procedures.

SSH security hardening significantly improves remote access security. Disable root login through SSH by editing /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Modify or add these configurations:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Port 2222

Change the default SSH port from 22 to a non-standard port like 2222. Configure key-based authentication and disable password authentication for enhanced security.

Log monitoring identifies suspicious activity and security breaches. Install and configure logwatch for automated log analysis:

sudo dnf install logwatch -y

Configure logwatch to send daily reports via email. Monitor authentication logs, web server logs, and mail server logs for unusual activity patterns.

Backup procedures protect against data loss and enable rapid recovery from security incidents. ISPConfig 3.3 introduces automatic nightly backup features simplifying backup management. Implement off-site backup storage for comprehensive protection.

Intrusion detection systems like fail2ban automatically respond to suspicious activity:

sudo dnf install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Configure fail2ban rules for SSH, HTTP, and email services to prevent brute force attacks.

Troubleshooting Common Issues

Installation Error Resolution

ISPConfig installation problems typically stem from dependency issues, insufficient system resources, or configuration conflicts. Identify installation errors through detailed log analysis. ISPConfig creates installation logs in the /tmp directory during setup.

Missing package dependencies cause installation failures. Verify all required packages are installed:

sudo dnf groupinstall "Development Tools"
sudo dnf install wget curl unzip

PHP module dependencies affect ISPConfig functionality. Verify essential PHP modules are loaded:

php -m | grep -E "(mysql|gd|curl|mbstring|xml|zip)"

Database connection problems prevent ISPConfig installation. Test MySQL/MariaDB connectivity and verify root password accuracy:

mysql -u root -p -e "SHOW DATABASES;"

Memory and disk space constraints cause installation timeouts and failures. Monitor system resources during installation:

free -h
df -h

Clean installation procedures resolve persistent installation problems. Remove partial installations and clear temporary files before retry attempts:

sudo rm -rf /usr/local/ispconfig
sudo rm -rf /tmp/ispconfig*

Service Configuration Problems

Post-installation service issues affect ISPConfig functionality across integrated components. Apache configuration problems prevent website access. Verify Apache syntax and configuration:

sudo httpd -t
sudo systemctl status httpd

Review Apache error logs for specific problem identification:

sudo tail -f /var/log/httpd/error_log

Email delivery problems affect client communication and system notifications. Test Postfix configuration and connectivity:

sudo postfix check
sudo systemctl status postfix

DNS resolution issues impact website and email functionality. Verify BIND configuration and test DNS queries:

sudo named-checkconf
dig @localhost example.com

Service conflicts occur when multiple applications compete for resources or ports. Identify port conflicts using netstat:

sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :25

Configuration file validation prevents service startup failures. Most services include syntax checking commands:

sudo nginx -t  # For Nginx configurations
sudo postfix check  # For Postfix configurations

Performance Optimization Tips

ISPConfig performance optimization enhances user experience and system efficiency. PHP configuration adjustments improve website response times and resource utilization. Enable OPCache for compiled PHP bytecode caching:

sudo nano /etc/php.ini

Configure OPCache settings:

opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60

MariaDB performance tuning optimizes database operations and query execution. Configure query cache and buffer sizes:

sudo nano /etc/my.cnf.d/server.cnf

Add performance optimization settings:

[mysqld]
query_cache_type=1
query_cache_size=64M
innodb_buffer_pool_size=256M

Apache performance improvements handle increased concurrent connections efficiently. Configure worker modules and connection limits:

sudo nano /etc/httpd/conf.modules.d/00-mpm.conf

System monitoring identifies performance bottlenecks and resource constraints. Install monitoring tools:

sudo dnf install htop iotop sysstat -y

ISPConfig 3.3 introduces real-time performance monitoring with graphical system resource displays. These tools provide immediate feedback on system performance and resource utilization.

Caching mechanisms reduce server load and improve response times. Configure browser caching through Apache modules:

sudo dnf install mod_expires mod_deflate -y

Maintenance and Updates

Keeping ISPConfig Updated

Regular ISPConfig updates maintain security patches, bug fixes, and new feature availability. ISPConfig follows a structured release schedule with stable versions, release candidates, and development builds. Download the latest stable version from official sources for production systems.

Update preparation includes complete system backups covering ISPConfig configuration, client data, and database contents. Verify backup integrity before proceeding with updates. Document current ISPConfig version and installed components for rollback procedures if needed.

Download and extract the latest ISPConfig version:

cd /tmp
wget https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar -xzf ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

Execute the update script:

sudo php -q update.php

The update script preserves existing configuration settings and client data while upgrading ISPConfig components. Review update documentation for version-specific changes or requirements before applying updates.

Monitor system functionality after updates to identify any issues requiring attention. Test critical features including website access, email delivery, and control panel functionality. Update logs provide detailed information about applied changes and potential issues.

ISPConfig 3.3 and 3.4 releases introduce significant new features including PostgreSQL support, Docker integration, and WordPress management tools. Plan update schedules around these major releases to take advantage of enhanced capabilities.

System Maintenance Tasks

Comprehensive maintenance schedules ensure optimal ISPConfig performance and reliability. Rocky Linux 10 system updates provide security patches and software improvements through the DNF package manager:

sudo dnf update -y
sudo dnf autoremove -y

Schedule regular system updates through cron jobs for automated maintenance. Consider reboot requirements after kernel updates and plan maintenance windows accordingly.

Log file management prevents disk space exhaustion and maintains system performance. Configure log rotation for ISPConfig, Apache, and system logs:

sudo nano /etc/logrotate.d/ispconfig

Database maintenance optimizes ISPConfig and client database performance. Schedule regular database optimization and backup verification:

mysqlcheck -u root -p --optimize --all-databases

Disk usage monitoring prevents storage capacity issues affecting system operation. Monitor disk usage and implement cleanup procedures:

df -h
du -sh /var/www/*

Service uptime monitoring ensures ISPConfig components remain operational. Implement monitoring solutions for Apache, MariaDB, Postfix, and other critical services. Configure automated alerts for service failures or performance degradation.

ISPConfig 3.3 introduces automatic nightly backup functionality simplifying backup management and reducing administrative overhead. Configure backup retention policies and off-site storage for comprehensive data protection.

Congratulations! You have successfully installed ISPConfig. Thanks for using this tutorial for installing the ISPConfig on your Rocky Linux 10 system. For additional help or useful information, we recommend you check the official ISPConfig website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button