【初心者必見!】AWS EC2のCentOSで必須の設定

2017年2月21日

最近、AWS(Amazon Web Service)を利用してサーバを構築する機会がよくあります。

その際、サーバ環境は日本語環境にしなければいけなかったんで、その時の手順を説明していきたいと思います。

っていうか、リージョンで日本を選んでるんだからEC2のインスタンス作成時に自動で日本語環境にしてくれてもいいのに・・・。

もし、「タイムゾーンがずれる」や「コンソールから日本語が入力できない」と言った問題がある人は、この設定を行えば解消するかもしれません。

環境

AWSのEC2インスタンスでCentOS 6.xを利用しています。

CentOS日本語環境構築

yumアップデート

日本語環境構築とは直接は関係ないですが、これやっとかないとyumのバージョンが古い場合があるので・・・。
-yのオプションを指定してあげると、問い合わせ全てに「y」と返答してくれるのでアップデートの途中で「y/N」を選択する必要がなくなります。

# yum update -y

文字コード設定

文字コードを日本語に設定します。
/etc/sysconfig/」にある「i18n」というファイルを編集します。

# vim /etc/sysconfig/i18n

# 元の記述をコメントアウト
#LANG=en_US.UTF-8
LANG=ja_JP.UTF-8

タイムゾーン設定

タイムゾーンを日本時間に設定します。
/usr/share/zoneinfo/Japanというファイルを/etc/localtimeにコピーします。

# cp /usr/share/zoneinfo/Japan /etc/localtime

日本時間に設定されたか確認します。

# date

これでタイムゾーンがJSTになってたらOKです。

ただ、このままだとyumのアップデートやサーバの再起動時にタイムゾーンがUTCに戻ってしまうので、タイムゾーンが元に戻らないように/etc/sysconfig/clockというファイルを編集します。

# vim /etc/sysconfig/clock

ZONE="Asia/Tokyo"

これで日本語環境の設定完了です。

あと、EC2では初期ユーザ(ec2-user)やrootユーザにパスワードが設定されていないので、その設定も一緒にやっちゃった方が良いです。

ユーザにパスワードを設定する

ec2-userにパスワードを設定する

下記コマンドを実行すると設定するパスワードを聞かれるので、パスワードを設定します。

# passwd ec2-user

また、sudoした時にパスワード入力しないとコマンド実行できないように設定します。
じゃないと誰でも何のコマンドでも実行できる状態になってしまうので。

# visudo -f /etc/sudoers.d/cloud-init

#ec2-user ALL = NOPASSWD: ALL
ec2-user ALL = (ALL) ALL

こんな感じで編集して、実際にsudoコマンド実行した時にパスワードを聞かれればOKです。

rootユーザにパスワードを設定する

sudoにパスワード設定しててもsuでrootユーザになれると意味がないんで、rootユーザにもパスワードを設定します。

# passwd root

パスワードを設定して、実際にsuコマンド実行した時にパスワードを聞かれればOKです。