ThinkPad T60 に CentOS 6.4 をインストールした(インストール後の作業)

OSのインストールが終わり、リブートして無事に立ち上がってきたら、まずはネットワークがつながるようする。その後は、普段使っているWindows7端末からSSHで接続して作業を続ける。

ネットワークの設定

ThinkPad のキーボードからrootでログインする。これから設定するネットワーク要件は次のとおり

  • IPアドレス: 192.168.11.231
  • ネットマスク: 255.255.255.0
  • デフォルトゲートウェイ: 192.168.11.1
  • DNSサーバ: 192.168.11.1

/etc/sysconfig/network-scripts/ifcfg-eth0 を修正する

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=00:16:41:AE:28:A6
TYPE=Ethernet
UUID=dd4fb1fa-fa5e-41f4-bd83-6ef2d0b20fc6
ONBOOT=yes
NM_CONTROLLED=yes
#BOOTPROTO=dhcp
IPADDR=192.168.11.231
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=192.168.11.1

ONBOOT を yes に変更し、BOOTPROTO=dhcp をコメントアウトする。リブートした直後に ONBOOT=no に設定されていたので、インターフェース eth0が up しなかった。# ifconfig eth0 up で up してあげたら動作するようになった。

ネットワークサービスを restart する

# /etc/rc.d/init.d/network restart

Windows7端末から ssh で 192.168.11.231 へ接続できることを確認する。

ちなみに、僕は SSH のクライアントプログラムは PuTTY を使っている。最初は TeraTerm で、次に Poderosa を使っていた。Poderosa は接続画面のタブ切替えができるので、すごく便利だったんだけど、windows7に代えてからは使っていない。PuTTY は最初はとっつきにくいけど、Emacs と連携して使えるので良い。認証鍵を作るときにも、いっしょにダウンロードしたプログラムで作成できる。

ipv6 を無効にする

ipv6は使わないので無効にしておく。不用なものはどんどん無効にしてしまおう

/etc/sysctl.conf の最終行に追記

# vi /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1 

設定変更を反映する

# sysctl -p

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

SELinux を無効にする

インストールの方針にあるとおり、今回は無効にしてしまう。

# vi /etc/sysconfig/selinux 

#SELINUX=enforcing
SELINUX=disabled

設定を有効にするために、OSをリブートする

# reboot

CentOSをアップデートする

リブートしてOSが立ち上がってきたら、OSをアップデートする。

# yum -y update

NTPサーバを導入する

ntpdをデーモンとしてを起動しておいて時刻を同期させる。yum で ntp 関連のプログラムを導入した後、/etc/ntp.conf を修正して同期をとるサーバーを変更する。

# yum -y install ntp
# vi /etc/ntp.conf

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

ntpd を起動させ、OSが起動したときに自動で立ち上がるように chkconfig で設定する

# /etc/rc.d/init.d/ntpd start
ntpd を起動中:                                             [  OK  ]

# chkconfig ntpd on
# chkconfig --list ntpd
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 172.29.3.50      2 u   35   64    1   11.422  -6726.2   0.001
 ntp2.jst.mfeed. 133.243.236.18   2 u   34   64    1   12.569  -6727.0   0.001
 ntp3.jst.mfeed. 133.243.236.18   2 u   33   64    1   12.005  -6726.3   0.001

ファイアウォールを無効にする

勉強のためのサーバであり、ファイアウォールが有効になっていると混乱することもあるので、とりあえず無効にしておく。ipv6 のファイアウォールもあるので注意

# /etc/rc.d/init.d/iptables stop
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
# chkconfig iptables off
# chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off

# /etc/rc.d/init.d/ip6tables stop
ip6tables: ファイアウォールルールを消去中:                 [  OK  ]
ip6tables: チェインをポリシー ACCEPT に設定中: filter      [  OK  ]
ip6tables: モジュールを取り外し中:                         [  OK  ]

# chkconfig --list ip6tables
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
# chkconfig ip6tables off
# chkconfig --list ip6tables
ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off

ユーザを作る

作業用のユーザ bty を作っておく。

# useradd bty
# passwd bty

ssh の設定

root ユーザでログインを禁止するため、/etc/ssh/sshd_config を修正し、sshd を再起動する。

# vi /etc/ssh/sshd_config

#PermitRootLogin yes
PermitRootLogin no

#PermitEmptyPasswords no
PermitEmptyPasswords no
PasswordAuthentication yes



# /etc/rc.d/init.d/sshd restart
sshd を停止中:                                             [  OK  ]
sshd を起動中:                                             [  OK  ]

Windows7端末で ssh接続し、rootでログインできないこと、btyユーザでログインできることを確認する

httpdをインストールする

やっぱりブラウザからhttpの画面が見れないとさびしいのでインストールしておく。コンフィグファイル /etc/httpd/conf/httpd.conf は修正無し。httpd サービスを起動して、ブラウザから閲覧できるか確認しておく。

# yum -y install httpd 

# /etc/rc.d/init.d/httpd start
httpd を起動中: httpd: apr_sockaddr_info_get() failed for centos
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

ブラウザで http://192.168.11.231 を閲覧して、表示されるかを確認する

ThinkPad T60 に CentOS 6.4 をインストールした

ThinkPad T60 に CentOS 6.4 をインストールした

仕事で RedHat を使うことになったので、勉強のために ThinkPad T60 に CentOS 6.4 をインストールした。最近の3年間ぐらいはずっと Ubuntu を使ってきたので、いろいろと忘れていることが多過ぎてインストールに四苦八苦。

ネット上にインストール方法をすごく丁寧に説明してあるサイトがたくさんあって参考にさせていただいた。仕事のサーバーだと、昔からの流れなんだと思うが、やっぱり RedHat系が多く、残念だが Ubuntu Server は、しばらくの間、お別れだ。

いつものように後々のため、インストールした作業を記録しておく。

インストールしたマシン

ThinkPad T60 (1951-G2J)

  • RAM 2GB
  • HDD 80GB

インストールの方針

  • LVM(logical volume manager)は使わない

    使うとすればデータ用パーティションで、あとからファイルシステムの拡張ができるメリットがある。今回のインストールでは使わない

  • SELINUXは使わない

    一般的な業務では使われないし、使い方もよくわからないのでパス

CentOS をダウンロードする

CentOS のミラーサイトの一覧
www.centos.org – centos.org content
から、Japanのうちでなんとなく JAIST を選択した。link されている JAISTのサイトから、64bitで最新の CentOS-6.4-x86_64-bin-DVD1.iso をダウンロードした。

http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso

ダウンロードしてisoファイルを DVD に焼いて準備する。今考えると、CentOS-6.4-x86_64-minimal.iso でも良かったかも。

CentOSをインストールする

焼いた DVD を ThinkPad にセットして、DVDドライブから起動する。後は指示にしたがって、必要な処理をしていくだけ。

  • メディアチェック

    チェックはしないので、Skip を選択する

  • 言語選択、キーボード選択

    日本語を選択する

  • ストレージデバイス選択

    基本ストレージデバイスを選択する

  • ホスト名指定

    家サーバなんで何でも良いけど、ホスト名は「centos」とする

  • 地域指定

    「アジア/東京」を選択する

    「System clock uses UTC」のチェックはそのままにしておく。ネット上の設定例ではたいていはずしておくみたいだ。

    9.8. タイムゾーンの設定 – Red Hat Customer Portalには次のように記述してあるので、今回はこれに従うことにする。

    使用システム上で Red Hat Enterprise Linux が唯一のオペレーティングシステムの場合は、 システムクロックで UTC を使用(System clock uses UTC) を選択します。

    参考になるサイトはパソコンの時計 ハードウェアクロックとシステムクロックに説明があるんで後で読む

  • インストールタイプ選択

    「カスタムレイアウトを作成する」を選択する

    • ブートパーティション用 500MB マウントポイント: /boot
    • ルートパーティション用 20000MB マウントポイント: /
    • スワップパーティション用 4000MB
    • ホームパーティション用 残り全部 マウントポイント: /home
  • ソフトウェアセット選択

    「Minimal」を選択する

インストール処理が終わるのを待ち、リブートして正常に立ち上がるかを確認する。

まだ、インストールの後の作業が残っているが長くなったので次回へ

[Pyhton]CentOS5.3にnkf for pythonをインストール

Pythonは機種依存文字の処理がそのまま(インストールした状態)ではうまく処理できないので、えらく損していると思う。買ってきた本をみてコードを打ち込んでやってみたら、ダメじゃん、みたいなことがあるとがっくりくる。
ちゃんとした文字コード範囲内の文字を使おうという理想はわかるのだが、現実は機種依存文字が使われる。まあ、ユーザからすれば、使える文字は使おうという考えがあたりまえで、○に数字の入った文字なんかを便利に使われている。Pythonからすれば、それはjisに規定されていなから、エラーになってしまうのだが、困った問題。
ということで、[nkf for python](http://city.plala.jp/moin/NkfPython) をインストールして機種依存文字を処理できるようにした。
[http://city.plala.jp/moin/NkfPython](http://city.plala.jp/moin/NkfPython)
に、インストール方法が説明してあるのでこのとおりやってみる。

1.nkfをダウンロードして展開

[http://sourceforge.jp/projects/nkf/](http://sourceforge.jp/projects/nkf/) から nkf-2.0.9.tar.gz をダウンロードする。
$ tar zxvf nkf-2.0.9.tar.gz
$ cd nkf-2.0.9

2.NKF_python20090602.tgzをダウンロードして展開

[http://city.plala.jp/moin/NkfPython](http://city.plala.jp/moin/NkfPython) から NKF_python20090602.tgz をダウンロードする。
$ tar zxvf NKF_python20090602.tgz

3.nkf for pythonをインストール

この時点でディレクトリ構成は以下のように nkf-2.0.9の配下に NKF_python20090602が配置されている。
nkf-2.0.9/
|- NKF.python/
インストールしてみよう。
$ cd NKF.python
$ su
# python setup.py install
これでインストールが完了とおもったら下記のエラー
NKF_python.c:23:20: error: Python.h: そのようなファイルやディレクトリはありません
Python.h が無いと言っている。ということは、Python開発関係のファイルがインストールされていないのだ。ということで、下記のように python-devel をインストールして、やりなおし。
# yum install python-devel
# python setup.py install
できました。
nkf、および nkf for python を提供されているかたがたに感謝します。
READMEに書かれていましたが、Rubyにはnkfが同梱されているそうです。