本連載では,往年の名機「ThinkPad s30」を使い,RedHat互換のLinuxディストリビューション「CentOS」を導入したホーム・サーバーを構築していく。今回は,ホーム・サーバーとして需要が大きいファイル・サーバーとプリント・サーバーの設定を取り上げる。SambaやCUPSの利用環境を整備しよう。

 ファイルやプリンタの共有サービスを立ち上げれば,LAN内から自由にファイル交換や印刷ができて便利だ。そこで今回は,Sambaを用いたファイル/プリント・サーバーを構築しよう。

Sambaのインストールと設定

 Sambaは,CentOSをインストールする際に,インストールするパッケージの選択で「サーバー」を選択すれば,自動的に導入される。導入されていない場合は,管理者権限で次のようにインストールしよう。


# yum install samba
# yum install samba-swat

SWATを動かす

 Sambaの設定は,「SWAT」を導入すれば,Webブラウザ上から行える。ほかのパソコンのWebブラウザからSambaサーバーにアクセスして設定することも可能だ。

 CentOSでは,セキュリティ上の配慮から,SWATは初期状態では利用できないようになっている。まずは,/etc/xinetd.d/swatファイルをテキスト・エディタで開き,図1の個所を変更してSWATを使えるようにする。「only_from」の項目には,LAN内でSambaを設定するパソコンのIPアドレスを列記する。

図1●/etc/xinetd.d/swatファイルを編集する
図1●/etc/xinetd.d/swatファイルを編集する
[画像のクリックで拡大表示]

 変更を終えたら次のコマンドを実行してxinetdを再起動する。


# /etc/init.d/xinetd restart

 xinetdが再起動したら,SWATが利用できる。Sambaサーバー自体からアクセスする場合は,WebブラウザのURL欄に「http://localhost:901」を,LAN内のほかのパソコンからは「http://CentOSのIPアドレス:901」をWebブラウザに入力する。

 p.88の写真1は,SWATのトップ・ページである。日本語表示ができない場合は,Webブラウザの言語設定を変更しよう。Firefoxの場合は,EditメニューからPreferencesを選択し,Advanced設定にある「Edit Languages」ボタンを押す。写真2のようにJapaneseを加え,Japaneseの優先順位を最上位にする。

写真1●SWATのトップ・ページ
写真1●SWATのトップ・ページ

写真2●Firefoxの「Languages」のダイアログ
写真2●Firefoxの「Languages」のダイアログ

Sambaの設定内容

 CentOSではデフォルト(初期設定)でも問題ないよう,必要最小限のSambaの設定が施されている。しかし,念のために初期設定を確認ながら,変更した方がよい項目を調べていこう。

 SWATのトップ・ページでGLOBALSアイコンをクリックする。次に詳細表示ボタンを押す(写真3)。この画面で確認すべき項目は以下の通りだ。

写真3●SWATのGLOBALS設定の詳細表示
写真3●SWATのGLOBALS設定の詳細表示

・dos charset

 クライアント(Windows)側の文字コードを指定する。日本語の場合は「CP932」を設定する。

・unix charset

 ホスト(Samba)側の文字コードを設定する。CentOSの場合は「UTF-8」を設定する。

・workgroup

 Windowsで利用している「ワークグループ」名を入力する。アクセスするWindowsパソコンのワークグループと異なると,共有できない場合がある。

・netbios name

 Windowsネットワーク上でのホスト名(NetBIOS名)を入力する。デフォルトではホスト名が設定されるが,LANでDNSなどを運用していないときには「localhost」になってしまうこともある。他のコンピュータと重複はできないので,適当な名前を設定しておこう。

 以上がGLOBALS設定での確認および変更すべき項目だ。そのほかはデフォルトのまま使っても問題ない。変更したら「変更を反映」ボタンを押すのを忘れないようにする。

 続いて,共有の設定を行う。SHARESアイコンをクリックしよう。

 写真4の画面例のように,ファイル共有の選択欄でhomes(ホーム・ディレクトリ)を選択し,「ファイル共有の選択」ボタンをクリックする(写真5)。

写真4●SWATのSHARESのトップ・ページ
写真4●SWATのSHARESのトップ・ページ

写真5●ホーム・ディレクトリの共有設定
写真5●ホーム・ディレクトリの共有設定

 ホーム・ディレクトリはデフォルトで共有する設定になっているので,「read only」(読み出しのみ)がYesになっていないかを確認しよう。Yesになっていると,書き込みができない。YesだったらNoに変えて「変更を反映」ボタンをクリックする。

 最後に,ユーザーの追加を行う。PASSWORDアイコンをクリックする(写真6)。画面例のようにユーザー名の欄にCentOSにアカウントがあるユーザー名を,パスワード欄にWindowsからアクセスするときのパスワードを入力し,「新規ユーザーの追加」ボタンをクリックする。他にもWindowsからアクセスするユーザーがいれば,同様の手順でユーザーの追加を行う。

写真6●ユーザーを設定する
写真6●ユーザーを設定する

 これで,ホーム・ディレクトリに対する共有の設定ができた。LAN内にあるWindowsパソコンで「マイネットワーク」を開き,ワークグループのコンピュータを一覧表示させよう。設定したNetBIOS名のアイコンが見えたら,それを開く。登録したユーザー名とパスワードを使ってログオンすれば,自分のユーザー名の共有フォルダ(CentOS上のホーム・ディレクトリ)があり,読み書きできるはずだ。

全員で共有するフォルダを作成する

 ホーム・ディレクトリの次は,家族全員で共有できるフォルダを作成しよう。ホーム・ディレクトリは,所有者しかアクセスできないので,それとは別に共有フォルダを作成しよう。

 まず,共有フォルダを作成するためのユーザー・アカウントを新規に登録する。今回はユーザー名を「data」とした。管理者権限で次のコマンドを実行する。


# useradd data

 useraddコマンドを使うと,自動的にユーザー名「data」のホーム・ディレクトリ(/home/data)が作成される。パスワードを設定しなければログインができないものの,dataはホーム・ディレクトリを作成するためのアカウントなので,パスワードを設定する必要はない。

 次に,SWATのSHARES設定を開く。写真7の画面例のように,shareという共有名を新規作成する。

写真7●shareという共有を作成する
写真7●shareという共有を作成する

 「ファイル共有の作成」ボタンを押すと共有設定に切り替わるので,詳細表示ボタンを押す(写真8)。

写真8●shareの詳細設定を行う
写真8●shareの詳細設定を行う

 まず,path欄をdataのホーム・ディレクトリである「/home/data」に変更する。「force user」と「force group」をそれぞれ「data」にする。この変更により,この共有フォルダにアクセスしようとするユーザーは,すべて所有者であるdataとして扱われる。つまり,どのユーザーも/home/dataフォルダにアクセスできる。

 最後に「read only」をNoに変更し,「変更を反映」ボタンを押す。これで,誰でもアクセスできる共有フォルダ/home/dataを作成できた。

プリンタ共有の設定

 続いてプリント・サーバーの設定を行う。今回は,ThinkPad s30のUSB端子に接続したプリンタを,LAN内のWindowsパソコンで印刷できるようにする。

 まず,印刷システム「CUPS」をインストールしよう。次のコマンドを実行する。


# yum install cups
# yum install desktop-printing
# yum install hal-cups-utils

 既にCUPSがインストール済みであっても,これらのコマンドで最新版に更新される。なるべく実行しよう。

 CUPSはSambaと同様,Webブラウザを利用して設定できる。しかし,今回は/etc/cups/cupsd.confファイルをテキスト・エディタで開き,図2を参考に変更しよう。アクセスするプリンタのIPアドレスを登録する。

図2●/etc/cups/cupsd.confの変更個所
図2●/etc/cups/cupsd.confの変更個所

 次に,Windowsからプリンタに送られてくるデータを,無加工で(RAWデータのまま)プリンタに渡すように,/etc/cups/mime.typesと/etc/cups/mime.convsという2種類の設定ファイルを変更する。

 まず,/etc/cups/mime.typesは次の行頭にある「#」を削除する。


# application/octet-stream

 /etc/cups/mime.convsでは,次の行頭にある「#」を削除する。


# application/octet-stream application/vnd.cups-raw 0 -

 以上を変更したら,次のコマンドでCUPSを再起動する。


# /etc/init.d/cups restart

プリンタを登録する

 USBに接続したプリンタをCUPSに登録しよう。CentOS上であればWebブラウザで「http://localhost:631」に,LAN内のほかのパソコンからは「http://CentOSのIPアドレス:631」にアクセスする(写真9)。

写真9●CUPSのプリンタ設定ページ
写真9●CUPSのプリンタ設定ページ

 「Do Administration Tasks」をクリックし,ユーザー名rootで認証を行うと次の画面が現れる。ここで,「Add Printer」をクリックし,写真10でName欄にプリンタ名を入力,Location(場所)とDescription(説明)欄は任意なので必要に応じて記述する。入力したらContinueをクリックする。

写真10●プリンタ名を設定する
写真10●プリンタ名を設定する

 次の画面では,「USB Printer #1」を選択してContinueをクリックする。この次の画面ではメーカーなどを選択するが,この設定はさほど重要ではないので,適当に選べばよい。もし合致するメーカー名が見当たらなければRawを選ぼう。ここではRawを選択する。

 前の画面でRawを選ぶと,次の画面では「Raw Queue」しか選択できない。Raw Queueを選択し,Continueをクリックする。

 これでプリンタの追加は完了した。Administartionというリンクをクリックして管理用のトップ・ページに戻り,Managed Printerというリンクをクリックする。p.92の写真11のように追加したプリンタが表示されれば,登録は完了だ。

写真11●追加したプリンタが現れる
写真11●追加したプリンタが現れる

IPPを使ってWindows機から印刷する

 早速,Windowsパソコンからプリンタを利用してみよう。まずはIPP(Internet Printing Protocol)を利用する設定だ。IPPはWindowsだけでなく,Mac OS XなどでもサポートされているTCP/IPを利用した印刷プロトコルである。CUPSはIPPサーバーを機能を備える。

 設定は簡単だ。Windowsのコントロールパネルから「プリンタとFAX」を開き,プリンタのインストール・ウィザードを起動する(写真12)。ここで「次へ」ボタンを押して先に進む。次の画面では「ネットワークプリンタ」を選択して先に進む。

写真12●Windowsのプリンタのインストール・ウィザード
写真12●Windowsのプリンタのインストール・ウィザード

 写真13の画面で「インターネット上または自宅/会社のネットワーク上のプリンタに接続する」を選択し,URL欄に「http://CentOSのIPアドレス:631/printers/プリンタ名」を入力しよう。プリンタ名は,CUPSに追加したときのものにする。

写真13●プリンタのURLを入力する
写真13●プリンタのURLを入力する

 設定したURLが正しければ,写真14のようにプリンタ・ドライバの選択ダイアログが表示される。ここで,プリンタに適合するドライバを選択し,「通常使うプリンタ」などの設定をすれば,ウィザードが終了する。

写真14●プリンタのドライバを選択する
写真14●プリンタのドライバを選択する

 設定がうまくいけば,写真15のように,CentOS上のプリンタが追加されている。右クリックしてプロパティから「テストページの印刷」をクリックして印刷できることを確認しよう。

写真15●新しいプリンタが登録されていれば印刷できる
写真15●新しいプリンタが登録されていれば印刷できる

Sambaを利用したプリンタの共有設定

 Sambaを使ったプリンタ共有もできる。

 Windows上でマイネットワークを開き,ワークグループのコンピュータの一覧の中から,CentOSのアイコンを開く。写真16のように追加したプリンタが見えるはずだ。もし,プリンタが表示されない場合は,サーバー側でSambaを再起動する。

写真16●プリンタが一覧表示から選べる
写真16●プリンタが一覧表示から選べる


# /etc/init.d/smb restart

 プリンタをダブル・クリックすると,写真14と同じドライバの選択画面が現れる。後の手順はIPPと同じだ。

 なお,筆者が試した限りでは,Sambaを経由するより,IPPを利用した印刷の方が高速だった。Sambaの場合,WindowsパソコンからSambaへ,SambaからCUPSへとデータが送られるが,IPPならWindowsパソコンから直接CUPSにデータが送られるためだと思われる。

 これで共有サーバー設定は終了だ。ThinkPad s30でも十分なパフォーマンスで利用できると思う。ただし,ファイル・サーバーを運用するには,ThinkPad s30のハードEディスク容量は不十分だ。さらに,ThinkPad s30のUSB端子はUSB1.1対応で,データ転送速度は12Mbpsと今となっては極めて遅く,外付けによる増設も難しい。

 次回は,高速なUSB規格に対応できるよう,USB2.0対応のPCカードの導入方法などを紹介する。