[Samba3のインストール]
MacPortsからSamba3をインストールした。

$ sudo port install samba3

[Samba3の設定]
Samba3の設定ファイルは/opt/local/etc/samba3の中に置かれ、ひな形をコピーして使った。

$ sudo cp /opt/local/etc/samba3/smb.conf.sample /opt/local/etc/samba3/smb.conf
$ sudo vi /opt/local/etc/samba3/smb.conf
# smb.confの以下の箇所を編集
# ワークグループ名
workgroup = my_lab
# サーバの説明
server string = %h (SAMBA)
# WINS サービス
wins support = yes
# 文字コードの設定
nix charset = UTF-8-MAC
display charset = UTF-8-MAC
dos charset = CP932
# ファイルの拡張属性の取扱い
ea support = yes
store dos attributes = yes
map archive = no
map hidden = no
map system = no

[Samba3の自動起動]
samba3のlaunchd用のファイルはMacPortsからインストールされないようなので作成した。
ファイルを置くディレクトリを作成

$ sudo mkdir /opt/local/etc/LaunchDaemons/org.macports.samba3

plistファイルを作成

$ sudo vi /opt/local/etc/LaunchDaemons/org.macports.samba3/org.macports.samba3.plist
# org.macports.samba3.plistに以下を入力
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Debug</key>
        <false/>
        <key>Label</key>
        <string>org.macports.samba3</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/local/bin/daemondo</string>
                <string>--label=samba3</string>
                <string>--start-cmd</string>
                <string>/opt/local/etc/LaunchDaemons/org.macports.samba3/samba3.wrapper</string>
                <string>start</string>
                <string>;</string>
                <string>--stop-cmd</string>
                <string>/opt/local/etc/LaunchDaemons/org.macports.samba3/samba3.wrapper</string>
                <string>stop</string>
                <string>;</string>
                <string>--restart-cmd</string>
                <string>/opt/local/etc/LaunchDaemons/org.macports.samba3/samba3.wrapper</string>
                <string>restart</string>
                <string>;</string>
                <string>--pid=none</string>
        </array>
        <key>RunAtLoad</key>
        <false/>
</dict>
</plist>

wrapperファイルを作成

$ sudo vi /opt/local/etc/LaunchDaemons/org.macports.samba3/samba3.wrapper
# samba3.wrapperに以下の内容を記入
#!/bin/sh
#
# MacPorts generated daemondo support script
# Init
prefix=/opt/local
# Start
Start()
{
        /opt/local/sbin/smbd -D
        /opt/local/sbin/nmbd -D
}
# Stop
Stop()
{
        /opt/local/bin/smbcontrol nmbd shutdown
        /opt/local/bin/smbcontrol smbd shutdown
}
# Restart
Restart()
{
        Stop
        Start
}
# Run
Run()
{
case $1 in
  start  ) Start   ;;
  stop   ) Stop    ;;
  restart) Restart ;;
  *      ) echo "$0: unknown argument: $1";;
esac
}
# Run a phase based on the selector
Run $1

samba3を起動

$ sudo port load samba3

samba3.wrapperはsamba3の再起動に使えるのでPathの通っているディレクトリにsmbctlとしてリンクを張っておいた。

$ sudo ln -s /opt/local/etc/LaunchDaemons/org.macports.samba3/samba3.wrapper /opt/local/sbin/smbctl

コメントを残す