Samba3/Netatalk2 Edit

  • はじめに
    • samba3とnetatalk2
      これらを用い、Windows/Mac双方からファイル共有可能な環境を構築します。
      補足:appletalkを使用しない場合は、netatalkをインストールする必要はありません。
      Macと接続しない場合や、MacとSambaでのみ接続する場合がこれに該当します。

    • UTF8(UTF-8)
      ファイル名をUTF8(UTF-8)で扱うことで、日本語ファイル名の文字コード問題を解決しました。

    • 認証
      本設定例では、ローカルネットワーク内からのみアクセスを許可します。
      個人で使用することを想定しているため、パスワード等の設定は行いません。

    • ホームページ:「netatalk2 & samba3」
      本件に関して本ページの管理人様より多大なる助言を頂き、大変感謝いたします。
      本ページで紹介されているパッチをNetatalkに適用しました。
      (ソースはここに置いておきます。)

  • ファイルの退避
    /share/www、/share/diskディレクトリをsamba2/netatalk2でファイル共有しますので、
    該当ディレクトリ内の日本語名ファイルをLANDISK外に退避しておいてください。

  • appletalkモジュールの組み込み
    /etc/modulesに次の1行を追加します。
    appletalk
    
  • インストール
    landisk:~# apt-get install samba netatalk
    
  • samba3の設定
    • /etc/samba/smb.conf
      [global]の直後に下記を追加
      [global]
      # code setting
      dos charset = CP932
      unix charset = UTF-8
      display charset = EUCJP-MS
      
      # access setting
      server string = HDL series
      map to guest = Bad User
      null passwords = Yes
      hosts allow = 192.168.0., 192.168.1., 127.0.0.1  ←アクセス許可するIPアドレス
      
      # mangle
      mangled names = yes
      mangling method = hash2
      mangle prefix = 4
      mangling char = ~
      
      # lock
      kernel oplocks = Yes
      oplocks = Yes
      
      # hide Mac special files
      veto files = /.AppleDB/.AppleDouble/.AppleDesktop/Network Trash Folder/\
      TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.DS_Store/\
      .VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/Trash/
      delete veto files = Yes
      
      最終行に共有フォルダの設定を追加
      [disk]
              comment = LAN disk
              path = /share/disk
              read only = No
              force create mode = 0777
              force directory mode = 0777
              guest only = Yes
      
      [www]
              path = /share/www
              read only = No
              force create mode = 0777
              force directory mode = 0777
              guest only = Yes
      


  • netatalk2の設定
    • /etc/netatalk/afpd.conf
      最終行に次の一行を追加します。
      (表示の都合上2行になっていますが、改行せず一行で記述してください。)
      - -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx.so  
       -maccodepage MAC_JAPANESE -unixcodepage EUC-JP
      

    • /etc/netatalk/AppleVolumes.default
      ファイル名の文字コードの設定と、公開する共有フォルダの設定を行います。
      AppleVolumes.defaultの行末を次のように変更します。
      # ~/			"Home Directory"   ← コメント
      :DEFAULT: options:usedots maccharset:MAC_JAPANESE volcharset:UTF8
      /share/www  "www"
      /share/disk "disk"
      

    • /etc/default/netatalk
      該当箇所を変更します。
      # specify the Mac and unix charsets to be used
      # ATALK_MAC_CHARSET='MAC_ROMAN'
      # ATALK_UNIX_CHARSET='LOCALE'
      ATALK_MAC_CHARSET='MAC_JAPANESE'
      ATALK_UNIX_CHARSET='EUC-JP'
      

  • samba3,netatalk2デーモンの起動
    landisk:~# /etc/init.d/samba restart
    Stopping Samba daemons: nmbd smbd.
    Starting Samba daemons: nmbd smbd.
    
    landisk:~# /etc/init.d/netatalk restart
    Restarting AppleTalk Daemons (this will take a while)
    Stopping AppleTalk Daemons: afpd papd timelord atalkd.
    ..Starting AppleTalk services (this will take a while):
      atalkd papd afpd.
    done.
    
  • 動作確認
    • windowsのインターネットエクスプローラ上からアクセス
      \\landisk\  もしくは、 \\IPアドレス\

    • MacOS X上の「サーバへ接続」から、ゲストでアクセス
      afp:/at/landisk

  • トラブルシューティング
    • Appletalk接続した時、マウントするボリュームが見つからない
      共有フォルダ内の.AppleDB/.AppleDesktop/.AppleDouble/.DS_Store
      を一旦削除すると接続できるようです。
      (netatalk1で使用していた共有フォルダをneatalk2で使う場合、この現象が発生するのか?)

    • Windows XP,2000からsambaへ接続できない
      /etc/samba/smb.confに「encrypt passwords = true」が記述されているか確認してください。
      該当行がfalseとなっている場合接続できないようです。

WebDAV Edit

  • WebDAVとは?
    • 簡単に言えば、Apacheをファイルサーバとして利用する機構(機能)です。
      MacOSXやWindowsXP等のフォルダ上から、ファイル共有可能です。
      (WebDAVを使用すれば、sambaやnetatalkがいらなくなるかも。)

    • HTTPプロトコルでファイル共有(port80を使用)
      本例では、インターネット上からアクセスできないように設定を行いますが、
      HTTPが通る環境、すなわち、インターネットの内外からファイル共有が可能です。
      (これが本来の使用方法でしょうけど…)


  • インストール&設定
    • WebDAVフォルダの準備
      /share/webdavというディレクトリを作成して、そこをファイル共有する方法を例に説明します。
      landisk:~# cd /share
      landisk:/share# mkdir webdav
      landisk:/share# chown -R www-data:www-data webdav
      landisk:/share# chmod -R a+rwx webdav
      

    • libapache-mod-davのインストール
      WebDAVモジュールをapacheに組み込みます。
      landisk:~# apt-get install libapache-mod-dav
      

    • /etc/apache/conf.d/libapache-mod-dav … WebDAVの設定
      本設定例では、個人使用が前提であるため、パスワードによる認証は行いません。
      その代りに、ローカルネットワーク内のマシンからのみ、接続を許可するよう設定します。
      ServerName 192.168.1.81   ←※1
      # ServerName landisk
      # ServerName eggplant.ddo.jp
      
      Alias /webdav /share/webdav
      
      <IfModule mod_dav.c>
      DAVLockDB	/var/lock/DAV/apache
      DAVMinTimeout   600
      # Below is a sample configuration.
      # The configuration could e.g. also be at VirtualHosts
      #
      # Please read the documentation to the security risks before
      # enabling WebDAV!
      <Location /webdav>
      DAV On
      #<LimitExcept GET OPTIONS>
      # require user 1234
      #</LimitExcept>
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1
      Allow from 192.168.0.0/24
      Allow from 192.168.1.0/24
      LimitXMLRequestBody 0
      </Location>	
      </IfModule>
      
      ※1 ServerNameを指定しないとファイルのリネームができないもよう。


  • Apacheの再起動
    landisk:~# apachectl configtest
    Syntax OK
    landisk:~# /etc/init.d/apache restart
    Restarting apache.
    
  • これで設定は終了です。

  • 接続試験
    • Windows XPから
      「マイ ネットワーク」から「ネットワークプレースを追加する」を選択すると、
      「ネットワークプレースの追加ウィザード」が開始されます。手順に従い進めて行き、
      「このネットワークプレースのアドレスを追加してください」という窓の所で、
      WebDAVフォルダのURLを記述します。
      (MY_LANDISKには※1で指定したServerNameを指定します。)
      http://MY_LANDISK/webdav
      そして、そのまま、ウィザードを進めて行くと、最後にwebdavフォルダが表示されます。
      以後、LANDISK上のwebdavフォルダはマイネットワークから直接呼び出すことができます。

    • MacOSXから
      「サーバ接続」でWebDAVフォルダのURLを記述すると、デスクトップウィンドウ上に、
      ネットワーク接続のアイコンwebdavが現れ、Macからアクセスできるようになります。

  • mod-encoding
    ファイル名をUTF8以外の文字コードで扱うOS、例えば、Windows 9x系等からアクセスすると、
    文字化けするかもしれません。
    そのような場合は、mod-encodingをapacheに組み込むことで文字化けを解消できるかも! 。
    (未検証です。)
    • モジュールのインストール
      landisk:~# apt-get install libapache-mod-encoding
      
    • /etc/apache/cond.d/mod_encording.confの設定
      次の内容で作成します。
      <IfModule mod_encoding.c> 
      EncodingEngine        on
      
      SetServerEncoding     UTF-8
      
      DefaultClientEncoding UTF-8 CP932 EUCJP-MS
      
      AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
      AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
      AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
      AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
      AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
      AddClientEncoding "RMA/*" CP932
      AddClientEncoding "xdwin9x/" CP932
      AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
      AddClientEncoding "Mozilla/" EUCJP-MS
      </IfModule>
      
    • apacheの再起動
      省略…

iTunesサーバ … mt-daapd Edit

  • はじめに
    mt-daapdとはLinuxマシンをiTunesサーバにするソフトウェアです。
    UNIX USER 2004/11月号にLANDISKをiTunesサーバにする解説記事が、掲載されているそうです。
    私は、知らなくて買いそびれちゃいましたが、本誌を持っている方はそちらを参考にしたほうが良いかも。

  • 日本語曲名の文字化け対策
    (もしかしたらプログラムのほうで対策したのかもしれませんが、)
    ファイル名をUTF8で扱えば、日本語の曲名が文字化けしないようです。
    Samba3/Netatalk2の設定を前節のとおり行っていれば、既にUTF8で扱うよう設定されています。
    上記間違いでした。
    正しくは、曲中のID3タグがUTF-8でない場合、iTunes上で曲名が文字化けするというものでした。
    iohack版のSHIFT-JISt/UTF-8両対応mt-daapdを、debian26環境でビルドしたものを用意しました。
  • インストール
    landisk:~# apt-get install mt-daapd
    
  • /etc/mt-daapd.confの編集
    次の3箇所を好みに応じて編集します。
    admin_pw	   mt-daapd        ← ブラウザでアクセス時のパスワード
    mp3_dir     /share/disk/mp3   ←  音楽ファイルを格納するディレクトリ
    servername  LANDISK           ← iTunes上に表示されるサーバ名
    
    #ssc_extensions .ogg                ← もしあれば、コメント化
    #ssc_prog /etc/mt-daapd-ssc-script  ← もしあれば、コメント化
    


  • mt-daapdサーバの起動
    mp3_dirで設定した場所へ、音楽ファイルを用意します。
    そして、mt-daapdを起動します。
    landisk:~# /etc/init.d/mt-daapd start
    Starting mt-daapd: mt-daapd.
    
  • mt-daapdサーバの自動起動登録
    起動スクリプトへのリンクを張り自動起動できるようにします。
    landisk:~# ln -s /etc/init.d/mt-daapd /etc/rc2.d/S25daap 
    
  • mt-daapdサーバのアップデート
    mt-daapd0.2.2はiTunes6.0.xでは使用できないためアップデートします。
    「mt-daapd_0.2.4-1_sh4.deb」を入手します。(GLANTANK)のアップデータでも可。 ダウンロードしたファイルを /share/disk フォルダへコピーします。
    landisk:~# cd /share/disk 
    landisk:~# dpkg -i mt-daapd_0.2.4-1_sh4.deb
    
    完了後、再起動すれば適用完了です。
  • iTunesからアクセス
    iTunesを起動して、
    環境設定(設定)→ 共有 →「共有されている音楽を検索する」をチェックすると、
    左側のスパンにLANDISKが現れ、音楽を再生することが可能になります。

    mt-daapd.png


  • その他
    http://MY_LANDISK:3689/ をWEBブラウザでアクセスすると、
    mt-daapdの設定画面が表示されます。
    • ユーザ名:空白
    • パスワード:admin_pwに設定したパスワード
    アクセスできます。

Counter: 32318, today: 1, yesterday: 0

添付ファイル: filemt-daapd.png 375件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6534d)