私のメモです。参考になればいいですが、間違っていたらごめんなさい。
とうとうCube型サーバ機のマザーボードが壊れたらしく、マザーボードをGA-GC230Dに交換した。このマザーボードのネットワークデバイスであるRealTek社の8101EはEtchのカーネルのバージョン2.8.16ではサポートされていない。そこで、Realtek 8101Eをサポートする2.8.24でインストール可能なetch-and-halfを使ってインストールをした。
今回も最小CDイメージからネットワークインストールをする。その際、インストールに使用するカーネルは、マザーボードGA-GC230DのネットワークカードRealtek 8101E(rlt8101e)をサポートしているetch-and-halfを使う必要がある。今回の作業には、etch4.0raのecth-and-halfを用いた。
上記のインストーラを用いると難なくインストールが終了する。今回は標準パッケージのみをインストールした。
sshの鍵の受け渡しに使うため、まず初めにsambaとsmbfsをインストールする。smbfsパッケージは、Windowsの共有フォルダをLinuxのディレクトリにマウントするコマンド(smbmount)である。
|
|
まず、IPアドレスでの制限やCharset等、基本的なところを設定する。 デフォルトファイルからの変更/追加点は次の通りである。
|
|
|
次に共有フォルダの設定である。今回も複数のユーザが居ることを仮定した次の方針で設定した。
|
[フォルダ1]
或いは
[フォルダ1]
[フォルダ2]
|
|
|
|
|
[フォルダ3]
|
|
次にWindows端末からPuTTYでログインできるよう、sshをインストールして設定する。その後、sshdにログインできるのは限られたクライアントPCとし、且つPuTTYでは鍵による認証でログインするように設定した。
PuTTYの設定は、Windowsのページを参考のこと。
これまで、ssh(依存関係でopenssh-clientとopenssh-server)をインストールしていたが、PuTTYでのログインをするだけならば、openssh-clientとopenssh-serverをインストールするだけである。
|
|
次に/etc/ssh/sshd_configを設定する。インストールした際に作成されたファイルからの変更点は下の通りである。
|
|
|
今回インストールしたopensshのsshd_configでは、初めからssh2のみでのログインとなっていた(前回はssh1,2の両方)。
PuTTYで作成したssh2用の公開鍵をユーザの.sshディレクトリ(/home/username/.ssh)にコピーする。その際、コピーしたファイル名はauthorized_keys2とし、他のユーザから見られないようにパーミッションを400に設定する。これでPuTTYを使ってWindowsからログインできるようになる。
etchではapacheのバージョンが2に上がった。設定ファイルも大きく変わり、次のように 分割されている。
| apache2.conf | 主にアプリの設定 | |
| httpd.conf | ウェブサーバ固有の設定 | |
| ports.conf | ポートの設定 | |
| site-available/default | 公開するディレクトリの設定 | |
| conf.d/charset | デフォルトの文字の設定 |
まず、httpd.confにサーバ固有の設定として次の1行を追加した。
次に、ディレクトリの設定をする。元のファイルdefaultをfishersというファイルにコピーし、 fishersで以下の項目を変更した(DirectoryIndexは追加した)。
設定変更後、次のコマンドでfishersを有効にする。
|
|
|
上の設定はapache2を再起動するまで有効にならない。設定が一通り済んでから再起動するので それまで放っておけばよい。
今度は日本語に関する設定を行う。apache2.confとconf.d/charsetで以下の項目を変更した。 特に、conf.d/charsetを修正しないと、表示されるページが全てUTF-8になるので要注意である。
| LanguagePriority | jaを先頭に |
| # AddDefaultCharset UTF-8 | コメントアウト |
DebianではSSI用のモジュールはデフォルトで無効である。 そのため、最後にSSI用のモジュールを有効にする。
|
|
|
また、使わないモジュールは無効にしておいた方が良い。 デフォルトではmod_python、php4、perlが有効になっていたので、それを無効にした。 (a2enmodは、mod-enableにmod-availableにある実体へシンボリックリンクを 貼り、2dismodはそれを削除するコマンドである。そのため、OSを再起動しても 設定は保持される。)
|
|
|
最後にapache2を再起動して、設定を反映させる。。
|
|
|
etchへのアップグレード時と同様、/etc/network/interfaceファイルに直接記述する。 etchで使用したファイルとの変更点は次の通りである。
上記の変更点は次のように記述される。
|
|
|
結局、woodyで使用したファイルで、upをpre-upに、 localdomainを192.168.0.0/24に変更するだけで設定が終了した。
以降のhyperestraierのインストールやカーネルの再構築で必要となるパッケージをインストールする。次のパッケージを新規にインストールした。
|
|
|
|
|
|
インストールは、もちろん次のコマンドである。
|
|
カーネルのソースパッケージのインストールされたら、それを/usr/srcディレクトリに展開し、linuxと言う名のシンボリックリンクを作成する。
|
|
今回はマザーボードが変わったので、前回使ったカーネルが2.6.24の際の設定ファイルを使うことはできない。dmesgやlsmodを参考にして不要なデバイス、サービスを削除した。前回iptablesで痛い目をみたので、iptablesに必要なmake menuconfigのNetworking→Network options→ Network packet filtering→IP:Netfilter Configuration→IP tables support(とそのサブ項目)を有効にした。 また、iptablesに必要なNetworking→Network options→Network packet filtering→Core Netfilter Configuration→ Netfilter Xtables supportとそのサブ項目を有効にした。
|
|
最後にできあがったkernel-imageをインストールする。このインストールにより、ブートローダgrubの設定も 自動で更新され、新しいkernelで起動できるように設定が追記される。
|
(/etc/lilo.confを確認) |
|
次に不要なサービスを停止する。etchではデフォルトのランレベルが2である(/etc/inittab中に記載されている)。 そこで、/etc/rc2.d/にあるシンボリックリンクの名前の頭文字をSからKに変えることでサービスを起動しないようにする。
今回は、使用しない以下のサービスを止めた(頭文字SをKに変更)。
| S20acpid | 電源管理用デーモン | |
| S20netatalk | AppleTalk用デーモン | |
| S20nfs-kernel-server | ネットワークファイル用デーモン | |
| S20openbsd-inetd | TCP Wrapperの1つ。 | |
| S20winbind | Windowsのログイン名でsambaにアクセスするためのデーモン | |
| S21nfs-common | ネットワークファイル用デーモン |