2011年12月27日火曜日

CentOS6のインストール(テキストモード)

CentOS6の基本的なインストール

VMware ESXi5.0を使い仮想マシンで構築

環境はDell PowerEdgeR410(Xeon E5530×2、メモリ32GB)にESXi5.0で構成されたものを使います。構築はこちらを参考にして頂ければ幸いです。

ここではデスクトップ利用ではなくサーバ用途を目的としております。従ってX-Windowは利用しません。また、DVDイメージをダウンロードしてメディアに焼くなんて面倒なことはせずにネットワークインストールで行います。

尚、LAN使用を目的としているためセキュリティは最低限としております。


■準備■

事前にCentOSネットワークインストール用ISOファイルを取得しておきます。

CentOS6よりboot.isoはなくなりました。その代り各バージョンごとにISOファイルが用意されているようです。他にもダウンロード先はありますので以下のページでご確認ください。

http://www.centos.org/modules/tinycontent/index.php?id=32

ここではCentOS6.2-32bit版を選択しています。

ftp://ftp.riken.jp/Linux/centos/6.2/isos/i386/CentOS-6.2-i386-netinstall.iso
※理科学研究所さまありがとうございます。

取得したISOファイルをESXi上のデータストアにアップロードしておきます。
※私は別マシンにNFS共有を作成してそこに各ISOファイルをアップ、さらにこのNFS共有をESXi上でストレージ追加して仮想マシンから指定できるようしてあります。
詳しくはこちら

では新規仮想マシンを作成します(vSphere Client経由)。
詳しくはこちら

仮想マシンの「設定の編集」>ハードウェア>CD/DVDドライブで「データストアISOファイル」でCentOS-6.2-i386-netinstall.isoを指定します。
このときデバイスのステータス内の「パワーオン時に接続」にチェックを入れておきます。こうすることによりCD/DVDドライブから起動してISOファイルが読み込まれます。

※事前にBIOSを起動して日時を確認してください。


■インストール開始■

では仮想マシンの電源をオンにします。(vSphere Clientにてコンソールタブにしてね)
CD/DVDドライブからbootしてインストールメニューが表示されます。
キー操作ができませんので、コンソール画面内のクリックを忘れずに!
1分以内に何かキーを押さないと勝手に起動が始まってしまうよ

メニューの選択は一番上を選択すればOKです。
GUIなどで不具合が出たときなど2番目を選択することもあります。
詳しくはRed Hat Enterprise Linuxのページを参照してください。
Tabキーを押してオプション編集で~imgの後に半角スペース+textという文字を追加します。
ただしメモリが652MB以下だと強制的にテキストモードになるのでこの操作は不要です。
検証は不要ですので「Skip」
インストール中の言語です。基本はEnglish!
確かテキストモードでは日本語にならないと思います。
キーボードタイプを選択します。
一応確認した方がよいですが、ほとんどが日本語のjp106だと思います。
インストールイメージの参照先
インターネット経由なのでURLを選択します。
私はIPv6を使わずIPv4で固定IPを割り振ります。
DHCPでもよいがサーバ用途のため必然的に固定IPです。
割り当てるIP、デフォルトゲートウェイ、DNSを設定します。
ご自分のLAN環境に合わせてくださいね。
これが正しく設定されないとインストールできません。
インストールイメージの参照先(これ以外にもたくさん公開されています)
私は理化学研究所さんを使わさせて頂きます。
http://ftp.riken.jp/Linux/centos/6.2/os/i386
(画面ではhttp://ftp.riken.jp/Linux/centos/6/os/i386になっていますが
最新バージョンの6.2であればこれでもOK)

詳しくはCentOSのダウンロードサイト(アジア圏)で確認してください。
またproxyを使う方は指定してね。
URLが正しければInstall.imgを読み込みます
VNCは使いません。「Use text mode」です。
ようこそ!
ディスクの初期化が必要ということで初期化します
Re-initialize allでOK
UTCのチェックを外して「Asia/Tokyo」を選択
rootのパスワードを指定します
ドライブ全体を使用するので「Use entire drive」を指定します
以前はパーティションをカスタマイズできたがCentOS6のテキストモードでは
できないようになってるようです。従ってそのままディスクに書き込みます。

またパッケージを選択する項目もなくなってしまったようですね。
構成はMinimalつまり最小構成が自動選択されるようです。

■初期設定■

●システム時刻の調整
# date -s "12/27 16:45 2011";hwclock --systohc
※date -s "月/日 時:分 西暦"
hwclock;date

●ネットワーク設定の確認
IPアドレスやDNS、ゲートウェアなど基本的なネットワークを再度確認しておきましょう。
# cat /etc/hosts
# cat /etc/sysconfig/network
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth1(複数Nicがあれば)
# cat /etc/resolv.conf

●IPv6の無効
状態を確認
# ifconfig
[inet6 addr: ・・・・]という行があれば有効になっています。


# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0  ← disableになっていない
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
0  ← disableになっていない

disableを有効にする
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1    ←追記
net.ipv6.conf.default.disable_ipv6 = 1 ←追記

SSHの待ち受けを強制的にipv4のみにする
# vi /etc/ssh/sshd_config
ListenAddress 0.0.0.0 ←#を取り除き有効

hostsファイルの編集(やらなくてもよい)
# vi /etc/hosts
#::1 ←コメント

OSを再起動して確認してみます。
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
1
それぞれ1になっていればOKです。

-------------------------------------------------------------------
OSを再起動させないで適用する方法
sysctl.confおよびsshd_configを編集後以下の処理を行う
# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
# echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
1
それぞれ1になっていればOKです。


# /etc/init.d/network restart
# /etc/init.d/sshd restart
これでOK
※echo 1 >の「>」をここで半角使用すると化けるので全角を使ってます。
-------------------------------------------------------------------

●GPGKEYのインストール
ネット経由からのパッケージが正しい配布先のものか等に使われます。
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6;

KEYの確認
# rpm -qai gpg-pubkey*

●パッケージ群のインストール
ソースからインストールすることが多いので開発パッケージ"Development Tools"を入れます。
あとはベースシステム"Base"ですかね(結構いらないものが多いが・・・)。
私は最低限この2つを入れます。
# yum groupinstall base "Development Tools"
# Is this ok [y/N]:y ←入力
※yum -y groupinstall baseのようにオプションに「-y」を付加すると確認せずインストールが始まります。

パッケージ全体のアップデートを行います。
# yum -y update

●タイムサーバ(ローカルのみ参照可能)
# rpm -qa | grep ntp
存在しなければ
# yum -y install ntp
※CentOS6ではBaseパッケージ群に含まれています。

外部NTPサーバから正確な時刻に合わせます。
# ntpdate ntp.nict.jp ← 独立行政法人情報通信研究機構を利用

ハードウェア時刻(マザーボード)も同期させます。
# hwclock --systohc

時刻を正確に保つようにします。
# vi /etc/ntp.conf

 #restrict default kod nomodify notrap nopeer noquery ←コメント
 #restrict -6 default kod nomodify notrap nopeer noquery ←コメント
 ※上記をコメントにするだけですべての通信をストップさせることが可能

 restrict 127.0.0.1 ←ローカルホストアクセス許可(IPv4)
 #restrict -6 ::1 ←コメント(IPv6は使いません)

 #server 0.centos.pool.ntp.org ←コメント
 #server 1.centos.pool.ntp.org ←コメント
 #server 2.centos.pool.ntp.org ←コメント
 server -4 ntp.nict.jp ←追記(-4はIPv4という意味)
 server -4 ntp1.jst.mfeed.ad.jp ←追記(インターネットマルチフィード様
 server -4 ntp2.jst.mfeed.ad.jp ←追記
 ※インターネットマルチフィード様もNICTを利用している

ntpdを起動、自動起動
# /etc/init.d/ntpd start
Starting ntpd:                                             [  OK  ]
# chkconfig ntpd on

●System services
不要サービスを起動させないようセットアップします。
基本的に最初は最低限にした方がよいと思います。あとで必要に応じてONにしていきます。

私はサーバ用途が前提でとりあえず有効にするのは以下のサービスです。
・crond(スケジュールによるコマンド実行)
・iptables(パケットフィルタリング)
・network(これがないと話になりません)
・ntpd(タイムサーバ)
・postfix(メール)
・rsyslog(ログ syslogからrsyslogに変わりましたね)
・sshd(他のPCから遠隔操作する)

必要に応じて・・・
・cpuspeed(負荷に応じたCPU自動コントロール)
・irqbalance(マルチCPU環境での分散処理 ※デュアルCPU以上

では設定します。

# setup
System services > Run Tool で実行

用途によって違いますが不要と思われるサービスを起動させないようします。
スペースキーでON/OFFを切り替えます。

●FireWall Configuration
デフォルトのEnableではsshのみ受信許可されている。

あとはそれぞれのサーバ機能を加えるときにポート解放をしていく。
これを使わず直接iptablesを設定してもよい。

構築中はFWを基本的にOFFにしておいた方がいいでしょう。
動くことが確認できてから全ポートを閉じ一つ一つポートを開けていくことをお勧めします。
そうしないと結構ハマルことがあります・・・経験上。


※# system-config-firewall-tui でもFireWall Configurationを開くことができる。

●SELinuxの無効化

# vi /etc/sysconfig/selinux

SELINUX=enforcing → disabledに書き換える

OSを再起動します。

●ユーザの追加
作成時に自動的にユーザディレクトリ直下にpublic_htmlディレクトリが作成されるようにします。
※Webのユーザディレクトリ公開やFTPのユーザカレントディレクトリなどに利用
# mkdir /etc/skel/public_html

ユーザ追加
# useradd hoge

ユーザパスワードの設定
# passwd hoge
※パスワードを2回入力します



●SSHのセキュリティ
セキュリティとしてはカギ認証やChroot化などありますが、最低限として以下の設定をします。
・ログイン認証時間は20秒
・rootログインの禁止
・パスワードの設定されていないユーザのログインを禁止
・指定ユーザのみ接続許可

設定ファイルを開きます。
# vi /etc/ssh/sshd_config

以下を先頭行付近でもいいし最終行付近でもいいしどこかに追記します。(私は先頭)
LoginGraceTime 20
PermitRootLogin no
PermitEmptyPasswords no
AllowUsers hoge

設定を適用します。
# /etc/init.d/sshd restart


SSHクライアント(TeraTermやPoderosaなど)からrootログインできないことを確認します。

一般ユーザでログインしてsuできるか?一般ユーザからrootへなれるか確認します。
[hoge@localhost] $ su -
rootパスワードの入力
[root@localhost] # ←$から#に変わればスーパーユーザ(root)になっている

rootから一般ユーザへ
[root@localhost] # exit (logoutでも可)
[hoge@localhost] $

●root宛てメールを任意のアドレスへ転送
# cd /etc/
# vi ./aliases
以下を最終行に追記する
root: hogehoge@example.com



設定の反映
newaliases

●Logwatchのインストール
この状態ではLogwatchがインストールされていなかったためインストールします。
# yum -y install logwatch

●VMwareToolsのインストール
無精で申し訳ありませんが、方法はこちらを参考にしてください。
とりあえずこんなもんでしょうか・・・

 
 
 

2011年12月22日木曜日

Windowsダウングレード注意点

Windows Server 2008やWindows 7がプレインストールされているマシンOSのダウングレードインストール時によくブルースクリーンでSTOP ERROR ( 0x0000007B ) が出ることがあります。

Windows Server 2008からWindows Server 2003やWindows 7からWindows XPなど

これはSATA(シリアルATA)モードの設定違いがほとんどでBIOSのSATA設定を変更することで回避できます。

Windows Server 2008やWindows 7ではAHCIモードになっているので、これをIDEモード(メーカーによってはATA)に変更します。

DELLの場合・・・
System Configuration>SATA Operation

富士通の場合・・・
Advanced>SATA Congiguration>SATA Mode

などメーカーによって様々ですが、基本的に「SATA~」を探せば大丈夫だと思います。

2011年12月21日水曜日

Windows7 IE9からIE8へ

Internet Explorer 9がプレインストールされたPCのInternet Explorerを8にしたい場合


●[コントロールパネル]>[プログラムと機能]>[インストールされた更新プログラム]



●Internet Explorer 9をアンインストール

Windowsの再起動し、これでInternet Explorer 8になるようです。

WindowsUpdateでInternet Explorer 9へアップデートされないよう更新プログラムを非表示にしておくとよいでしょう。更新プログラムを右クリ>更新プログラムの非表示にしておきます。


●Internet Explorer 9へ戻す
通常ならWindows Update経由でインストールすればよいが、インストールに失敗してしまうことがあるようです。(エラーコード800F081E)

こんなときは、Windows7用のシステム更新準備ツール(KB947821)をインストールするとよいと思います。ダウンロードはこちら

これはファイルやレジストリの不整合を解決してWindows Updateから更新プログラムをインストールできるようにするものです。

インストールが済んだらWindows Update経由でInternet Explorer 9をインストールしてみましょう。恐らく問題なくインストールができると思います。

2011年12月16日金曜日

Windows Server 2008 R2 に SQL Server 2005 インストール

環境
Dell R310+VMware ESXi 5.0上にWindows Server 2008 R2をフルインストール構成しWindowsUpdateをすべて適用した状態のマシンです。また役割および機能は一切追加されていない状態から行いました。

SQL ServerはStandard Edition x64でコンポ―ネットは基本的にすべてインストールしますが、サンプルデータベース、サンプルコードとアプリケーションはインストールしません。

事前にVisual Studio 2005 Team Suite SP1およびVisual Studio 2005 SP1 Update for Windows Vistaをダウンロードしておきましょう。ついでにSQL Server SP3もダウンロード。※2011/12/16現在SP4もリリースされています。


各ダウンロード先
For VistaとなっていますがWindows Server 2008にも対応しています。(Windows7もOK)


手順概要

Reporting Servicesで必要となるIISをインストール


SQL Serverのインストール


途中でdevenv.exeの互換性問題が出るが大丈夫です


SQL Server SP3の適用
Visual Studio 2005 Team Suite SP1の適用
Visual Studio 2005 SP1 Update for Windows Vistaの適用



IISのインストール
Webサーバ IISへチェック

役割サービスを指定する

・HTTPの基本機能から
「静的なコンテンツ」
「既定のドキュメント」
「ディレクトリの参照」
「HTTPエラー」
「HTTPリダイレクション」を追加チェックします。

・アプリケーション開発から
「ASP.NET」を追加チェックします。
 ASP.NETにチェックを入れると関連サービスも必要だと聞かれますのでそのまま素直に追加します。

・セキュリティから
「Windows認証」を追加チェックします。

・管理ツールから
「IIS 6 メタベース互換」
「IIS 6 WMI互換」
「IIS 6 スクリプトツール」
「IIS 6 管理コンソール」を追加チェックします。

追加チェックされた状態

これでインストールを開始します。
インストール後、Web サーバ(IIS)に移動から実行されているか確認してください。サーバ上のブラウザでhttp://localhostと入力してIISのようこそページが表示されるかどうかで判断しても良いと思います。

SQL Serverのインストール
これは私の独自設定で行うため部分的にはインストールする環境に合わせた設定にしてください。

インストールにある「サーバーコンポーネント、ツール、Books Online、およびサンプル」を指定して実行します。後でSP3以降を適用しなさいと表示されます。インストール後に実行するためとりあえず「プログラムを実行する」で進めます。

使用許諾契約書に同意して次へ

SQLServerインストール前に必要なコンポーネントのインストールします。



ではSQL Serverをインストールしていきます。

エラーや警告が出ていないかチェックします。

登録情報を入力します。

インストールするコンポーネントを指定します。


詳細設定を確認します。

名前付きインスタンス名は使わないので既定のインスタンスとします。
インスタンスについてはこちらを参照してください。

アカウントは「ドメインユーザアカウントを使用する」にしてサーバのローカルユーザ(Administrator)を指定します。※ドメイン環境下で必ずドメインを入れる必要はありません。ドメインに依存されないためにもドメインは空白の方が扱いやすいと思います。

認証モードの設定
セキュリティ的にはWindows 認証モードの方が良いが管理的にはパスワード認証があると便利なので混合モードにします。

照合順序の設定はデフォルトのままでよいと思います。変更したい方はどうぞ。

既定の構成をインストールします。


エラーレポートを自動送信するか設定します。

いよいよインストール開始です。エラーがないことを祈りましょう。

はい出ました!devenv.exeの互換性問題、承知しているのでそのままプログラムを実行しましょう。念のため「オンラインで解決策の有無を確認する」でチェックしておきましょう。また後半にも同じメッセージが出てきますが同じ方法で進めましょう。

完了です。


ではVisual Studio 2005 Team Suite SP1およびVisual Studio 2005 SP1 Update for Windows Vistaの順で適用していきましょう。

無事インストールが完了したら次にSP3の適用です。


自動的に検出してくれるので通常、対象となるプログラムを選択する必要はありません。

SQL Serverへの認証を行います。



実行プロセスがあるので、サービスからSQL Serve ***をすべてストップさせロックファイルがないようにしましょう。



完了したら念のためサーバを再起動してSQL Serverが起動しているかチェックしましょう。




Google検索