MacOSX10.5でphpからmysqlに接続できない場合。

MacOSX10.5でphpからmysqlに接続できない場合。
mysqlをインストールしただけじゃ繋がらないです。
以下のように正しく繋いであげましょう。

/usr/local/mysql/bin/mysql -u root -p

でrootでmysqlに入り

mysql> status;
————–
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.40, for apple-darwin9.8.0 (powerpc) using readline 5.1

Connection id: 26
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.40 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 15 hours 39 min 32 sec

Threads: 1 Questions: 1918 Slow queries: 0 Opens: 126 Flush tables: 1 Open tables: 64 Queries per second avg: 0.34
————–

ということはphpの見に行くべきソケットは /tmp/mysql.sock なので
(UNIX socketのことです)

vi /etc/php.ini の中の記述を

mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

としましょう。

最後に apachectl restart でapacheを再起動するとphpから接続できるはずです。

OSX10.5のSambaに関する悩み。

OSX10.5のSambaからファイルをコピーしようとすると
「〜をコピーできません。送り側のファイルまたはディスクから読み取れません」とでる。

調べてゆくとexeとzipなどのみ。
ファイル名の後ろに:Zone.Identifierとつくファイルが出来てしまう。

どうもZoneIdなるものらしい。

コピーできないファイルのプロパティをみて
WS000012
これの「ブロックの解除」をクリックすればコピーできるようになる。
このセキュリティを表示させているのがZoneId

ZoneIdを無視すべくここのように
vfs objects = darwinacl
; darwin_streams
stream support = no
ea support = no
としてみたが、そうしてしまうとクライアントのOSX機からAppleリソースフォークのあるファイルを送ると謎のゴミが発生してしまう。

ntfsのstreamsだけを無視できれば良いんだけど・・・

追記
darwin_streamsそのままで
ea support = yes でいいみたい。
でもMacはafpからアクセスすればいいしぃ。

あとログに
init_iconv: Conversion from 932 to UTF-8-MAC not supported
なんてものが出まくっていたので /var/db/smb.confのdos charset = 932を
dos charset = CP932にして解決。

パーミッションの横に@がついているのは何だろうと
http://d.hatena.ne.jp/hiratara/20080730/1217389570
ほほーそういうことか。
これがea(Extended Attribute)なんですね〜 ea support = yesでなりますね。

LeopardでWindows共有(Samba)

MacOSX10.5″Leopard”でWindowsファイル共有を行うと問題が色々発生する。

**************************
以下内容はMacOSX10.5.7クライアント版、
MacOSXServer10.5.7Unlimitedで検証していますが、
以下内容を実行したことによる一切の責は負いません。
**************************

●書き込んだファイルが読めない。
LeopardよりSambaのバージョンが変わり、共有ディレクトリ毎にファイルが作られるようになった。
/var/samba/shares/内に共有名でファイルがある。
推奨設定は(ゲストである)
#VERSION 3
path=/Volumes/共有ディレクトリ
comment=共有に対するコメント
usershare_acl=S-1-1-0:F
inherit permissions=yes
map archive = no
guest ok=yes
directory mask=775
create mask=774

●共有内でフォルダを作ってそのフォルダにファイルを移動すると開けなくなる。
ファイルのプロパティーの「アーカイブ」を外すと読める。
この問題はSamba的には/etc/smb.confに
map archive = no
を追加し、ファイルに実行権限を与えないことで解決できるが、Leopardより採用されているACL(Access Control List)の絡みもありこれだけでは解決しない。
なお、この問題はMacOSXServer10.5でも存在する。
いいのかサーバー版がこの程度の実装で!と怒りを感じつつ。淡々と弄る。

ACLは/etc/smb.confの
vfs objects = darwinacl,darwin_streams
により適用されている。
他サイトでは共有ボリュームのみACLをOFFにする
/usr/sbin/fsaclctl -p /Volumes/共有ディレクトリ/ -d
が対応として紹介されているが、このvfs objectsを変えることによりACLは関係なくなる。
かわりに以下のオプションを提案したい。

;vfs objects = darwinacl,darwin_streams
vfs objects = recycle,darwin_streams
recycle:repository = /Volumes/ゴミ箱フォルダ
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0

vfs objects = darwinaclはコメントアウトし、
darwin_streamsはMacから書き込みの際リソースを処理するために残しておく・・・

ゴミ箱の作成は別に書きました→こちら

●バックアップフォルダ(読み込みのみ)
#VERSION 3
path=/Volumes/バックアップフォルダ
comment=backup
usershare_acl=S-1-1-0:F
guest ok=yes
directory mask=444
read only=yes

●画像ファイルをフォルダ毎コピーしようとすると
Thumbsがコピーできなく、コピーに失敗する。
Thumbs.dbはWindowsの画像サムネイルファイル。隠し権限だ。
/etc/smb.confに
delete veto files = yes
veto files = /Thumbs.db/
があるとコピーに失敗する。

.DS_StoreはWindowsから邪魔だけど、無いとMacOSXからのフォルダごとのファイルコピーでフォルダしかコピーされない問題が起きる。
.vbt5はロングファイルネームに問題が出る模様。

上記変更で良いファイルサーバーが出来たら良いなと思う。
MacOSXServerユーザーはsmb.conf.templateにも同様の記述をお勧めする。
単にsmb.confに記述し、
その後、サーバー管理を使って編集するとこの辺の設定が吹き飛ぶので・・・

Leopardファイルサーバー

MacOSX10.5でファイルサーバー。

データドライブは秋葉館のFW800ケースDDT MIRRORを使ってみた。
http://www.akibakan.com/BCAK0012032/BCAK0012032A/index.html
冷却ファンががらがら鳴って五月蠅い場合はグッとおしてみよう。
ファンの中心をウチから外側に(何が起こっても責任は負いません)
うちの二台は両方ともがらがら言って正直ポンコツ起動。
安いし。しょーがない。
おそらくはファンが輸送の振動でゆるんだんだと思う。

でもFW800はマジで速い。これはいいよ〜

・共有のオプションでSMBを有効にする。
 (Windowsから使う場合、標準は無効になっている)
・省エネルギー設定でハードディスクの休止は無しにする
 (とまっちゃうと共有が外れる)
・ネットワークからIPv4アドレスを固定して、
 詳細のWINSでWorkgroupを入力する。
・Windowsから使うならACLをOFFにしたほうがよさげ。

sh-3.2# sudo /usr/sbin/fsaclctl -p /Volumes/data -d

以上のコマンドはrootが使えないと実行できないので、

server:?~ cocoa$ sudo passwd root
ARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type “man sudo” for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:いまのパスワード
Changing password for root.
New password:任意のrootのパスワード
Retype new password:任意のrootのパスワード(再入力)

を行ってrootを有効にしておこう。

DTP業界の変遷。

過去9年求人広告の営業と制作を行い、
1年ブランクを入れて今度はシステム屋になりましたが、
その一発目の仕事が古巣のような会社さんのシステム構築の仕事です。
今日その打ち合わせがありました。

MacOS9が残っているのでOSXにしていきましょ
というのが大きなところだったですが・・・
非Macユーザーのために書きます。

●DTP業界の悩み 〜Macintosh新旧交代の悩み〜

革新には痛みが伴います。と某小泉氏のようですが、企業の場合内部を革新するには間違いなく出費という痛みが伴います。経営上は経費として処理できるし、値の張る物は資産計上もできますが、それでも業務の革新という対価がなければ当然ながら出費しません。

DTPで多く用いられるApple社のMacintoshはその上で動作する基本ソフト(OS)の大幅な革新を行いました。その新版OSがMacOSX。
それまでのMacOS9と比較し格段の信頼性向上と他OS(Windows)との接続などの機能向上を果たしました。しかしこの革新では大きな痛みを伴いました。

これまでのMacOS9でのソフトが基本的に動作しません。(一世代前のMacOSX10.4でかつ、CPUがPowerPC系の場合はとりあえずの手段が用意されましたが、最新の10.5からはそのサポートも打ち切られています。)
ですのでDTPで使用する三種の神器であるillustrator,Photoshop,QuarkXpressが動作しないのです。そのためMacOSX対応したそれぞれのソフトの新版の購入をしなければなりませんが、バージョンアップ版でも高価です。

わたしのようなホビーユーザーはソフトを買い換える、バージョンアップすると言っても額が知れています。でも事業所では何台もMacがあるのです。その一台一台正規に買わなければなりません。(ソフトウエアライセンスの遵守は当然の責務です)

でもカネだけなら借り入れて購入すれば解決する話です。
(業界が低価格体質なのでその判断も厳しいですが)

一番の問題は出力機(大判プリンター、印刷所)のMacOSX対応が遅かったという事情があり、仕事のアウトプットである印刷に合わせて仕事をしている都合上一番のネックであり続けているのです。コレにも事情があり非常な高価な物なので価格競争の中、メーカーが対応品を用意してもそうそう買い換えられなかったのです。

印刷屋やデザイン事務所が革新を拒んだわけではありません。格段の信頼性向上は業務効率の向上に直結するので喉から手が出るほど欲しいことです。しかし、現状日々の仕事を低価格でこなさなければならない。そのためには信頼性が劣っていても過去からの積み重ねのノウハウでなんとか現在の環境を活かし続け仕事をしなければならなかったのです。

・・・という事情がある業界なのです。

しかしその状態はとっくに終焉を迎えている。
この業界にいる人間ならそうおもわない人は居ないでしょう。
もうMacOS9の動くMacがラインナップに無くなってから久しいです。
このままでは生き残れない。

WIndowsへの乗り換えも選択肢に入ります。

私は前職でMacOSX化を実行し、完全データ下版の仕組みを確立しました。
昨年からの不況で売り上げは大幅に激減しましたが、低コスト体質に作り替えてあったので内部留保もあり、なんとか人員削減無くやっているそうです。
古巣に先日挨拶に行った際、制作環境の優秀さに社長から感謝されました。
そのためには新環境であるMacOSXに早くから触れている私の知識がフルに生きました。

今手掛けているお客様にも喜んで頂ける環境を。
そうおもっています。

OSXでVNC

======最近追記======
※ここ最近のOSX(10.5〜)はシステム環境設定の「共有」に画面共有がある。
そちらを使った方が良いですよ。
cmd+Kで「サーバーに接続」を出して vnc://相手のIPアドレス で接続成功すればViewerが立ち上がってきます。
======/最近追記======

VNCを自宅サーバーや会社のお守りをしているサーバーに突っ込んでおくといざというとき役に立つ。
遠隔で操作しなきゃならないマシンには入れておこう。
大抵はsshで用が済むけど、サーバー機側の方が回線が高速でダウンロードしておきたいファイルがあったときなんて楽(笑

AppleRemoteDesktopが買えるなら買った方が良いらしい。
VNCから比べると格段に優れているらしい。おそらくは画面動作とか。
お金を掛けたくない人にはVNCですね。

“OSXでVNC” の続きを読む