sambaインストールから取敢えず動くまで【パスワードの設定編】
1. ユーザの追加
# /usr/bin/smbpasswd -a User_name <= 新しいユーザーの追加 New SMB password: <= パスワード入力 Retype new SMB password: Added user User_name.
2. 既存のユーザーのパスワード変更
# /usr/bin/smbpasswd User_name <= 既存のユーザーのパスワード変更
3. LinuxのユーザーをSambaパスワードファイルに追加する
# /usr/bin/mksmbpasswd.sh < /etc/passwd で追加する内容が確認できる。
4. グループのユーザーを全部登録する
# grep GroupID /etc/passwd | /usr/bin/mksmbpasswd.sh >> smbpasswd
5. ユーザーのアクセスを無効にする
# /usr/bin/smbpasswd -d User_name
6. ユーザーのアクセスを有効にする
# /usr/bin/smbpasswd -e User_name
7. ユーザーを消去する
# /usr/bin/smbpasswd -x User_name ※ /etc/samba/smbpasswd のパーミッションは600が望ましい。 ※ 3の時点でパスワードファイルは以下のようになっているので、 作成されたユーザーについて /usr/bin/smbpasswd を使ってパスワードを設定する。 user:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:〜 ユーザーが大量にいて、デフォルトのパスワードを全員に付加するには "user password" のリストからawkを使い、TeraTermのマクロ・ファイルを作成する。 (/usr/bin/smbpasswdはパスワードの入力に対してリダイレクトを受け付けない為)
sambaインストールから取敢えず動くまで【smb.confの変更編】
1. 設定ファイル・グローバルな設定
#============= Global Settings 設定ファイル・グローバルな設定 ================= [global] workgroup = WORKGROUP <= Windows の Workgroup 名を指定 server string = Samba Server <= Windows の 「コンピュータの説明」に相当する hosts allow = 192.168.xx. <= 接続を許可するアドレス(複数記述可) max log size = 100 <= ログファイルの最大サイズ (Default : 50Kbytes) encrypt passwords = yes <= パスワードを暗号化して転送(95,古いNTは暗号化機能がない) name resolve order = host lmhosts bcast <= 名前解決の順位設定(自分がWinsサーバーになる場合) wins support = yes <= winsサーバーになる ;wins server = <= wins support と排他的(コメントにすること) ;wins proxy = yes <= wins support と排他的(コメントにすること) dns proxy = yes <= winsサーバーになる時は必要 domain master = yes <= Domain master になる(他にいない時設定) dos charset = cp932 <= 文字コードの設定(2.x と 3.x で異なるので注意) display charset = cp932 <= SWATの画面に表示されるコード #================ Share Definitions 設定ファイル・共有ディレクトリの設定 ==================== [homes] <= 個人のホームディレクトリに対する設定 comment = Home Directories browseable = no <= Windowsからホームが見れない(yes=見える) writable = yes <= 上がyesの時は以下5行を設定 path = /home/%u create mask = 0600 force create mode = 0600 directory mask = 0700 [tmp] <= tmpディレクトリを誰でも読み書きできる設定 comment = Temporary file space path = /tmp read only = no public = yes <= パスワードが必要ない create mask = 0660 force create mode = 0660 directory mask = 0770 [hoge] <= 任意のディレクトリを共有する設定 comment = hoge hoge path = /home/hoge <= 共有するパス valid users = user0, user1 <= 使用できるユーザーを限定 public = no <= パスワードが必要 writable = yes <= 書き込み可能 create mask = 0660 <= AND演算される属性 force create mode = 0660 <= OR演算で必ず設定される属性 directory mask = 0770 <= ディレクトリに対する属性
sambaインストールから取敢えず動くまで【環境設定編】
1. smb.conf
ソースを展開したディレクトリにsmb.confのディストリビューション別サンプルがあるので
--with-configdir で指定したディレクトリにコピーする
2. smbpasswd
--with-privatedir=で指定した場所に作成する.
なければ、コマンド使用時、自動的作成してくれる
3. SWAT
SWAT(sambaをGUIで操作するツール)を使用する場合、/etc/services に swat 901/tcp がなければ追加する。 /etc/xinetd.d/swat を新規作成する。内容は以下の通り ----- service swat { port = 901 socket_type = stream wait = no user = root server = /usr/sbin/swat log_on_failure += USERID disable = no } ----- SWATでの認証用に/etc/pam.d/sambaを新規作成。内容は以下の通り ----- #%PAM-1.0 auth required /lib/security/pam_stack.so service=system-auth account required /lib/security/pam_stack.so service=system-auth password required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_stack.so service=system-auth ----- Sambaのログを定期的に切り換えるために、/etc/logrotate.d/sambaを新規作成。内容は以下の通り ----- /var/log/samba/log.nmbd { postrotate /usr/bin/killall -HUP nmbd endscript } /var/log/samba/log.smbd { postrotate /usr/bin/killall -HUP smbd endscript }
4. 起動と停止設定
sambaを起動停止させる為に、/etc/rc.d/init/smbを新規作成。内容は以下の通り ----- #!/bin/sh # # chkconfig: 345 91 35 # description: Starts and stops the Samba smbd and nmbd daemons \ # used to provide SMB network services. # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 0 # See how we were called. case "$1" in start) echo -n "Starting SMB services: " daemon smbd -D daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) echo -n "Shutting down SMB services: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;; status) status smbd status nmbd ;; restart) echo -n "Restarting SMB services: " $0 stop $0 start echo "done." ;; *) echo "Usage: smb {start|stop|restart|status}" exit 1 esac
※ 生成したsmb のパーミッションを755に変更する
5. コンフィグチェック
# chkconfig smb on
sambaインストールから取敢えず動くまで【インスト編】
ソースの入手
ftp://ftp.samba.gr.jp/pub/samba/
ソースからインストール
$ tar -zxvf samba-*.*.tar.gz
$ cd samba-*.*/source
$ ./configure
$ make
# su -
# make install
configure 例 -----
./configure \ --prefix=/usr \ --localstatedir=/var \ --with-lockdir=/var/lock/samba \ --libdir=/etc/samba \ --with-configdir=/etc/samba \ --with-privatedir=/etc/samba \ --with-codepagedir=/usr/share/samba/codepages \ --with-fhs \ --with-sambabook=/usr/share/swat/using_samba \ --with-swatdir=/usr/share/swat \ --with-quotas \ --with-smbmount \ --with-automount \ --with-pam \ --with-pam_smbpass \ --with-syslog \ --with-utmp \ --with-msdfs \ --with-acl-support \ --with-winbind \ --with-mmap \ --without-smbwrapper \ --with-vfs \ --with-i18n-swat
PHPXrefの設定
クロスリファレンスドキュメントの自動生成ツール
source:http://phpxref.sourceforge.net/
# tar -zxvf phpxref-0.6.tar.gz
# cd phpxref-0.6
# vi phpxref.cfg (Windowsの場合は、phpxref.bat)
# ./phpxref.pl
phpxref.cfg ---
7 # The base directory containing all of your PHP code to be indexed 8 # This could just be a directory containing symlinks to the real directories 9 #SOURCE=C:\webserver\sites\www.myhost.com\htdocs 10 SOURCE=/usr/local/apache2/htdocs/aic_doc 11 12 # The directory in which you'd like the output to be written 13 #OUTPUT=C:\phpxref\output 14 OUTPUT=/usr/local/apache2/htdocs/phpxref-0.6/output/aic 15 16 # Project name; something short 17 PROJECT=aba-osakafu Project v1.00
phpxref.pl --- 192行目と 213行目を
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
↓<meta http-equiv="content-type" content="text/html;charset=euc-jp">
sample_header.html --- 8行目を
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
↓<meta http-equiv="content-type" content="text/html;charset=euc-jp">
mime_type一覧
"ai" => "application/postscript",
"aif" => "audio/x-aiff",
"aifc" => "audio/x-aiff",
"aiff" => "audio/x-aiff",
"asc" => "text/plain",
"au" => "audio/basic",
"avi" => "video/x-msvideo",
"bcpio" => "application/x-bcpio",
"bin" => "application/octet-stream",
"bmp" => "image/bmp",
"cdf" => "application/x-netcdf",
"class" => "application/octet-stream",
"cpio" => "application/x-cpio",
"cpt" => "application/mac-compactpro",
"csh" => "application/x-csh",
"css" => "text/css",
"dcr" => "application/x-director",
"dir" => "application/x-director",
"dms" => "application/octet-stream",
"doc" => "application/msword",
"dvi" => "application/x-dvi",
"dxr" => "application/x-director",
"eps" => "application/postscript",
"etx" => "text/x-setext",
"exe" => "application/octet-stream",
"ez" => "application/andrew-inset",
"gif" => "image/gif",
"gtar" => "application/x-gtar",
"hdf" => "application/x-hdf",
"htm" => "text/html",
"html" => "text/html",
"ice" => "x-conference/x-cooltalk",
"ief" => "image/ief",
"iges" => "model/iges",
"igs" => "model/iges",
"jpe" => "image/jpeg",
"jpeg" => "image/jpeg",
"jpg" => "image/jpeg",
"js" => "application/x-javascript",
"kar" => "audio/midi",
"latex" => "application/x-latex",
"lha" => "application/octet-stream",
"lzh" => "application/octet-stream",
"man" => "application/x-troff-man",
"me" => "application/x-troff-me",
"mesh" => "model/mesh",
"mid" => "audio/midi",
"midi" => "audio/midi",
"mif" => "application/vnd.mif",
"mov" => "video/quicktime",
"movie" => "video/x-sgi-movie",
"mp2" => "audio/mpeg",
"mp3" => "audio/mpeg",
"mpe" => "video/mpeg",
"mpeg" => "video/mpeg",
"mpg" => "video/mpeg",
"mpga" => "audio/mpeg",
"ms" => "application/x-troff-ms",
"msh" => "model/mesh",
"nc" => "application/x-netcdf",
"oda" => "application/oda",
"pbm" => "image/x-portable-bitmap",
"pdb" => "chemical/x-pdb",
"pdf" => "application/pdf",
"pgm" => "image/x-portable-graymap",
"pgn" => "application/x-chess-pgn",
"png" => "image/png",
"pnm" => "image/x-portable-anymap",
"ppm" => "image/x-portable-pixmap",
"ppt" => "application/vnd.ms-powerpoint",
"ps" => "application/postscript",
"qt" => "video/quicktime",
"ra" => "audio/x-realaudio",
"ram" => "audio/x-pn-realaudio",
"ras" => "image/x-cmu-raster",
"rgb" => "image/x-rgb",
"rm" => "audio/x-pn-realaudio",
"roff" => "application/x-troff",
"rpm" => "audio/x-pn-realaudio-plugin",
"rtf" => "text/rtf",
"rtx" => "text/richtext",
"sgm" => "text/sgml",
"sgml" => "text/sgml",
"sh" => "application/x-sh",
"shar" => "application/x-shar",
"silo" => "model/mesh",
"sit" => "application/x-stuffit",
"skd" => "application/x-koan",
"skm" => "application/x-koan",
"skp" => "application/x-koan",
"skt" => "application/x-koan",
"smi" => "application/smil",
"smil" => "application/smil",
"snd" => "audio/basic",
"spl" => "application/x-futuresplash",
"src" => "application/x-wais-source",
"sv4cpio" => "application/x-sv4cpio",
"sv4crc" => "application/x-sv4crc",
"swf" => "application/x-shockwave-flash",
"t" => "application/x-troff",
"tar" => "application/x-tar",
"tcl" => "application/x-tcl",
"tex" => "application/x-tex",
"texi" => "application/x-texinfo",
"texinfo" => "application/x-texinfo",
"tif" => "image/tiff",
"tiff" => "image/tiff",
"tr" => "application/x-troff",
"tsv" => "text/tab-separated-values",
"txt" => "text/plain",
"ustar" => "application/x-ustar",
"vcd" => "application/x-cdlink",
"vrml" => "model/vrml",
"wav" => "audio/x-wav",
"wbmp" => "image/vnd.wap.wbmp",
"wbxml" => "application/vnd.wap.wbxml",
"wml" => "text/vnd.wap.wml",
"wmlc" => "application/vnd.wap.wmlc",
"wmls" => "text/vnd.wap.wmlscript",
"wmlsc" => "application/vnd.wap.wmlscriptc",
"wrl" => "model/vrml",
"xbm" => "image/x-xbitmap",
"xls" => "application/vnd.ms-excel",
"xml" => "text/xml",
"xpm" => "image/x-xpixmap",
"xwd" => "image/x-xwindowdump",
"xyz" => "chemical/x-pdb",
"zip" => "application/zip"
my.confの設定例
[mysqld] port = 3306 # 起動ポート番号。セキュリティ面から変更しておいた方がいい場合もある set-variable = key_buffer=256M # メモリに余裕がある場合に指定。 # 検索に使われるインデックスをバッファに保存する際のメモリサイズ set-variable = max_allowed_packet=1M # 入力データ保持のための最大バッファサイズ。 # 画像など、大きなデータ挿入でこの制限に引っ掛かる可能性がある set-variable = table_cache=256 # 頻繁なアクセスに対し、 # データのキャッシュでディスクのI/O負荷を減らす場合に使用 set-variable = sort_buffer=1M # 値を大きくすることでORDER BYやGROUP BYを # クエリーに用いた場合に速度を上げる set-variable = record_buffer=1M # 値を大きくすることでインデックスを含まないクエリーの実行速度を上げる set-variable = long_query_time=1 # mysqladmin statusコマンドで # 表示されるSlow queriesにカウントされる場合のしきい値。単位は秒