忍者ブログ
SE稼業で見知った小ネタをまとめてみます。 サーバ・ヲタなので、主にそっち系のTipsを。
[19]  [18]  [16]  [15]  [14]  [13]  [12]  [11]  [10]  [9]  [8
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前提:
    サーバ⇒        HP Integrityシリーズ(石=Intel Itanium2)
    OS⇒          HP-UX B.11.23 ia64      (`uname -srm`の結果)
    Cコンパイラ⇒  HP C                    (/opt/ansic/bin/cc)
    OS標準パッケージ⇒
        perl            (/opt/perl/bin/perl                 v5.8.3)
    プリインストールしておく外部パッケージ⇒
        GNU make        (/usr/local/bin/gmake               v3.81)
        GNU bison
        GNU flex
        GNU m4
        GNU libiconv    (/usr/local/lib/hpux32/libiconv.so  v1.10)
        GNU gettext     (/usr/local/lib/hpux32/libintl.so   v0.15)
    ソースとダウンロード元⇒
        libiconv-1.10.tar.gz            《RINGサーバ》

        libiconv-1.10-cp932.patch.gz    《libiconv-1.10-cp932.patch.gz》
        samba-3.0.23c.tar.gz            《日本Sambaユーザ会》

はじめに:
 私は、
 Sambaが大好きだ。
 愛している、と言っても過言ではない。

 セキュリティ云々とかで利用機会が減りつつあるが、
 「好きにしていいよ」
 と言われたら、
 すかさずSamba を入れる。

 なんでSamba が必要か、て?
 理由⇒
  ・Windows のファイラ(エクスプローラWinFM卓駆☆FileVisor 等々)で
   サーバ内のファイルを操作したい
  ・Windows のエディタ(秀丸やらサクラやらWZやらMIFES やら)で
   サーバ内のファイルを編集したい
  ・エディタのgrep機能でサーバ内プログラムソースを一括検索したい
  ・FTPは使いたくない

 で、
 今回さわる“Itanium2”サーバも「勝手に使えば」ということなので、
 Samba を入れてやった。
 (嫌がられたけど)

ビルド手順:
 Solarisに入れるのと、同じ段取り。
 《詳細はこちら》 

 ただ、
 若干トラぶった。
 (私が初めてHP-UXをさわる、ということもあるのだが。)

 configure時に実行したコマンドは次のとおり。

    % gzcat samba-3.0.23c.tar.gz  | tar xf -
    % cd samba-3.0.23c/source
    % CFLAGS="-O +DD32 -DWITH_SYSLOG -D_KERNEL_THREADS -Y +z -AC99"; export CFLAGS
    % ./configure \
      --enable-socket-wrapper \
      --sysconfdir=/etc/samba \
      --with-privatedir=/etc/samba \
      --localstatedir=/var/samba \
      --with-lockdir=/var/samba/locks \
      --with-piddir=/var/samba/locks \
      --with-configdir=/etc/samba \
      --with-libiconv=/usr/local \
      --with-pam \
      --with-winbind \
      --without-libsmbclient \
★1  --disable-pie \
★2  --without-ldap
    % make
        ・
        ・
        ・
    %

    結構警告メッセージがでるが、気にするな。
    あと、
    ★1”,“★2”のconfigure オプションは必ず指定すること。
    コンパイルエラーがで出ちゃうので。
    “★1”でPIE(Position Independent Executable) 機能を無効にしてるけど、
    CFLAGSに「+z」を指定してるので、
    今回使用する‘HP ANSI C Compiler’ではPIEが有効になる。


    ビルド後に気づいたのだけれど。
    “HP CIFS Server A.02.02 based on Samba 3.0.14a”
    というのが
    プリインストールされてたわ。
    でも、
    CP932がちゃんと通らないと思うから、使わない。
    自動起動スクリプトは流用させてもらおうっと。
        /sbin/init.d/samba
        /sbin/rc1.d/K100samba
        /sbin/rc2.d/S900samba

        /etc/rc.config.d/samba

デーモン起動:
    起動してみる。

    # /sbin/init.d/samba start
    # ps -ef | grep 'mbd'
    root 20774     1  0 16:09:51 ?         0:00 /usr/local/samba/sbin/nmbd -D -l/var/samba -s/etc/samba/smb.conf
    #

    あ゛ーーっ!
    ‘smbd’がいないぢゃん!!


    ログファイルを確認。

    # cd /var/samba
    # view log.smbd
                ・
                ・
    [2006/09/29 16:09:51, 0] lib/util.c:smb_panic(1591)
      PANIC (pid 20772): failed to set gid
    [2006/09/29 16:09:51, 0] lib/util.c:log_stack_trace(1749)
      unable to produce a stack trace on this platform
    [2006/09/29 16:09:51, 0] lib/fault.c:dump_core(173)
      dumping core in /var/samba/cores/smbd
    [EOF]

    あ゛ーーっ!
    パニクってるぢゃん。


    調べてみる。
  解決の糸口を発見。
    こちら⇒ 
http://www.samba.gr.jp/project/kb/J0/0/37.html

    上記ページでの説明によると、
    Samba の仕様によるもの。
    ‘guest account ’パラメータが明示されていない場合、
    nobodyアカウントをゲスト用に使用するが、
    HP-UX ではnobodyのUID, GIDは次のようになっていた。
        UID = -2
        GID = -2
    UID, GIDは正の値を前提としているので、
    これらを正の値に変える必要がある。


    下記のアカウントファイルに設定されている‘nobody’のUID, GIDを正の値に変更。
        /etc/passwd
        /etc/group      (nogroup グループのGID を変えること)


  再チャレンジ。

    # /sbin/init.d/samba start
    # ps -ef | grep 'mbd'
    root 20978     1  0 16:15:56 ?         0:00 /usr/local/samba/sbin/nmbd -D -l/var/samba -s/etc/samba/smb.conf
    root 20977 20975  0 16:15:56 ?         0:00 /usr/local/samba/sbin/smbd -D -l/var/samba -s/etc/samba/smb.conf
    root 20975     1  0 16:15:56 ?         0:00 /usr/local/samba/sbin/smbd -D -l/var/samba -s/etc/samba/smb.conf
    #

    あー、
    やっと動いた。
    幸せ。。。


    ちなみに、
    今回使用する‘smb.conf’の中身は次のとおり。
        [global]
                dos charset = CP932
                unix charset = EUCJP-MS
                display charset = EUCJP-MS
                server string = Samba-%v
                interfaces = 192.168.0.1/255.255.255.0
                bind interfaces only = Yes
                smb passwd file = /etc/samba/smbpasswd
                private dir = /etc/samba
                passwd program = /usr/bin/passwd %u
                passwd chat = *New*password:* %n\n*Re-enter*new*password:* %n\n
                username map = /etc/samba/smbusers
                unix password sync = Yes
                log level = 3
                log file = /var/samba/log.%m
                max log size = 50
                socket options = IPTOS_LOWDELAY
                os level = 127
                preferred master = Yes
                domain master = Yes
                dns proxy = No
                wins support = Yes
                ldap ssl = no
                lock directory = /var/samba/locks
                create mask = 0644
                hosts allow = 192.168.0.
                hosts deny = 192., 172., 10.
                strict sync = Yes
                case sensitive = No

        [homes]
                comment = Home Directories
                force user = %S
                read only = No
                browseable = No

後記:
 ‘HP ANSI C Compiler’は、
 かなり優秀なコンパイラだ。
 だって、
 Sambaのビルドができちゃうんだもん。
 優秀、優秀。

 Sun Solaris でSambaをビルドする場合、
 純正の
   Sun ONE Studio
 たら
   Sun Forte C/C++
  では
  コンパイルエラーが多発するので、
 gccを入れてやる。

参考URL:
    Samba 3.0で日本語を利用できるようにしたパッケージ集

    libiconv パッチ集

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
お見えになった方の数
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新CM
[08/30 godnowhere]
最新TB
プロフィール
HN:
godnowhere
性別:
男性
職業:
システム・エンジニア
趣味:
機械いぢり
analyzer
忍者ブログ [PR]