Initial Server Setup in Virtualmin
Virtualmin is a powerful and flexible tool for web server management, ideal for both experienced system administrators and those just starting out. In this article, we will explore the essential steps for the initial setup of a server in Virtualmin, including system requirements, installation, initial configuration, and basic server security.
System Requirements
Before starting the Virtualmin installation, it is crucial to ensure that your server meets the minimum system requirements. These requirements will guarantee that Virtualmin runs optimally and without issues.
Hardware
- CPU: At least a 1 GHz processor. However, for optimal performance, a faster processor is recommended, especially if you plan to host multiple websites.
- RAM: A minimum of 1 GB of RAM. For larger production environments, at least 2 GB of RAM is recommended.
- Hard Drive: At least 10 GB of free disk space. Remember that you will need additional space for website data, databases, emails, etc.
Software
- Operating System: Virtualmin is compatible with a variety of Linux distributions, including CentOS, Debian, and Ubuntu. Make sure you have an up-to-date version of your distribution.
- Root Access: You will need root access or sudo privileges to perform the installation.
Other Requirements
- Internet Connection: You will need a stable internet connection to download packages and updates during installation.
- Public IP Address: For your server to be accessible from the Internet.
Installing Virtualmin
The Virtualmin installation is relatively straightforward thanks to its automatic installation script. The steps to carry out this installation are detailed below.
Step 1: System Preparation
Before running the installation script, it is advisable to update the operating system.
sudo apt update
sudo apt upgrade -yStep 2: Download and Install the Script
Download the Virtualmin installation script from its official site and run it.
wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo /bin/sh install.shStep 3: Run the Script
The script will guide you through several configuration steps. Be sure to follow the instructions and answer the questions presented to you.
Step 4: Access the Virtualmin Control Panel
Once the installation is complete, you can access the Virtualmin web interface through your web browser. The access URL generally has the following format:
https://your_domain:10000Step 5: First Login
Log in with your root or sudo user credentials. Once inside, you can start configuring your server.
Initial Setup
After installation, initial configuration is necessary to adapt Virtualmin to your specific needs.
Network Configuration
- Hostname: Ensure your server's hostname is configured correctly. This is crucial for the proper functioning of email and other services.
- DNS: Configure DNS records according to your needs. This includes A, MX, CNAME records, etc.
Web Server and Mail Configuration
- Apache/Nginx: Virtualmin supports both Apache and Nginx. Configure the web server of your choice.
- Postfix/Dovecot: Configure mail services to handle sending and receiving emails.
Database Configuration
: Virtualmin supports several databases, including MySQL and PostgreSQL. Configure the database service you plan to use.
Domain and User Creation
: Virtualmin makes it easy to create domains and users. You can add new domains and assign specific users to them from the Virtualmin interface.
Basic Server Security
Securing your server is one of the most important tasks after initial setup. Here are some basic security measures.
System Updates
Keep your operating system and all packages updated to protect against known vulnerabilities.
sudo apt update
sudo apt upgrade -yFirewall Configuration
Configure a firewall to limit access to your server. UFW is a simple and effective tool for managing firewall rules.
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpSecure SSH
- Changing the SSH Port: Change the default SSH port (22) to another less known one to reduce attack attempts.
sudo nano /etc/ssh/sshd_configModify the line:
Port 22To another port, for example:
Port 2222Restart the SSH service to apply the changes.
sudo systemctl restart ssh- SSH Key Authentication: Disable password authentication and use SSH keys for greater security.
Installing Fail2Ban
Fail2Ban is a tool that helps protect your server against brute-force attacks. Install and configure it according to your needs.
sudo apt install fail2banBackups
Configure regular backups to ensure you can recover your data in case of a system failure or attack.
Conclusion
Virtualmin is a robust tool for web server administration. By following the steps mentioned in this article, you can set up your server efficiently and securely. From checking system requirements, installing Virtualmin, initial configuration, to implementing basic security measures, each step is crucial to ensure a stable and secure server environment.
Remember that security is an ongoing process. Always stay informed about updates and best practices to protect your server and your users' data. With Virtualmin, you have a powerful tool at your disposal to manage your server with ease and confidence.

