Snow Leopard Serverをインストールテスト
アップスストア銀座 / ServerNight#2から来られた方へ.. もうちょっと整理しますのでお待ちくださいm(_ _)m...
タイムリーにMac miniのSnowLeopardプレインストール版(10万ちょっと)の発表あり、Mac OS X Server 10.6(Snow Leopard Server)のおべんきょう/使っていいか?(^^を検証...
Address Book ServerやMobile Access Server等々の新機能もあるけど、とりあえずはインストール編..
蛇足:64/32bitカーネル動作の確認と起動
インストーラが機種によって勝手にカーネルを選ぶけど、あえて互換問題で32ビットカーネル指定で使いたいとか、スレッド数/vnode数制限などで64ビットカーネル人柱?したいときは、まずEFIの対応確認しておく.
$ ioreg -l -p IODeviceTree | grep firmware-abi | | "firmware-abi" = <"EFI64"> <--64ビットカーネル起動可 | | "firmware-abi" = <"EFI32"> <--32ビットカーネル起動のみ
ちなみにインストーラまかせで64bitカーネル起動するのはこれらの機種.
テンポラリで指定するのは「起動時"6""4"キー押しっぱなし」で64ビットカーネル起動、「"3""2"キー押しっぱなし」で32ビットカーネルで起動する.
恒常的に指定するならsystemsetup(8)を使って..
$ sudo systemsetup -setkernelbootarchitecture x86_64 <--64ビットカーネル起動指定の場合 $ sudo systemsetup -setkernelbootarchitecture i386 <--32ビットカーネル起動指定の場合 .....確認してみると..... $ cat /Library/Preferences/SystemConfigurationcom.apple.Boot.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>Kernel</key> <string>mach_kernel</string> <key>Kernel Architecture</key> <string>x86_64</string> <--64ビットカーネル起動 <key>Kernel Flags</key> <string>srv=1</string> </dict> </plist> $ ..... $ cat com.apple.Boot.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>Kernel</key> <string>mach_kernel</string> <key>Kernel Architecture</key> <string>i386</string> <--32ビットカーネル起動 <key>Kernel Flags</key> <string>srv=1</string> </dict> </plist> $
とする.
あと32ビットカーネル設定される機種で、あえて64ビットカーネル使いたい場合はboot.efiを書き換えること->* **.
Ref.
Mac OS X Server v10.6:64 ビットのカーネルを使う Mac
http://support.apple.com/kb/HT3770?viewlocale=ja_JP
Mac OS X Server v10.6:プロセスの制限を理解する
http://support.apple.com/kb/HT3854?viewlocale=ja_JP
Mac OS X Server v10.6:32 ビットまたは 64 ビットカーネルで起動する
http://support.apple.com/kb/HT3773?viewlocale=ja_JP
Is Your Machine Good Enough for Snow Leopard K64?
http://www.osxbook.com/blog/2009/08/31/is-your-machine-good-enough-for-snow-leopard-k64/
Snow Leopardを64bitカーネルで動作させる
http://www39.atwiki.jp/macmini/m/pages/30.html
0.インストール方法の種類(おおざっぱに)
インストールは、スタンドアロン/ローカルディスクにインストールする方法と、ネットワーク上の別PC/Macからインストール操作する方法があります.
ここではネットワーク上の別PC/Macからサーバ管理.appやSSHを使ってインストールすることにしますが、ネットワーク越しでもほかにVNC(画面共有/Remote Desktop)やNetBoot,NetInstall,NetRestoreを使う方法もあります.
簡単な比較をすると以下のようになります.
ネットワーク(越し)インストールの場合は、インストールするMacにインストーラDVD入れてDVDから起動すると、ネットワーク上の別PC/Macから、サーバ設定.appやVNC(画面共有/Remote Desktop)やSSHで操作してインストールできるようになっています. (デフォルトではDHCPアドレス取得)
またインストールされるMacの別ボリュームに、OSX/インストールしてそこから起動したり、インストーラDVDの内容をditto(1)でコピーしてそこから起動したりしても構いません.
インストール操作は「サーバ管理.app」を使うのがラクですが、このアプリはMac OS X 10.6で動作させるコトが必要です.
この制限にひっかかる場合は、VNC(画面共有/Remote Desktop)を使ったり、SSH等CLI系を使うことになります.
SSH等でCLI系使う場合は sa_srchr (/System/Library/Serversetup/sa_srchr)、serversetup (/System/Library/ServerSetup/serversetup)がなくなっているので注意が必要です.(systemsetup(8),networksetup(8),dscl(1),serveradmin(8)...などなどを使う?)
また多台数インストールする場合は、Netbootや設定ファイル使ったインストールや設定も可能です.
Ref.
Mac OS X Server Getting Started Version 10.6 Snow Leopard
http://images.apple.com/server/macosx/docs/Getting_Started_v10.6.pdf
1.インストール準備
アップル社/セットアップシート記入するか、ネットワーク越しの場合は、最低でも本体シリアル番号と、MACアドレスを調べておくことが必要です.(後述)
Ref.
Mac OS X Server Installation & Setup Worksheet For Version 10.6 Snow Leopard
http://images.apple.com/server/macosx/docs/Worksheet_v10.6.pdf
アップルのハードウェア製品のシリアル番号の確認方法
http://support.apple.com/kb/HT1349?viewlocale=ja_JP
インストーラDVDから起動する設定
ということで..早速インストーラDVDを入れた後で"インストーラDVDから起動する設定".
本体にキーボードつけていたらキーボードコンビネーションでしたり、GUI/起動ディスクパネル設定でいいですが、もしCUIで設定する場合はsystemsetup(8)でやるなら
$ systemsetup -liststartupdisks <--インストール可能なディスク取得 /Volumes/Mac OS X Server Install Disc/System/Library/CoreServices <--インストーラDVDあった /System/Library/CoreServices $ sudo systemsetup -setstartupdisk "/Volumes/Mac OS X Server Install Disc/System/Library/CoreServices" <--インストーラDVDを起動指定 $ systemsetup -getstartupdisk <--いちおう確認 /Volumes/Mac OS X Server Install Disc/System/Library/CoreServices $ sudo shutdown -r now
bless(8)でやるなら..
$ df Filesystem 512-blocks Used Available Capacity Mounted on /dev/disk0s2 233769824 74467880 158789944 32% / devfs 237 237 0 100% /dev map -hosts 0 0 0 100% /net map auto_home 0 0 0 100% /home /dev/disk1s3 14054936 13572120 482816 97% /Volumes/Mac OS X Server Install Disc <--インストーラDVDあった $ sudo bless --device /dev/disk1s3 --setBoot<--インストーラDVDを起動指定 $ bless --getBoot <--いちおう確認 /dev/disk1s3 $ sudo shutdown -r now
です.
起動後のIPアドレスとサービス
再起動後のIPアドレスはDHCPアドレス取得可で、サービスはSSHとサーバ管理.appポートは待受けの様子.
DHCPサーバない場合はリンクローカルアドレスになり、Bonjourで
"機種名"-"MACアドレス".local
と見えます.
$ dns-sd -B _ssh._tcp Browsing for _ssh._tcp Timestamp A/R Flags if Domain Service Type Instance Name 18:42:12.186 Add 3 4 local. _ssh._tcp. 機種名-MACアドレス <--! ... ...
もしBonjour使えないPCから設定する場合は、MACアドレスからARPテーブルをみてIPアドレスを調べます.
$ ping 224.0.0.1 PING 224.0.0.1 (224.0.0.1): 56 data bytes ... ... $ arp -a |grep 'xx:xx:xx:xx:xx:xx' <-- インストールされるマシンのMACアドレス ? (aaa.bbb.ccc.ddd) at xx:xx:xx:xx:xx:xx on en0 ifscope [ethernet] <-- ンストールされるマシンのIP(aaa.bbb.ccc.ddd)を取得 Remote $
また先のとおり,sa_srchrは10.6からなくなったみたいです.
ネットワーク越しにインストール操作時のIDとパスワード
以下のとおり
(シリアル番号消えている場合は"12345678")
サーバ管理でインストール操作
サーバ管理を使う場合は、実際には/System/Library/CoreServices/Server Assistant.appが起動する.
以下は流れのキャプチャー(<手抜き:P)
SSHでインストール操作
SSHでインストール操作する場合は、先のとおりホスト/ID/Passに気をつけて..
Local $ ssh -la root@aaa.bbb.ccc.ddd <-- IDはroot(アドレスはIPv6も可) Remote$ Password: <-- SNの上位8桁(SN消えてる場合:12345678) Remote# /usr/sbin/installer -volinfo -pkg /System/Installation/Packages/OSInstall.mpkg <--インストール可能なボリューム検索 ... /Volumes/SnowLeopard Server <-- ここにインストールすることにする ... ... Remote# /usr/sbin/diskutil eraseVolume JHFS+ "SnowLeopard Server" "/Volumes/SnowLeopard Server" <-- インストールボリュームを消去 ... ... Remote# /usr/sbin/diskutil info "SnowLeopard Server" <-- いちおう確認しとく ... File System: Journaled HFS+ Type: hfs Name: Mac OS Extended (Journaled) ... Partition Type: Apple_HFS Bootable: Is bootable ... .......................いよいよインストールを...................... ... Remote# /usr/sbin/installer -verboseR -lang ja -pkg /System/Installation/Packages/OSInstall.mpkg -target "/Volumes/SnowLeopard Server" <--インストール先を指定 installer: Package name is Mac OS X Server installer: Installing at base path /Volumes/SnowLeopard Server installer:PHASE:Preparing for installation… ... ... Remote# /sbin/shutdown -r now
でインストールおわり.
同じく設定
このあとはとりあえずログイン出来る程度の最小限設定を..
コマンドラインで設定する方法と、自動設定ファイルで設定する方法があり、自動設定ファイルの方が楽です.
自動設定ファイルをつくる場合は簡単です.
/System/Library/CoreServices/Server Assistant.app で 自動設定のための情報を準備して保存 を選ぶと設定ファイルができます.
これを設定するサーバの/Auto Server Setup下にコピーして再起動すれば設定されます.
またこのファイルは編集できるテキストファイルなので,雛形をつくって複数のサーバで利用できます.
Local$ ls |grep plist macaddress.plist <-- <MACアドレス>.plistという名前で設定ファイルをつくる Local$ Local$ ssh -la root@aaa.bbb.ccc.ddd "mkdir /Auto\ Server\ Setup" <--サーバにディレクトリ作成 Local$ scp macaddress.plist "root@aaa.bbb.ccc.dddl:/Auto\ Server\ Setup" <-- 設定ファイルをコピー Local$ ssh -la root@aaa.bbb.ccc.ddd shutdown -r now
再起動してきたら設定ファイルを削除することとrootのパスワードや権限を見直しです.
これでインストール>ホスト設定までは終了.あとはアプリケーション設定等々になります.
コマンドラインで設定する場合はちょっと長くなります:-P
まずシリアル番号入力...
# /System/Library/ServerSetup/serverserialnumberutil -validate SERIALNUMBER <--シリアル番号確認(エラーなければ何も返さない) # /System/Library/ServerSetup/serverserialnumberutil -set SERIALNUMBER "My Name" "My Organization" <--設定します # /System/Library/ServerSetup/serverserialnumberutil -get SERIALNUMBER|My Name|My Organization #
タイムゾーンを設定....
# /usr/sbin/systemsetup -settimezone Asia/Tokyo <--タイムゾーン設定 Set TimeZone: Asia/Tokyo # /usr/sbin/systemsetup -gettimezone Time Zone: Asia/Tokyo #
アドミンユーザをローカルに登録...
# /usr/bin/dscl . -list /Users | grep MyName <--ユーザ名重複を調べとく # /usr/bin/dscl . -list /Users UniqueID <--ユーザIDの重複も.. _amavisd 83 _appowner 87 ... ... ... # /usr/bin/dscl . -list /Groups PrimaryGroupID <--グループ一覧も調べとく ... _appserveradm 81 <--- このへんに加える _appserverusr 79 <--- このへんに加える ... _lpadmin 98 <--- このへんに加える ... admin 80 <--- このへんに加える ... staff 20 <--- このへんに加える # # ...いよいよ登録... # /usr/bin/dscl . -create /Users/MyName <-- ユーザ名 # /usr/bin/dscl . -create /Users/MyName RealName "My Name" <-- 名前 # /usr/bin/dscl . -create /Users/MyName UniqueID 501 <-- ユーザID # /usr/bin/dscl . -create /Users/MyName PrimaryGroupID 20 <-- 所属プライマリグループ # /usr/bin/dscl . -create /Users/MyName UserShell /bin/bash <-- 利用シェル # /usr/bin/dscl . -create /Users/MyName NFSHomeDirectory /Users/MyName <-- ホームディレクトリ # # ...ホームディレクトリつくる... # /usr/sbin/createhomedir -b -u MyName <-- ホームディレクトリつくる creating home directories for (localhost) # ls -la /Users/MyName/ total 0 drwxr-xr-x 12 MyName staff 408 Dec 10 14:23 . drwxr-xr-x 5 root admin 170 Dec 10 14:23 .. -rw------- 1 MyName staff 4 Dec 10 14:23 .CFUserTextEncoding drwx------+ 3 MyName staff 102 Dec 10 14:23 Desktop drwx------+ 4 MyName staff 136 Dec 10 14:23 Documents drwx------+ 4 MyName staff 136 Dec 10 14:23 Downloads drwx------+ 22 MyName staff 748 Dec 10 14:23 Library drwx------+ 3 MyName staff 102 Dec 10 14:23 Movies drwx------+ 3 MyName staff 102 Dec 10 14:23 Music drwx------+ 4 MyName staff 136 Dec 10 14:23 Pictures drwxr-xr-x+ 4 MyName staff 136 Dec 10 14:23 Public drwxr-xr-x+ 6 MyName staff 204 Dec 10 14:23 Sites # # ...パスワード設定... # su MyName $ passwd Changing password for MyName. Old Password: New Password: xxxxxxxx Retype New Password: xxxxxxxx $ exit exit # # ...グループ権限を追加... # id MyName uid=501(MyName) gid=20(staff) groups=20(staff),61(localaccounts),12(everyone) <-- 結構サビシイ... # dscl . -append /Groups/admin GroupMembership MyName <-- adminを追加 # dscl . -append /Groups/_appserveradm GroupMembership MyName <-- _appserveradmを追加 # dscl . -append /Groups/_lpadmin GroupMembership MyName <-- _lpadminを追加 # dscl . -append /Groups/_appserverusr GroupMembership MyName <-- _appserverusrを追加 # id MyName uid=501(MyName) gid=20(staff) groups=20(staff),503(com.apple.local.ard_interact),501(com.apple.local.ard_admin),204(_developer),100(_lpoperator),98(_lpadmin),81(_appserveradm),80(admin),79(_appserverusr),61(localaccounts),12(everyone),500(com.apple.access_ssh),502(com.apple.local.ard_reports),504(com.apple.local.ard_manage),401(com.apple.access_screensharing) <-- SSHとかVNCも管理もオッケー #
ネットワーク設定
# /usr/sbin/networksetup -listallnetworkservices <--まずネットワークサービスリストを An asterisk (*) denotes that a network service is disabled. Ethernet FireWire # ...IPアドレスを設定... #/usr/sbin/networksetup -setmanual "Ethernet" 10.0.1.31 255.255.255.0 10.0.1.1 <-- 適当に.. #/usr/sbin/networksetup -getinfo "Ethernet" Manual Configuration IP address: 10.0.1.31 Subnet mask: 255.255.255.0 Router: 10.0.1.1 IPv6: Automatic IPv6 IP address: none IPv6 Router: none Ethernet Address: xx:xx:xx:xx:xx:xx # ifconfig en0 |grep inet <-- いちおうこっちでも確認.. inet6 fe80::217:f2ff:fef5:36ea%en0 prefixlen 64 scopeid 0x4 inet 10.0.1.31 netmask 0xffffff00 broadcast 10.0.1.255 # netstat -rn <-- いちおうこっちでも確認.. Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.1.1 UGSc 2 0 en0 10.0.1/24 link#4 UCS 1 0 en0 10.0.1.1 link#4 UHLWI 8 111 en0 10.0.1.31 127.0.0.1 UHS 0 0 lo0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 0 540 lo0 169.254 link#4 UCS 0 0 en0 # #...DNSを設定... #/usr/sbin/networksetup -setdnsservers "Ethernet" 10.0.1.2 # /usr/sbin/networksetup -getdnsservers "Ethernet" 10.0.1.2 # cat /etc/resolv.conf |grep nameserver <-- いちおうこっちでも確認.. nameserver 10.0.1.2 # dig www.apple.com <--こんなのも試しておく.. ... #
ホスト名を設定...
# scutil --set HostName MyServer.domain.com # scutil --get HostName MyServer.domain.com # scutil --set ComputerName MyServer # scutil --get ComputerName MyServer # scutil --set LocalHostName MyServer # scutil --get LocalHostName MyServer # # dns-sd -B _ssh._tcp Browsing for _ssh._tcp Timestamp A/R Flags if Domain Service Type Instance Name 16:33:25.200 Add 3 4 local. _ssh._tcp. MyServer <-- 反映してる #
最後に設定終了のおまじない...
# touch /var/db/.AppleSetupDone <--設定終了のフラグファイル # shutdown -r now
あとでrootパスワードを変更して権限も(SSHアクセスとかいろいろ)見直して、softwareupdateとかしておくこと.
これでインストール>ホスト設定までは終了.あとはアプリケーション設定等々になります.
補:インストールしてみると..IMAPサーバが最近のトレンド?でCyrusからDevcotに変わったみたい...
Mac OS X 10.6 Snow Leopard Server Unlimited クライアント
- 出版社/メーカー: アップル
- 発売日: 2009/08/28
- メディア: DVD-ROM
- クリック: 104回
- この商品を含むブログを見る
APPLE Mac mini 2.53GHz 4GB 320GB MC239J/A
- 出版社/メーカー: アップル
- 発売日: 2009/10/21
- メディア: Personal Computers
- クリック: 69回
- この商品を含むブログ (11件) を見る
Apple Wireless Keyboard (JIS) MC184J/A
- 出版社/メーカー: アップル
- 発売日: 2009/10/31
- メディア: Personal Computers
- 購入: 9人 クリック: 699回
- この商品を含むブログ (71件) を見る
- 出版社/メーカー: アップル
- 発売日: 2009/10/31
- メディア: Personal Computers
- 購入: 26人 クリック: 742回
- この商品を含むブログ (189件) を見る