Я хочу переименовать один из моих серверов Linux Debian, чтобы дать ему более информативное имя на основе ролей.
Вот места, которые, как я знаю, нужно будет изменить:
Что я упустил из виду? Есть ли другие общие вещи, которые нужно изменить при переименовании сервера?
Еще несколько вещей, которые нужно проверить:
Если вы используете MySQL, не забудьте также обновить его. По умолчанию, mysql_install_db
добавит записи в mysql.user
таблица, разрешающая доступ с собственного имени хоста сервера. Обычно он добавляет localhost
тоже, так что вы, вероятно, здесь в порядке, но стоит дважды проверить, чтобы убедиться, что вы не заблокируете себя.
Если вы используете Apache, обязательно обновите ServerName
глобально и на любых виртуальных хостах, которые могли использовать старое каноническое имя хоста.
Если вы используете почтовый сервер (Sendmail, Postfix и т. Д.), Убедитесь, что он может определить собственное имя хоста. Например, Postfix попытается автоматически заполнить $myhostname
, но это не поможет, если вы вручную переопределили его в /etc/postfix/main.cf
.
Если этот сервер общается с другими, которые настроены для управления доступом на основе имени хоста (например, /etc/exports
для NFS, /etc/hosts.allow
и т. д.), вам также нужно будет обновить их.
Если у вас есть какие-либо ключи SSL, использующие старое имя хоста сервера в качестве общего имени (CN), вам нужно будет воссоздать их, используя новое имя хоста, и выпустить новые запросы сертификатов. Надеюсь, они сами подписаны, поэтому вам не нужно кому-то платить за новые сертификаты. Строго говоря, SSL по-прежнему будет работать, если вы этого не сделаете, но клиенты обычно выдают предупреждающее сообщение о несоответствии имени.
Конечно, могут быть и другие в зависимости от запускаемых вами приложений.
Я бы сделал это методом "массового grep". Например:
$ grep -rin "hostname" / > /my/output/file.txt
и просмотрите файл file.txt, когда он закончится.
Причина в том, что почти невозможно точно узнать, где необходимы изменения имени хоста / IP, даже если вы находитесь в верхней части своей конфигурации, пользователи могут настроить свое программное обеспечение в зависимости от этого, слепой поиск имеет тенденцию избегать таких проблем до того, как они возникнут .
Вы всегда можете просто добавить еще одну запись в свои файлы hosts на других машинах в локальной сети (если это возможно), чтобы машина реагировала на оба:
[root@165 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 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 (это случается довольно часто, поскольку я регулярно клонирую виртуальную машину для различных тестов), мне не только нужно делать ...
sudo grep -R oldhostname /etc/*
Но мне также нужно заново запустить настройку постфикса. Простое редактирование файлов конфигурации ничего не меняет.
sudo dpkg-reconfigure postfix
После внесения этих изменений и перезапуска все готово.