CentOSを使って1時間でファイルサーバを作る方法



主に動画データを入れていた自宅のファイルサーバがちょっと古めのOSで動いていたこともあり、今度はRHELベースのCentOS6.2を使ってファイルサーバのOSを入れ替えてみました。

気軽にファイル共有ができるのではUbuntu11.4をファイルサーバのOSとしていたのですが、半年に一度のアップデートがあるUbuntuはサーバOSとしてはちょっと向かないかな、と思います。
Desktop用OSなので当たり前といえば当たり前なのですが。。。。。

CentOSのインストールUSBの作成とインストール

まず必要なのはCentOSのisoイメージです。
CentOSの公式サイトから最新のイメージをダウンロードしておきます。(執筆当時は6.2が最新でした)
ちなみにfullイメージを落とす必要な無く、netinstallで十分です。

自宅のファイルサーバはできるだけ省電力とするため、DVDドライブを付けていません。
なのでUSBからインストールすることにします。

CentOSのisoイメージからインストールUSBを作るのはUNetbootinが手っ取り早いです。
UNetbootinサイトから使っているOS用のインストーラーをダウンロードします。
自分はWindows用をダウンロードしました。

USBメディアをPCに挿し、ダウンロードしたUNetbootinを起動して以下の様な設定でUSBに書き込みます。
Driveの所をUSBメディアにすることを忘れずに。

UNetbootin

これだけでDVDのインストールメディアをインストールUSBにすることができます。

CentOSのインストール

CentOSのインストールUSBが出来たら、ファイルサーバのBIOSをUSBからブートできるように設定して、CentOSをインストールします。

CentOSのインストール方法は他のサイトに色々載っているので割愛。

ただしネットワークインストールの場合、インターネット上においてあるCentOSのイメージを指定する必要があります。
今回は理研のミラーサーバのhttp://ftp.riken.jp/Linux/centos/6.2/os/x86_64/を指定しました。

サードパーティのレポジトリを追加

デフォルトのレポジトリには対応していないパッケージが結構あるので、サードパーティのレポジトリを追加してやる必要があります。

今回追加したのはサードパーティリポジトリの中でも有名なRPMForge
リポジトリ追加用のrpmをインストールします。

[root@fileserver /]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm を取得中
警告: /var/tmp/rpm-tmp.jdhZOb: ヘッダ V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
準備中…                ########################################### [100%]
1:rpmforge-release       ########################################### [100%]
[root@fileserver /]#

 

NTFSファイルシステムのマウントとfstabの編集

このファイルサーバには以前WindowsXPでNTFSでフォーマットしたディスクが付いているので、NTFSのファイルシステムをマウントさせる必要があります。

しかしCentOSのデフォルトではNTFSがマウントできないので、追加でfuseというパッケージをインストールします。

[root@fileserver ~]# yum install fuse-ntfs-3g
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* rpmforge: ftp.riken.jp
* updates: rsync.atworks.co.jp
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package fuse-ntfs-3g.x86_64 0:2010.10.2-1.el6.rf will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package            Arch         Version                   Repository      Size
================================================================================
Installing:
fuse-ntfs-3g       x86_64       2010.10.2-1.el6.rf        rpmforge       627 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 627 k
Installed size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
fuse-ntfs-3g-2010.10.2-1.el6.rf.x86_64.rpm               | 627 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : fuse-ntfs-3g-2010.10.2-1.el6.rf.x86_64                       1/1

Installed:
fuse-ntfs-3g.x86_64 0:2010.10.2-1.el6.rf                                     

Complete!
[root@fileserver ~]#

途中、本当にインストールするのか聞いてくるので「y」を押します。
「Complete!」が出てくればインストール成功です。

続いてfstabを編集して、サーバ起動時に自動的にマウントされるようにします。
以前のLinuxでは/de/sd?とかでデバイスを指定していましたが、今はLABELやUUIDが主流です。
今回はUUIDでfstabを編集します。

UUIDはblkidコマンドで確認できます。

[root@fileserver etc]# blkid
/dev/sda1: UUID=”e2264c26-8db0-4f76-a967-7c3c1e22687a” TYPE=”ext4″
/dev/sda2: UUID=”Bh2wTN-jzuw-Cdv1-Iki6-JaDe-8rxn-6gxWwp” TYPE=”LVM2_member”
/dev/sdb1: LABEL=”DATA” UUID=”B8B8AE71B8AE2DB6” TYPE=”ntfs”
/dev/sdc1: LABEL=”EPEG1″ UUID=”DCD0F636D0F6170C” TYPE=”ntfs”
/dev/sdd1: LABEL=”EPEG2″ UUID=”B836959936955968” TYPE=”ntfs”
/dev/sde1: LABEL=”EPEG3″ UUID=”5EDC2DB2DC2D84FD” TYPE=”ntfs”
/dev/sdf1: LABEL=”EPEG4″ UUID=”0a08220a-dcf7-46b0-b2f0-bb602b658455” TYPE=”ext4″
/dev/sdg1: LABEL=”EPEG5″ UUID=”631f82b0-f6b3-4957-bfbd-8afe6be17fba” TYPE=”ext4″
/dev/mapper/vg_fileserver-LogVol01: UUID=”323e77a4-b6f1-44ef-a683-92d4eb8c2d2d” TYPE=”swap”
/dev/mapper/vg_fileserver-LogVol00: UUID=”e9ee0791-b531-43bb-add0-75317059679c” TYPE=”ext4″
/dev/sda3: LABEL=”TEMP” UUID=”b8ff720c-f3c0-4ed8-934c-e17062e00616” TYPE=”ext4″
[root@fileserver etc]#

後はこのようにfstabを編集すればOKです。

[root@fileserver ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu May  3 12:59:43 2012
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_fileserver-LogVol00 /                       ext4    defaults        1 1
UUID=e2264c26-8db0-4f76-a967-7c3c1e22687a /boot                   ext4    defaults        1 2
/dev/mapper/vg_fileserver-LogVol01 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
####
UUID=b8ff720c-f3c0-4ed8-934c-e17062e00616    /TEMP            ext4    defaults    1 1
UUID=B8B8AE71B8AE2DB6    /DATA            ntfs    defaults    1 1
UUID=DCD0F636D0F6170C    /EPEG1            ntfs    defaults    1 1
UUID=B836959936955968    /EPEG2            ntfs    defaults    1 1
UUID=5EDC2DB2DC2D84FD    /EPEG3            ntfs    defaults    1 1
UUID=0a08220a-dcf7-46b0-b2f0-bb602b658455    /EPEG4            ext4    defaults    1 1
UUID=631f82b0-f6b3-4957-bfbd-8afe6be17fba    /EPEG5            ext4    defaults    1 1

[root@fileserver ~]#

一度再起動してみてきちんとマウントされていることを確認します。

Sambaのインストール

続いてはWindowsとのファイル共有を行うSambaをインストールします。

コンソールを立ち上げrootにsuして、yumコマンドでインストールします。

[root@fileserver ~]# yum install samba
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* rpmforge: ftp.riken.jp
* updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package samba.x86_64 0:3.5.10-116.el6_2 will be installed
–> Processing Dependency: samba-winbind-clients = 3.5.10-116.el6_2 for package: samba-3.5.10-116.el6_2.x86_64
–> Processing Dependency: samba-common = 3.5.10-116.el6_2 for package: samba-3.5.10-116.el6_2.x86_64
–> Running transaction check
—> Package samba-common.x86_64 0:3.5.10-114.el6 will be updated
–> Processing Dependency: samba-common = 3.5.10-114.el6 for package: samba-client-3.5.10-114.el6.x86_64
—> Package samba-common.x86_64 0:3.5.10-116.el6_2 will be an update
—> Package samba-winbind-clients.x86_64 0:3.5.10-114.el6 will be updated
–> Processing Dependency: samba-winbind-clients = 3.5.10-114.el6 for package: libsmbclient-3.5.10-114.el6.x86_64
—> Package samba-winbind-clients.x86_64 0:3.5.10-116.el6_2 will be an update
–> Running transaction check
—> Package libsmbclient.x86_64 0:3.5.10-114.el6 will be updated
—> Package libsmbclient.x86_64 0:3.5.10-116.el6_2 will be an update
—> Package samba-client.x86_64 0:3.5.10-114.el6 will be updated
—> Package samba-client.x86_64 0:3.5.10-116.el6_2 will be an update
–> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================
Package                            Arch                Version                          Repository            Size
====================================================================================================================
Installing:
samba                              x86_64              3.5.10-116.el6_2                 updates              5.0 M
Updating for dependencies:
libsmbclient                       x86_64              3.5.10-116.el6_2                 updates              1.7 M
samba-client                       x86_64              3.5.10-116.el6_2                 updates               11 M
samba-common                       x86_64              3.5.10-116.el6_2                 updates               13 M
samba-winbind-clients              x86_64              3.5.10-116.el6_2                 updates              1.1 M

Transaction Summary
====================================================================================================================
Install       1 Package(s)
Upgrade       4 Package(s)

Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): libsmbclient-3.5.10-116.el6_2.x86_64.rpm                                              | 1.7 MB     00:02
(2/5): samba-3.5.10-116.el6_2.x86_64.rpm                                                     | 5.0 MB     00:08
(3/5): samba-client-3.5.10-116.el6_2.x86_64.rpm                                              |  11 MB     00:18
(4/5): samba-common-3.5.10-116.el6_2.x86_64.rpm                                              |  13 MB     00:23
(5/5): samba-winbind-clients-3.5.10-116.el6_2.x86_64.rpm                                     | 1.1 MB     00:03
——————————————————————————————————————–
Total                                                                               585 kB/s |  32 MB     00:55
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating   : samba-winbind-clients-3.5.10-116.el6_2.x86_64                                                    1/9
Updating   : samba-common-3.5.10-116.el6_2.x86_64                                                             2/9
Updating   : samba-client-3.5.10-116.el6_2.x86_64                                                             3/9
Installing : samba-3.5.10-116.el6_2.x86_64                                                                    4/9
Updating   : libsmbclient-3.5.10-116.el6_2.x86_64                                                             5/9
Cleanup    : samba-client-3.5.10-114.el6.x86_64                                                               6/9
Cleanup    : samba-common-3.5.10-114.el6.x86_64                                                               7/9
Cleanup    : libsmbclient-3.5.10-114.el6.x86_64                                                               8/9
Cleanup    : samba-winbind-clients-3.5.10-114.el6.x86_64                                                      9/9

Installed:
samba.x86_64 0:3.5.10-116.el6_2                                                                                  

Dependency Updated:
libsmbclient.x86_64 0:3.5.10-116.el6_2               samba-client.x86_64 0:3.5.10-116.el6_2
samba-common.x86_64 0:3.5.10-116.el6_2               samba-winbind-clients.x86_64 0:3.5.10-116.el6_2             

Complete!
[root@fileserver ~]#

途中、本当にインストールするのか聞いてくるので「y」を押します。
「Complete!」が出てくればインストール成功です。

Sambaの設定

Sambaをインストールしたら設定を行います。

今回作るファイルサーバは家庭用なのであまりセキュリティは考慮せず、以下の方針で設定します。

  • LAN内の全ての機器からアクセス可能
  • ただしLAN外からは拒否し、最低限のセキュリティを確保
  • ファイルサーバのアクセスにはユーザーやパスワードの入力を不要にする
  • 誰でもファイルやディレクトリの追加・更新・削除が行えるようにする。

Sambaの設定ファイルは/etc/samba/smb.confになっているので、これをデフォルトから以下のように更新しました。

「unix charset」はシステムののファイルシステムに用いられている文字コードを、「dos charset」はWindows側で使用している文字コードを指定します。
「display charset」はSambaのGUIツールであるSWATで使用する文字コードを指定しますが、今回はSWATを使いませんが念のため入れておきます。

[root@fileserver ~]# diff /etc/samba/smb.conf.org /etc/samba/smb.conf
57a58,61
>
> unix charset = UTF-8
> dos charset = CP932
> display charset = UTF-8

「workgroup」はWindowsで使っているワークグループ名を指定します。

74c78
<     workgroup = MYGROUP

>     workgroup = WORKGROUP

「hosts allow」にはアクセスを許可するホストを指定します。
ネットワーク全体を許可するときは、最後のホスト部分を削除します。

80c84
< ;    hosts allow = 127. 192.168.12. 192.168.13.

>     hosts allow = 127. 192.168.0. 192.168.1.

「security」はshareを設定します。

101c105
<     security = user

>     security = share

ファイルサーバにはプリンターをつながないので、「load printers」をnoにします。

221c225
<     load printers = yes

>     load printers = no

次は一番重要な共有ディレクトリの設定です。
ファイルサーバとして外部に共有するディテクトリを一つづつ上記の設定をしていきます。

288a293,363
>
> [TEMP]
>     path=/TEMP
>     pablic =yes
>     writable = yes
>     guest ok = yes
>     guest only = yes
>     create mode = 0777
>     directory mode = 0777
>     share modes = yes

以上でSambaの設定は終了です。

Sambaの起動

設定が終わったらServiceコマンドでSambaを起動させましょう。

[root@fileserver ~]# service smb start
SMB サービスを起動中:                                      [  OK  ]
[root@fileserver ~]#

chkconfigコマンドでSambaが起動するように設定します。

[root@fileserver ~]# chkconfig –list | grep smb
smb                0:off    1:off    2:off    3:off    4:off    5:off    6:off
[root@fileserver ~]# chkconfig –level 345 smb on
[root@fileserver ~]# chkconfig –list | grep smb
smb                0:off    1:off    2:off    3:on    4:on    5:on    6:off
[root@fileserver ~]#

ファイヤーウォールの解除

CentOSではデフォルトでファイヤーウォールが有効になっています。

[システム] –> [管理] –> [ファイヤーウォール]からファイルやーウォールを無効化します。

CentOS-ファイアーウォールの設定

「無効」の赤いボタンをクリックすれば即座にファイルやーウォールが無効化されます。

これでWindowsのマイネットワークから共有したディレクトリが見れると思います。

まとめ

記事が大分長くなってしまうので駆け足になってしまいましたが、以上がCentOSでファイルサーバを作成する手順です。

Linuxに慣れていないと1時間では無理かもしれません・・・・・・w

細かいところで不明な点があったらコメントなどでお願いします。



One Response to “CentOSを使って1時間でファイルサーバを作る方法”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


9 − = 6

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>