When your hosting provider assigns you an additional IP address, you'll need to configure it at both the system level and within your web server configuration. For Debian servers, network interfaces are typically managed through the /etc/network/interfaces
file.
Edit your network configuration file:
sudo nano /etc/network/interfaces
Add your secondary IP configuration (assuming your primary interface is eth0):
auto eth0:0 iface eth0:0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1
Replace the IP addresses with your actual secondary IP information. Then bring up the new interface:
sudo ifup eth0:0
Check if the new IP is properly assigned:
ip addr show eth0:0
You should see your secondary IP listed in the output.
Create a new virtual host configuration or modify an existing one to use the new IP:
<VirtualHost 192.168.1.2:80> ServerName example.com DocumentRoot /var/www/example ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
After making changes, test your Apache configuration and restart the service:
sudo apache2ctl configtest sudo systemctl restart apache2
Ensure your firewall allows traffic to the new IP:
sudo iptables -A INPUT -d 192.168.1.2 -j ACCEPT
For persistent rules, save your iptables configuration.
If the new IP isn't responding:
- Verify the interface is up with
ip addr show
- Check Apache's error logs for configuration issues
- Test connectivity with
ping
andtelnet
- Confirm DNS records point to the correct IP
When adding a secondary IP to your Debian server, you'll need to modify the network interfaces file. For Debian 5.0 (Lenny), the configuration is stored in /etc/network/interfaces
. Here's how to set up an alias for your primary network interface:
auto eth0:0 iface eth0:0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1
Replace the IP addresses with those provided by your host. After saving the file, bring up the new interface with:
sudo ifup eth0:0
Confirm the IP is properly assigned using:
ip addr show
Or the legacy command:
ifconfig
In your Apache configuration, you can create virtual hosts bound to specific IPs. Here's a sample configuration for a site using the new IP:
<VirtualHost 192.168.1.2:80> ServerName example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
For modern Debian systems (post-systemd), you might need to use netplan or network manager. Here's a netplan example:
network: version: 2 ethernets: eth0: addresses: - 192.168.1.1/24 - 192.168.1.2/24 gateway4: 192.168.1.254
If the IP isn't responding:
- Check firewall rules:
iptables -L
- Verify routing table:
ip route show
- Test connectivity:
ping -c 4 192.168.1.2
For temporary assignments, you can add an IP without editing config files:
sudo ip addr add 192.168.1.2/24 dev eth0
Remember this won't persist after reboot.