このページではLinuxをインストールした自宅サーバーを公開サーバー向けの日本語文字セットを設定する方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
CentOS6.2インストール後の設定

インストール後の設定

ログインシステムの変更

ユーザーアカウントの作成

X-Windowと通信の確認

簡易テキストエディタ"nano"

ネットワークの詳細設定

SELinuxの無効化

ファイヤーウォールの無効化

日本語文字セットの設定

sshクライアントの導入

yumによるアップデート

不要デーモンの停止

公開のためのルーター設定

ダイナミックDNSの登録と設定

ダイナミックDNSの自動更新


問題がなければデフォルトの"UTF-8"で

LinuxOS の日本語の扱いに関しては、ずっと長い間 EUC が標準として扱われてきました。

しかしながら2003年11月に登場した FedoraCore から、標準文字セットが UTF-8 に変更されたのを皮切りに、他の ディストリビューション でもUTF-8が標準文字セットとして採用されるようになってきています。

CentOS では、CentOS3は RedHatLinux がベースとする RHEL3 の クローン ですのでEUCが標準でしたが、CentOS4はFedoraCoreをベースするRHEL4のクローンですから、これ以降はUTF-8が標準になっています。

ただ、この違いはCentOSを CUI で コマンド 操作を行うときの日本語表記に影響を与えるだけで、 サーバー として最も重要なサーバー アプリケーション の振る舞いなどには ほとんど影響を与えません 。

従って、サーバーアプリケーションの設定や運用に関して言えば、標準文字セットがEUCだろうとUTF-8だろうと一向に構わないということです。

この標準文字セットが実用上最も影響を及ぼすのは、 TELNET や SSH などを利用してサーバーにリモート接続して操作する場合です。

これらの プロトコル を使ったリモート操作では、サーバーから クライアント 、及びクライアントからサーバーに送られる文字セットの種類が一致していなければ、送受信する文字に日本語が含まれるといわゆる 文字化け が発生してしまうことになるからです。

例えば、サーバー(CentOS6)側の文字セットと、クライアント側の SSHクライアント の文字セットの設定が共にUTF-8あるいは共にEUCの場合、クライアント側のリモート操作画面では、

サーバーとクライアントの文字セットが一致する場合(TeraTermPro)
サーバーとクライアントの文字セットが一致する場合(TeraTermPro)

のように表示されますが、サーバー側の設定がUTF-8、クライアント側の設定がEUCの場合には、

サーバーとクライアントの文字セットが一致しない場合(TeraTermPro)
サーバーとクライアントの文字セットが一致しない場合(TeraTermPro)

のように文字化けが発生してしまうことになります。

要はどちらの文字セットを使うかを決めて、サーバーとクライアントの環境を統一してしまえば良いだけの話なのですが、ではUTF-8とEUCのどちらを選択しておくべきなのでしょうか。

EUCは、UTF-8に取って代わられる可能性のある文字セットですから将来的にはサポートされなくなるでしょう。

だたしEUCは現在では最も普及した実績のある文字セットですから、実績と安定性を重視するサーバーの世界では、これが簡単に消滅することはまず考えられません。

例えばCentOS6のソースコードレベルでのサポート期限である2017年までは間違いなく利用可能ですし、おそらくはその数年後くらいまでは大丈夫でしょう。

一方のUTF-8は、これからの標準となる文字セットですから、将来的にはこちらを選んでおくのが良い選択です。

UTF-8はEUCと違い、世界中の言語を一つの文字セットで統一可能な仕組みをもっていますから、そういう意味でも先進的といえるでしょう。

という訳ですからこの コンテンツ では、

「現時点ではUTF-8を標準文字セットとして選択すべきで、EUCは問題が発生したときにのみ使用する。」

ことをおすすめします。

従って、CentOS6のデフォルトの標準文字セットはUTF-8ですから、特に設定を修正する必要はありませんが、万が一設定をEUCに変更しなければならないときのために、その方法を以下のパートで解説します。

このページの先頭へ↑

CentOS6の文字セットをUTF-8からEUCに変更する

CentOS6 システムの日本語文字セットは設定ファイル、

"/etc/sysconfig/i18n"

及び

を編集して変更します。

これらの設定ファイルは、 "root" ユーザー以外には変更できません。

まず、適当な ユーザーアカウント でCentOS6のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更し、 "/etc/sysconfig/i18n" を nano エディタで開きます nanoエディタでファイルを開く 。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/sysconfig/i18nEnter

↓

CentOS6システムの標準文字セットはこの テキスト ファイルの唯一の行、

LANG="ja_JP.UTF-8"

によって設定されていますので、この行を、

LANG="ja_JP.eucJP"

に書き換えてください。

設定が終わったら、 Ctrl + x → y → Enter で設定ファイルを保存し、 nano エディタを終了します。

以上で設定の変更は終了しましたが、現在ログイン中の環境にはこのこの変更は適用されませんので、設定の変更を有効にするためには一度 ログアウト してください。

[root@web1 ~]# exitEnter
[tanaka@web1 ~]$ exitEnter

次回のログインからは設定の変更が有効になります。

このページの先頭へ↑

X-Windowを常に日本語で起動する

テキストモードからコマンドを入力して CentOS6 の X-Winodowシステム を起動するとき、単純に "startx" と実行してしまうと英語モードでデスクトップ環境が起動してしまいます。

なぜならば、 サーバー機 に直接テキストモードで ログイン したときの言語 環境変数 LANG は、強制的に "en_US.UTF-8" 、つまり英語(米語)にされてしまうからで、そのままX-Windowを起動するとその環境変数が引き継がれてしまうためです。

CentOS6で、日本語環境のX-Windowを起動するのに、 "LANG=ja_JP.UTF-8 startx" と指定するのは、一時的にLANG環境変数を「日本語UTF-8」に変更しなければならないからです。

とはいえ、テキストモードログインが基本であっても、X-Windowを日常的に利用するのであれば、いちいちこの解りにくい コマンド をタイプするのは面倒ですから、もしも常に日本語のX-Windowを利用するのであれば "startx" だけで起動できたほうが便利です。

方法はいくつかありますが、比較的簡単な方法を以下に紹介します。

".bashrc"にエイリアスを記述する

ログイン したユーザーが コマンド を実行するとき、 ホームディレクトリ 以下の ".bashrc" という設定ファイルが参照されますから、ここにコマンドのエイリアス(別名)を記述する方法です。

例えば "root" ユーザーに対してエイリアスの設定を行う場合、まず、適当な ユーザーアカウント でCentOS6のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更し、 ".bashrc" を nano エディタで開きます nanoエディタでファイルを開く 。

先頭の文字が ".(ドット)" で始まる ".bashrc" は隠しファイルですから ドットファイルについて 、普通に "ls" コマンド lsコマンドについて を実行しても一覧で見ることはできません。
一覧するには "-a" オプションスイッチを付けて ls コマンドを実行してください。
[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano .bashrcEnter

↓

ここに、 alias startx='LANG=ja_JP.UTF-8 startx' と追記します。

設定が終わったら、 Ctrl + x → y → Enter で設定ファイルを保存し、 nano エディタを終了します。

一度 ログアウト し、再度ログインした後は、 "startx" だけで日本語のX-Windowが起動するようになります。

"/usr/bin/startx"に環境変数を記述する

上の方法では、日本語でX-Windowを使用するすべてのユーザー アカウント の ".bashrc" にエイリアスを追記しなければならないので少し面倒です。

しかし、X-Windowを起動するための スクリプト ファイル "/usr/bin/startx" にLANG 環境変数 を記述しておけば、すべてのユーザーが "startx" のみで日本語のX-Windowを起動することができるようになります。

適当な ユーザーアカウント でCentOS6のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更し、 "/usr/bin/startx" を nano エディタで開きます nanoエディタでファイルを開く 。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /usr/bin/startxEnter

↓

ここに、 LANG=ja_JP.UTF-8 と追記します。

設定が終わったら、 Ctrl + x → y → Enter で設定ファイルを保存し、 nano エディタを終了します。

これですべてのユーザーが "startx" だけで日本語のX-Windowを起動できるようになります。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System