あーかいぶすハイディフィニション

ここはもう更新しとらんのじゃ

ホスト名にどや顔で「localhost」を出された時はディスプレイを叩き割ろう!

にこつべでよく上がってるブラクラ踏んでからの正拳突きでディスプレイ貫通させる彼は波紋の使い手なんじゃねーかな…。

レンタルサーバ屋で VPS を借りたらホスト名が「localhost」になってて、事前に登録したドメイン名とかまったく意味ないですね…、とぐったりしちゃう感じだったので、サーバのホスト名を「localhost」から変更しましょう。
変更した時に出る不具合もどうにかしちゃうよ。

[root@localhost ~] とか uname -a で、ところどころに localhost と出るのを治す。

これは対処療法的な方法なら、これだけでいいはず。

[root@localhost ~]# hostname www.DOMAIN.com

こうすると、uname -a とかでホスト名が、「Linux www.DOMAIN.com なんとかかんとか」になります。
SSH 等で接続してるシェルの表示は変わってないと思うので、一度 exit してから再度ログインしなおせば表示が変わるはずでやんす(シェルの表示はサブドメインだけになるので、「root@www」とかになりますね)。
問題は、shutdown -r now とか reboot とか物理的に再起動されちゃうと、設定が初期化されてまた「localhost」に戻る所です。
いただけないので、コンフィグファイルを変更して対応しましょう。

  • network

HOSTNAME が localhost がもしくは記述されていない、みたいな状況だと思われるので、記述しておきましょう。

[root@www ~]# vi /etc/sysconfig/network
#HOSTNAME=localhost
HOSTNAME=www.DOMAIN.com
  • hosts

localhost しか設定されてないと思われるので、先頭に追加しておきましょう。

[root@www ~]# vi /etc/hosts
#127.0.0.1 localhost
127.0.0.1 www.DOMAIN.com localhost

ちなみに、hosts に記述されたドメインは左辺にあるものを最も正式なものとし、右辺に近づくに連れて「まあエイリアスドメインとして解釈してやるかしょうがねえな」みたいな感じになる。どっちでもアクセスできると分かってりゃおk。

なんかメールも「localhost」とか「localhost.localadmin」になってんだけど

今時の MTA は賢いので、とりあえず yum install postfix とかして起動しておけば、アプリケーションのコンフィグで「localhost」とか書くだけでも送れちゃう感すごい!

[root@www ~]# vi /etc/postfix/main.cf
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = www.DOMAIN.com

#inet_interfaces = localhost
inet_interfaces = $myhostname, localhost

myhostname を追加(コメントアウト解除してドメイン名書いた)、inet_interfaces の値に、 $myhostname を追加しました。
これで飛んでくるメールも、設定した hostname に準拠されるはずです。

はーつかれた。レンタル鯖屋は事前にドメイン名入力させるならインストーラにこの値渡して変えといてくださいよー疲れるじゃないですかー。