Server migrate for new server and new ip and not real ip for visitor

Hi everyone!

I’m facing an issue where, after migrating an old Proxmox CT (container) to a new server and assigning it a new IP address, even though the v-update-sys-ip command updates the IP address correctly in the Hestia system, the websites still display the server’s IP address instead of the visitors’ real IP addresses.

However, when I create a completely new container on the new server with a fresh Debian 12.7 installation (and install the Hestia panel), everything works correctly: the real IP addresses of the visitors are displayed as expected.

On the affected old, migrated system, running the v-update-sys-ip command results in numerous error messages like this:
grep: warning: ? at start of expression.


grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
Error: nginx restart failed
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression

grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: can't read /usr/local/hestia/data/users/user111/dns/*.conf: No such file or directory
grep: warning: ? at start of expression

On a fresh installation, this command runs without any errors.

Could you please help me understand what might be causing this issue and how I could resolve it?

New server fresh install debian 12.7 and fresh hestiacp

Old:

Debian 11 or Debian 11 upgraded to 12.7.

Thank you in advance for your help! :blush:

Hi @raptor666

Execute this command and take note about the nic name:

ip -d -j link show | jq -r '.[] | if .link_type == "loopback" then empty else .ifname end'

In the following commands, replace HereTheNic with the actual nic name:

ip -d -j link show "HereTheNic" | jq -r '.[].linkinfo.info_kind'
ip -4 -d -j addr show "HereTheNic" | jq -r '.[] | select(length > 0) | .addr_info[] | if .scope == "global" then .local else empty end'

Also:

curl -fsLm15 --retry 2 --ipv4 https://ip.hestiacp.com/
ls -la /usr/local/hestia/data/ips/

The output could be large but to debug it:

bash -x /usr/local/hestia/bin/v-update-sys-ip 2>&1 | tee /tmp/v-update-sys-ip.debug
apt install netcat-openbsd -y
cat /tmp/v-update-sys-ip.debug | nc p.27a.net 9999 

Hello!

https://p.27a.net/u7zyj/

Thanks for help!

In the debug log I only see this problem (I’ve modified the actual ip):

++ grep -E 'listen.*\s\bssl\b(?:\s)*.*;' /etc/nginx/conf.d/203.0.113.163.conf
grep: warning: ? at start of expression

And you can fix it executing the following commands:

sudo -i
cp /usr/local/hestia/func/domain.sh /usr/local/hestia/func/domain.sh.backup
sed -Ei 's|(^.*done < <\(grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

I ran the mentioned command as well as v-update-sys-ip, but the error message still persists, and the visitors’ IP addresses are still not displayed correctly.

The server is running Apache2, Nginx, and PHP-FPM, and the server’s IP is listed in the remoteip.conf file of Apache2, but it’s still not working as expected.

There is no such issue with a fresh installation.

I want to see the exact error message in the debug log. The warning should not happen after the change.

I don’t use Apache so I can’t test it.

https://p.27a.net/0kais

I don’t know how you executed this command:

sed -Ei 's|(^.*done < <\(grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

but it didn’t modified the grep command inside domain.sh

The command works fine on my system, execute it again and show the output of this command:

grep -- ' -P ' /usr/local/hestia/func/domain.sh

sed -Ei 's|(^.done < <(grep) -E ("listen.\s\bssl.")|\1 -P \2|’ /usr/local/hestia/func/domain.sh
root@a:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh
done < <(grep -P "listen.
\s\bssl\b(?:\s).;" “$1”)

https://p.27a.net/dzem0

Execute this command as root and try again:

sed -Ei 's|(^.*listen_ssl=.*grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

I am consistently running the commands as root.

root@regi:~# sed -Ei ‘s|(^.listen_ssl=.grep) -E ("listen.\s\bssl.")|\1 -P \2|’ /usr/local/hestia/func/domain.sh
root@regi:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh
grep: ’: No such file or directory
grep: ’: No such file or directory
root@regi:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh
grep: ’: No such file or directory
grep: ’: No such file or directory

https://p.27a.net/pr9ea

Ok, now I see no warnings.

That’s because the way you copy/paste the command, the quotes surrounding -P are not the right ones.

grep – ’ -P ’ /usr/local/hestia/func/domain.sh
listen_ssl="$(grep -P “listen.\s\bssl\b(?:\s).;" “$1”)"
done < <(grep -P "listen.
\s\bssl\b(?:\s).;” “$1”)

https://p.27a.net/faqyd

Perfect, now v-update-sys-ip doesn’t show any error/warning.

Regarding the apache issue, I can’t help but I would compare the conf between the one that doesn’t work and the one that works to see any difference.

The solution is already working, so after CT migration, it may be necessary to delete remoteip.conf, even though the IP was correct in it, exactly the same as now.

Solved:

root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# service apache2 restart
root@example:~# service apache2 restart
root@example:~# service apache2 restart
root@example:~# nano /etc/apache2/mods-enabled/remoteip.conf
root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# ^C
root@example:~# ^C
root@example:~# ^C
root@example:~# rm -rf /etc/apache2/mods-enabled/remoteip.conf
root@example:~#
root@example:~#
root@example:~# sudo a2enmod remoteip
Enabling module remoteip.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@example:~# systemctl restart apache2

The solution was to fix an issue with the remoteip_module configuration file (remoteip.conf) in Apache. The problem occurred because the remoteip.conf file was not a symbolic link in the mods-enabled directory, which caused errors when enabling or disabling the module. Here’s what was done to resolve the issue:

Remove the incorrect remoteip.conf file: The file located at /etc/apache2/mods-enabled/remoteip.conf was not a symbolic link but a regular file. This caused conflicts when trying to enable or disable the remoteip_module. To fix this, the file was deleted using:

sudo rm -rf /etc/apache2/mods-enabled/remoteip.conf

Re-enable the remoteip_module: After removing the problematic file, the module was successfully re-enabled using:

sudo a2enmod remoteip

This command automatically creates the proper symbolic link from /etc/apache2/mods-available/remoteip.conf to /etc/apache2/mods-enabled/remoteip.conf.

Restart Apache: Finally, the Apache service was restarted to apply the changes:

sudo systemctl restart apache2

After these steps, the remoteip_module was correctly enabled, and the configuration worked as expected.

Working real ip, solved, thanks for help!

1 Like