我想重命名我的一个Debian Linux服务器,给它一个更具描述性的,基于angular色的名字。
这里是我知道的名字将需要改变的地方:
我忽略了什么? 重命名服务器时还有其他常见的事情需要改变吗?
其他一些事情要检查:
如果你运行MySQL,不要忘记更新它。 默认情况下, mysql_install_db会将条目添加到允许从服务器自己的主机名访问的mysql.user表中。 它通常也增加localhost ,所以你可能在这里,但值得重新检查,以确保你不会locking自己。
如果您正在运行Apache,请确保您在全局更新ServerName ,并且在任何可能使用旧规范主机名的虚拟主机中更新ServerName 。
如果您正在运行邮件服务器(Sendmail,Postfix等),请确定它可以找出自己的主机名。 例如,Postfix将尝试自动填充$myhostname ,但是如果您在/etc/postfix/main.cf手动覆盖它,这将无济于事。
如果此服务器与其他设置为基于主机名(例如,NFS的/etc/exports , /etc/exports /etc/hosts.allow等)执行访问控制的设备/etc/hosts.allow ,则还需要更新这些设备。
如果您有使用服务器的旧主机名作为通用名称(CN)的任何SSL密钥,则需要使用新的主机名重新创build它们并发出新的证书请求。 希望他们是自签名的,所以你不必为新的证书付钱。 严格地说,如果你不这样做,SSL仍然可以工作,但是客户端通常会popup一个关于名称不匹配的警告消息。
当然也可能有其他的依赖于你运行的应用程序。
我会以“大众grep”的方式做到这一点。 例如:
$ grep -rin“hostname”/> /my/output/file.txt
并在完成时检查file.txt。
原因是几乎不可能准确地知道哪里需要更改主机名/ IP,即使你在你的configuration之上,用户也可以configuration他们的软件来依靠它,盲目search在它出现之前往往避免这样的麻烦。
您可以随时在本地networking上的其他机器上添加其他机器上的文件(如果可行),以便机器能够同时响应:
[root @ 165〜]#cat / etc / hosts #不要删除以下行或各种程序 #需要networkingfunction将失败。 127.0.0.1 localhost.localdomain localhost 78.119.15.19 myserver.net myserver 78.119.15.20 myserver2.net myserver2 another_name yet_another
在上面的示例中,myserver.net将是本地计算机,myserver2.net将是您正在别名的远程计算机
当我重命名我的Ubuntu主机(经常发生,因为我定期为不同的testing克隆虚拟机),我不仅要做…
sudo grep -R oldhostname /etc/*
但是我也必须重新运行后缀configuration。 只要编辑configuration文件不会改变一切。
sudo dpkg-reconfigure postfix
做出这些改变后重新开始,一切都很好。