インストールしてみようLinux ~いよいよファイルサーバを作る編~ [インストールしてみようLinux]
ここまでで、Linuxのインストールと時刻同期については完了している。まあ、ここから先はぶっちゃけLinuxというよりもその上で動作するアプリケーションのセットアップの話になってくるので、「インストールしてみようLinux」というタイトルが正しいかどうかと聞かれると、非常にアレなんだけども。。。。。
まあ、Linuxを入れるだけ入れてそこで終了というのも、ありがたみもよく分からない状態で終了してしまうということのような気がするので、あくまでもオマケということで、ファイルサーバを作るところまで解説したいと思う。
今時の既製品のNASにはいろいろと目を見張るものがあって、容量がデカくて安くて手間いらずというだけでなく、NASを2個用意したら自動的にデータをバックアップしてくれるような製品があったり、2個のNASを1個の大きなNASに見せたりするような製品があったかと思うと、DLNA対応なテレビやガジェットで音楽や動画を再生できる環境をPC無しに実現してくれたりするのである。ちょっと古めのプリンターをネットワークプリンターとして面倒みてくれるような物もある。
ま、ぶっちゃけ、そうした製品は組み込み用Linuxが使われているので、今ここで作成しようとしている「ファイルサーバ」でも同じ事が出来るんだけどもね。
そんな訳で、説明を開始する。
なお、想定している環境は、Linuxをファイルサーバ(ファイル置き場)にして、クライアントにはWindowsなPCを想定している。また、一般家庭での使用を想定しているので「ワークグループ」での使用を前提とする。(ドメインに参加しているPCからでもアクセスは可能だが、説明は省略している)
まず、LinuxサーバとWindowsなPCクライアントとの間でファイルを共有する方法だが、PC側からLinuxのサーバが「ネットワーク上の共有フォルダ」に見えるようにするのが簡単で使い勝手の良い方法となるだろう。ただ、Linux側はWindows側に対して「ネットワーク上の共有フォルダ」を提供する機構を標準で持っていないので、別途ソフトを用意する必要が出てくる。
このために使われるのが、有名なsambaである。(「サンバ」と読む)公式サイトには詳細な説明がずらずらと書かれているが、「特にアクセス制限はしない」「プリンタ共有はしない」のであれば、特に難しいことはなくて、ラクチンポンなセットアップが可能なのである。
そんな訳で、さっそくsambaをセットアップする。
yumコマンドからインストールが可能。まずは、yum searchでパッケージを探してみよう。
検索結果がズラズラと出てくるが、今回インストールしたいのは、「samba.x86_64 : The Samba SMB server.」である。(32ビット環境では「samba.i386」になる)
よって、yum install samba.x86_64とすることでインストール完了である。
ずらずらーっと処理過程が表示され、インストールが行われる。
インストールが済んだら、Linuxサーバ側をWindowsなPCからネットワークフォルダとしてアクセスが出来るように設定を行う。
設定を行う項目としてはおおまかに以下の通りとなる。
必須項目:
①ワークグループ名
②NET-BIOS名(WindowsなPCから見たサーバの名前)
③共有フォルダの共有名
④実際にファイルを保存する場所
お好みに応じて:
⑤サーバのコメント
⑥共有フォルダのコメント
というところだろうか。
これらの情報は、sambaの挙動を制御する設定ファイル、/etc/samba/smb.confに書き込むこととなる。
それでは、サンプルケース(ぶっちゃけ、我が家のファイルサーバの設定)を見てみよう。
必須項目:
①ワークグループ名 : ASGARDHR
②NET-BIOS名(WindowsなPCから見たサーバの名前) : Chihiro
③共有フォルダの共有名 : sound
④実際にファイルを保存する場所 : /mnt/private_storage/share_sound
お好みに応じて:
⑤サーバのコメント : MyStorage Server
⑥共有フォルダのコメント : Sound Files
こんな感じで設定することにする。
すると…
このように書けば終了。
軽く解説しておく。
まず、「[global]」と書かれた行から、サーバ全体の設定が記述されている。ワークグループや、BET-BIOS名、セキュリティ設定等が指定されている。
そして、「[sound]」と書かれた行から、個々の共有フォルダの設定が記述される。このとき、角カッコの中に記述された名称が、WindowsなPCから見たときのフォルダの名前になる。ちなみに、上記のように指定した場合にこの共有フォルダをWindowsなPCから指定する場合のUNC名は、
¥¥chihiro¥sound
と、いうことになる。(表示の都合上、円マークを全角で記述しているが、実際に指定する場合は半角文字の円マークを用いる必要があるのは言うまでもない)
さて。google等でsambaについての設定情報を検索すると、「code page」とかその辺の文字コードに関する設定をするページにたどり着くかもしれないが、今ここで例示している設定にはそれらの記述は全くない。が、これでも全く問題無くアクセスすることができるのである。Linuxサーバ側の文字コードがUTF-8のままになっていれば、文字コードの設定は省略可能なのである。よって、まるっと省略しているので、ここには記述していない。
WindowsなPCで日本語(全角文字)を含むファイルを置いた場合に本当に大丈夫なのか気になるところだろう。実際Windowsでファイルを置いて、Linuxのターミナルから同じフォルダを見ると…
と、このようにきちんと日本語で表示されている。化けたりしない。
なお、文字コードを古式ゆかしいeucJP等に変更している場合は、sabma.confの中に文字コード変換に関する指定が必須となるので要注意。まあ、今回のLinuxセットアップでは文字コードの変更を行っていないのでUTF-8のままである。
では、設定ファイルの記述が出来たところで、sambaを実際に起動して確認してみよう。
sambaの起動は他のデーモンプロセスと同様に「service」コマンドで起動可能。service smb startで起動する。起動すると、「nmbd」と「smbd」の2種類のプロセスが数個起動する。これはクライアントからのアクセス数によって増えたり減ったりする。多分、2~4個ずつかな。
WindowsなPCでDOSプロンプトを開いてnet viewコマンド等で確認しておこう。(まあ、「マイ ネットワーク」からクリックしていっても良いが。)
ファイルを実際にコピーしたりして動作を確認する。問題無いようなら、サーバを再起動したとき等にsambaが起動するように、chkconfig smb onを実行しておく。
これでファイルサーバ化が完了である。
まあ、Linuxを入れるだけ入れてそこで終了というのも、ありがたみもよく分からない状態で終了してしまうということのような気がするので、あくまでもオマケということで、ファイルサーバを作るところまで解説したいと思う。
今時の既製品のNASにはいろいろと目を見張るものがあって、容量がデカくて安くて手間いらずというだけでなく、NASを2個用意したら自動的にデータをバックアップしてくれるような製品があったり、2個のNASを1個の大きなNASに見せたりするような製品があったかと思うと、DLNA対応なテレビやガジェットで音楽や動画を再生できる環境をPC無しに実現してくれたりするのである。ちょっと古めのプリンターをネットワークプリンターとして面倒みてくれるような物もある。
ま、ぶっちゃけ、そうした製品は組み込み用Linuxが使われているので、今ここで作成しようとしている「ファイルサーバ」でも同じ事が出来るんだけどもね。
そんな訳で、説明を開始する。
なお、想定している環境は、Linuxをファイルサーバ(ファイル置き場)にして、クライアントにはWindowsなPCを想定している。また、一般家庭での使用を想定しているので「ワークグループ」での使用を前提とする。(ドメインに参加しているPCからでもアクセスは可能だが、説明は省略している)
まず、LinuxサーバとWindowsなPCクライアントとの間でファイルを共有する方法だが、PC側からLinuxのサーバが「ネットワーク上の共有フォルダ」に見えるようにするのが簡単で使い勝手の良い方法となるだろう。ただ、Linux側はWindows側に対して「ネットワーク上の共有フォルダ」を提供する機構を標準で持っていないので、別途ソフトを用意する必要が出てくる。
このために使われるのが、有名なsambaである。(「サンバ」と読む)公式サイトには詳細な説明がずらずらと書かれているが、「特にアクセス制限はしない」「プリンタ共有はしない」のであれば、特に難しいことはなくて、ラクチンポンなセットアップが可能なのである。
そんな訳で、さっそくsambaをセットアップする。
yumコマンドからインストールが可能。まずは、yum searchでパッケージを探してみよう。
[root@test-server1 ~]# yum search samba (途中省略) system-config-samba.noarch : Samba server configuration tool samba-client.x86_64 : Samba (SMB) client programs. samba-common.x86_64 : Files used by both Samba servers and clients. sblim-cmpi-samba.i386 : SBLIM WBEM-SMT Samba sblim-cmpi-samba-test.x86_64 : SBLIM WBEM-SMT Samba - Testcase Files samba-client.x86_64 : Samba (SMB) client programs. sblim-tools-libra-devel.x86_64 : SBLIM Common Resource Access Library for WBEM-SMT tasks Header Development Files sblim-cmpi-dns.i386 : SBLIM WBEM-SMT Dns samba-swat.x86_64 : The Samba SMB server configuration program. sblim-cmpi-samba-devel.i386 : SBLIM WBEM-SMT Samba - Header Development Files samba.x86_64 : The Samba SMB server. amanda.i386 : A network-capable tape backup solution. sblim-tools-libra.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks samba.x86_64 : The Samba SMB server. sblim-tools-libra-devel.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks Header Development Files samba-common.i386 : Files used by both Samba servers and clients. samba-common.x86_64 : Files used by both Samba servers and clients. samba-swat.x86_64 : The Samba SMB server configuration program. sblim-tools-libra.x86_64 : SBLIM Common Resource Access Library for WBEM-SMT tasks samba-common.i386 : Files used by both Samba servers and clients. sblim-cmpi-samba-devel.x86_64 : SBLIM WBEM-SMT Samba - Header Development Files amanda.x86_64 : A network-capable tape backup solution. sblim-cmpi-dns.x86_64 : SBLIM WBEM-SMT Dns sblim-cmpi-samba.x86_64 : SBLIM WBEM-SMT Samba
検索結果がズラズラと出てくるが、今回インストールしたいのは、「samba.x86_64 : The Samba SMB server.」である。(32ビット環境では「samba.i386」になる)
よって、yum install samba.x86_64とすることでインストール完了である。
[root@test-server1 ~]# yum install samba.x86_64 (途中省略) Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package samba.x86_64 0:3.0.28-1.el5_2.1 set to be updated --> Processing Dependency: samba-common = 3.0.28-1.el5_2.1 for package: samba --> Running transaction check ---> Package samba-common.x86_64 0:3.0.28-1.el5_2.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: samba x86_64 3.0.28-1.el5_2.1 updates 16 M Installing for dependencies: samba-common x86_64 3.0.28-1.el5_2.1 updates 8.8 M Transaction Summary ============================================================================= Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 25 M Is this ok [y/N]: y
ずらずらーっと処理過程が表示され、インストールが行われる。
インストールが済んだら、Linuxサーバ側をWindowsなPCからネットワークフォルダとしてアクセスが出来るように設定を行う。
設定を行う項目としてはおおまかに以下の通りとなる。
必須項目:
①ワークグループ名
②NET-BIOS名(WindowsなPCから見たサーバの名前)
③共有フォルダの共有名
④実際にファイルを保存する場所
お好みに応じて:
⑤サーバのコメント
⑥共有フォルダのコメント
というところだろうか。
これらの情報は、sambaの挙動を制御する設定ファイル、/etc/samba/smb.confに書き込むこととなる。
それでは、サンプルケース(ぶっちゃけ、我が家のファイルサーバの設定)を見てみよう。
必須項目:
①ワークグループ名 : ASGARDHR
②NET-BIOS名(WindowsなPCから見たサーバの名前) : Chihiro
③共有フォルダの共有名 : sound
④実際にファイルを保存する場所 : /mnt/private_storage/share_sound
お好みに応じて:
⑤サーバのコメント : MyStorage Server
⑥共有フォルダのコメント : Sound Files
こんな感じで設定することにする。
すると…
[global] workgroup = ASGARDHR server string = MyStorage Server netbios name = Chihiro security = share load printers = no printable = no syslog = 0 [sound] comment = Sound Files path = /mnt/private_storage/share_sound writable = yes guest ok = yes force create mode = 0666 force directory mode = 0777 |
このように書けば終了。
軽く解説しておく。
まず、「[global]」と書かれた行から、サーバ全体の設定が記述されている。ワークグループや、BET-BIOS名、セキュリティ設定等が指定されている。
そして、「[sound]」と書かれた行から、個々の共有フォルダの設定が記述される。このとき、角カッコの中に記述された名称が、WindowsなPCから見たときのフォルダの名前になる。ちなみに、上記のように指定した場合にこの共有フォルダをWindowsなPCから指定する場合のUNC名は、
¥¥chihiro¥sound
と、いうことになる。(表示の都合上、円マークを全角で記述しているが、実際に指定する場合は半角文字の円マークを用いる必要があるのは言うまでもない)
さて。google等でsambaについての設定情報を検索すると、「code page」とかその辺の文字コードに関する設定をするページにたどり着くかもしれないが、今ここで例示している設定にはそれらの記述は全くない。が、これでも全く問題無くアクセスすることができるのである。Linuxサーバ側の文字コードがUTF-8のままになっていれば、文字コードの設定は省略可能なのである。よって、まるっと省略しているので、ここには記述していない。
WindowsなPCで日本語(全角文字)を含むファイルを置いた場合に本当に大丈夫なのか気になるところだろう。実際Windowsでファイルを置いて、Linuxのターミナルから同じフォルダを見ると…
[root@chihiro ハヤテのごとく!]# ls -la 合計 31764 drwxrwxrwx 2 nobody nobody 4096 1月 13 21:36 . drwxrwxrwx 6 nobody nobody 4096 1月 13 21:47 .. -rwxrw-rw- 1 nobody nobody 6399478 1月 13 21:29 01-ハヤテのごとく!.mp3 -rwxrw-rw- 1 nobody nobody 9852030 1月 13 21:30 02-泣きたかったんだ.mp3 -rwxrw-rw- 1 nobody nobody 6400748 1月 13 21:31 03-ハヤテのごとく! _instrumental_.mp3 -rwxrw-rw- 1 nobody nobody 9798129 1月 13 21:32 04-泣きたかったんだ _instrumental_.mp3
と、このようにきちんと日本語で表示されている。化けたりしない。
なお、文字コードを古式ゆかしいeucJP等に変更している場合は、sabma.confの中に文字コード変換に関する指定が必須となるので要注意。まあ、今回のLinuxセットアップでは文字コードの変更を行っていないのでUTF-8のままである。
では、設定ファイルの記述が出来たところで、sambaを実際に起動して確認してみよう。
sambaの起動は他のデーモンプロセスと同様に「service」コマンドで起動可能。service smb startで起動する。起動すると、「nmbd」と「smbd」の2種類のプロセスが数個起動する。これはクライアントからのアクセス数によって増えたり減ったりする。多分、2~4個ずつかな。
WindowsなPCでDOSプロンプトを開いてnet viewコマンド等で確認しておこう。(まあ、「マイ ネットワーク」からクリックしていっても良いが。)
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\hogehoge>net view \\chihiro \\chihiro の共有リソース MyStorage Server 共有名 タイプ 使用 コメント ------------------------------------------------------------------------------- sound Disk Sound/Music MP3 files コマンドは正常に終了しました。 C:\Documents and Settings\hogehogei>
ファイルを実際にコピーしたりして動作を確認する。問題無いようなら、サーバを再起動したとき等にsambaが起動するように、chkconfig smb onを実行しておく。
これでファイルサーバ化が完了である。
コメント 0