Are you looking to set up your own ISPConfig 3 single server? Look no further. In this comprehensive guide, we will walk you through the process of installing ISPConfig using the automated installer. Whether you’re running Debian 10 to Debian 12, Ubuntu 20.04, or Ubuntu 22.04, this guide has got you covered. We’ll provide you with step-by-step instructions to ensure a smooth and successful installation.
Prerequisites
Before diving into the installation process, let’s go over the prerequisites to ensure a seamless experience.
Operating System
Ensure that your server is running either Debian 10 to Debian 12, Ubuntu 20.04, or Ubuntu 22.04. Please note that the installation currently supports the x86_64 (AMD64) CPU architecture only. ARM CPUs are not supported at the moment.
Hardware Requirements
Make sure your system meets the following hardware requirements:
- Intel or AMD 64-Bit CPU Architecture (x86_64, also known as AMD64)
- Internet access to download and install software with apt
- Freshly installed and empty base OS (Do not attempt to use this guide on a system with existing services already configured)
Now that we have the prerequisites covered, let’s move on to the installation process.
Step 1: Log in to the Server
To begin, log in as the root user on your server. If you’re using Debian, run su -
to become the root user. On Ubuntu, use the command sudo -s
to become the root user.
Step 2: Configure the Hostname and Hosts
It’s important to configure the hostname and hosts correctly to avoid any issues later in the setup. The hostname of your server should be a subdomain like “server1.example.com.” Avoid using a domain name without a subdomain part like “example.com.”
To configure the hostname and hosts, follow these steps:
- Check the hostname in the
/etc/hosts
file and make changes if necessary. The line should be in the format: “IP Address – space – full hostname incl. domain – space – subdomain part”. For example:
nano /etc/hosts 127.0.0.1 localhost.localdomain localhost # This line should be changed to the correct servername: 127.0.1.1 server1.example.com server1 # The following lines are desirablefor IPv6 capable hosts: ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
- Edit the
/etc/hostname
file and ensure it contains only the subdomain part. For example:
nano /etc/hostname server1
- Reboot the server to apply the hostname changes:
systemctl reboot
- Log in again and verify if the hostname is correct with the following commands:
hostname
hostname -f
The output should resemble:
root@server1:~$ hostname server1 root@server1:~$ hostname -f server1.example.com
Remember to set up a DNS record with your DNS provider that points to your server. Create an A (and/or AAAA) record for the subdomain that points to your server’s public IP.
Step 3: Update the System
Before proceeding with the installation, it’s essential to update the system packages. Run the following command:
apt update && apt upgrade
This command will fetch the latest updates and install any available package upgrades.
Step 4: Run the Autoinstaller
We’re now ready to run the ISPConfig auto-installer. The auto-installer provides a modular and easy-to-follow setup process. It installs the necessary software packages, including Apache2, PHP, MariaDB, Postfix, Dovecot, and more.
You can choose to install ISPConfig with either Apache or Nginx as the web server. We’ll cover both options here.
Option 1: Install ISPConfig with Apache Web Server
To install ISPConfig with Apache web server, execute the following command:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades
This command will download the necessary files and initiate the installation process. It also specifies a port range for Passive FTP and enables unattended upgrades.
Option 2: Install ISPConfig with Nginx Web Server
If you prefer to use Nginx as the web server, use the following command:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
This command installs ISPConfig with Nginx as the web server and configures a port range for Passive FTP. It also enables unattended upgrades.
Once the installation starts, you’ll be prompted with a warning message:
WARNING! This script will reconfigure your complete server! It should be run on a freshly installed server, and all current configurations that you have done will most likely be lost! Type'yes'if you really want tocontinue:
To proceed with the installation, type “yes” and press Enter.
After the installation is complete, the auto-installer will provide you with important information, including the ISPConfig admin password and the MySQL root password. Make sure to note down this information as you’ll need it later.
Step 5: Setting up the Firewall
To ensure the security of your server, it’s crucial to set up the firewall. The ISPConfig UI provides a convenient way to manage firewall settings.
- Log in to the ISPConfig UI and navigate to System -> Firewall.
- Click on “Add new firewall record.”
- For a normal setup, add the following TCP and UDP ports:
TCP: 20, 21, 22, 25, 80, 443, 40110:40210, 110, 143, 465, 587, 993, 995, 53, 8080, 8081 UDP: 53
These ports are necessary for various services such as web, mail, DNS, and the ISPConfig panel.
Congratulations! Your server is now set up and ready to use. You can access the ISPConfig UI by visiting https://server1.example.com:8080
. Remember to replace server1.example.com
with your server’s hostname.
Step 6: Advanced Options
The ISPConfig auto-installer provides various command-line options to fine-tune your setup. Let’s explore some of these options:
--channel
: Choose between the stable and dev channels of ISPConfig.--lang
: Specify the language for ISPConfig installation (English or German).--use-nginx
: Use Nginx as the web server instead of Apache.--use-amavis
: Use Amavis instead of Rspamd for mail filtering.--use-unbound
: Use Unbound instead of Bind9 for local resolving.--use-php
: Install specific PHP versions instead of multiple PHP versions.--use-ftp-ports
: Set the passive port range for Pure-FTPd.--use-certbot
: Use Certbot instead of acme.sh for issuing Let’s Encrypt certificates.--no-web
: Do not use ISPConfig to manage web server settings and avoid installing Nginx/Apache and Pure-FTPd.--no-mail
: Do not use ISPConfig to manage mail server settings.--no-dns
: Do not use ISPConfig to manage DNS entries.--no-firewall
: Do not install UFW and prevent ISPConfig from managing firewall settings.--no-roundcube
: Skip installing Roundcube webmail.--no-pma
: Do not install PHPMyAdmin.--no-mailman
: Do not install Mailman mailing list manager.--no-quota
: Disable file system quota.--no-ntp
: Disable NTP setup.--no-jailkit
: Do not install Jailkit.
These options allow you to customize your ISPConfig installation according to your specific requirements.
Step 7: Download as a Virtual Machine
For your convenience, we offer the option to download this setup as a virtual machine in ova/ovf format. It is compatible with VMWare and Virtualbox. Please note that this virtual machine is based on Debian 12 and uses Apache as the web server.
Login details for the virtual machine are as follows:
- Root password: test
- ISPConfig “admin” user password: test
- Additional shell user: administrator (password: test)
- MySQL root password: 7s8EtDL1QhorSaeHhnRh
Remember to change all passwords on the first login to ensure the security of your virtual machine.
Conclusion
With this automated ISPConfig installation guide, you can easily set up your own hosting environment with ISPConfig as the control panel. Enjoy the benefits of efficient management, secure communication, and scalable hosting solutions. If you’re looking for reliable cloud hosting services, Shape.host offers Linux SSD VPS solutions that can complement your ISPConfig setup. Take your hosting capabilities to the next level and experience the power of automation and control in the palm of your hands.