terui のすべての投稿

DNS

9月8日のDNSがおかしい についてはよくわからんけど、解決している

DNS というサーバの機能があって、これは example.com のip address は?という問い合わせに、答える機能である。ネットワークを行き来する情報はパケットという小さな単位に区切られて送受信されるが、このときの送信先、受信先は全てip address で記載されているので、example.com  のip address が分からないと送受信できない。そこで人にとって分かりやすいexample という名前をip address に変換する仕組みがないといけない。これをおこなうのがDNSである。
あるDNSは他のDNSと常に協調して動作する必要がある。一つのDNSが世界中のあらゆるサーバ名のip address を覚える訳にはいかない。したがって、自分の持っている対応表にないと、上流のDNSに問い合わせることになる。このとき上流のDNSも分からないと、さらに上流のDNSに問い合わせる。しかし、これをやっていていは、同じ問い合わせがあったとき、時間がかかるので、各DNSは、いままでの経歴を覚えていて、cache して、おく。この機能があるから、逆になにか変更があったとき、昔の記憶をたどって返事をしてしまったりしてうまく接続できない。このcache には当然有効時間があって、有効時間を越えて保存することはない。逆に有効時間内では、サーバのip address が変更になった場合、誤ったip address を答えてしまう。というわけで、なにが というわけだかわからないけど、この辺のあたりがおかしくなっちゃったことが考えられる。
時間が経つと、正常になったということから推測した原因です。

nslookup と tracerout のexample.com の結果がちがっていたんだよね。なぜだかわからん。

このサーバちゃんの使い方

ううう、なぜか このサーバちゃんの使い方のページにアクセスできなくなった。こいつの原因がわからない。同じような閲覧制限をおこなっているページは問題ない。

解決した。ファイルがないのだ。コピーに失敗しただけだった。しかし、アクセス制限をしているdirectory の場合、ファイルがないと許可されていないと表示されるのか。

医学生理内からのこのサーバちゃんへのアクセスが遅くなった。こいつはDNSが巧く解決してくれないためであることがわかっているが、なぜ、今日の午後から急にだめになったのか、わからん。

H君に送る言葉

H君がこのたび新しい職場で仕事につくことになりました。

これを祝して送る言葉を書き連ねます。

これは、H君を預かることになって1年余、この間の行動を私なりに解析したので、その解析に基づく言葉です。

新しい上司の信頼を勝ち取るために...新しい上司は、H君の噂しか聞いていないだろうから

1)朝9時に出勤のこと。絶対にだ、どんなことがあっても絶対に9時出勤だ!!
 必要なら目覚まし時計を3個くらい購入しなさい。
 実験しないのだから、前日の仕事が明け方まで続くことはないであろう。
 データ整理などで、明け方になっても徹夜であろうとも、関係なく朝9時には自分のディスクにいること。
 前日、プールバーで遊んでいても関係なく朝9時には自分のディスクにいること。
10時−17時が契約らしいけど、そんなのには関係なく朝9時にはデスクにいなさい。
勤務時間中は、生理のたまり場に遊びにいってはいけない。あたりまえだけど守れないだろうから、あらためてここで言う。
 
  朝、出勤したら新しい上司に挨拶に行き、前日の仕事の結果を報告する。上司の出勤時間に合わせて挨拶に行く事。仕事の進捗状況を毎日報告すること。毎日だ、毎日!! 上司が「もういい、3日に1回でいい」とかいうまで、実行すること。
 ともかく、朝来たら、必ずH君はデスクの前にいる という実績をつくること。 たとえ5分の離席でも、どこにいるかを明らかにすること。トイレでもだ!! そのとき上司がきて、不在で、その理由がわからないと、サボっていると評価される。3回続くと首だ。

2)命令、指示を受けたら、無闇に「はい」と返事をしないこと
 できないことはできない、どうやっていいかわからないことは、聞く。一部でもできるようだったら、ここまではできるが、あとはわからないから教えてほしいと明言すること。
これまでH君は、指示を受けたらなんでも「はい」と答え、結果を残せなかった。それが原因で信頼を勝ち取れなかった。具体的な例をあげると;「このCDを、このリストの人に送付しなさい」という指示に対して「はい」という返事だったのだ。で2−3日後、できたかと聞くと、まだできてないという返事であった。さらに2−3日後、できたかと聞くと、「住所が分からないからまだやっていない」という返事が返ってきた。これは最悪、最低である。なぜか。リストに上がっている人はH君が知っている方々である。学内者であれば、学内便で送付できる。あるいは直接手渡しできる。学内者であるが所属がわからない人もいた。所属を聞けばいいのに、聞く事もしない。学外者の自宅住所がわからない。でも所属がわかるから、ネットで調べれば職場住所はわかる。それでも分からないときは、知ってそうな人に訪ねればいい。このような手順が普通は頭の中にできる。新入生だったら知らない方々ばかりだが、もう生理に10年もいるのだからこのくらいはわかるだろうと指示する方は思う。普通は、できることから実施し(一斉に送付する必要がないから)、できないことを相談する。小学生じゃないんだからね。博士なんだからね、博士!! 
 

3)命令、指示を受けたら、手順書を作成すること
 どんな、些細な命令、指示でも手順書を書きなさい。頭の中で手順ができているとは思わないこと。手順は具体的でなければいけない、「CDの作成と送付」というような記述は手順ではない。これはタイトルであって、そのためにしなければ行けない事を、具体的に記述する。上記の例でいえば; 
  1)学内者と学外者の弁別
  2)封筒とCDを包むためのクッションの購入ー経費については命令者と相談する
  3)学内者で所属、いる場所が分かる方には直接手渡し、もしくはメールボックスに投函
  4)学内者で所属等がわからないときは、上司に聞く、あるいは分かる人に依頼する
  5)学外者の職場職場住所の検索、住所録の作成
  6)住所の分からない学外者の住所は分かりそうな人に聞き住所録を作成
  7)住所を調べている間にクッションでCDをつつみ封筒にいれておく
  8)郵便料金の確認と切手の購入
  9)順次、住所が判明した方への送付
  10)最後まで住所が分からない方については上司に相談
こうやって手順を書くと、9)までは、住所を調べるのに時間がかかるとしても3日あればできるのがわかる。
 このくらいの手順は普通の人は頭の中で構築できるが、H君はできない。だから必ず紙に書き出すこと。どのような些細な仕事でも手順を書くこと。書くのに時間がかかってもいい、結果が早く出る。

4)複数の命令、指示があった場合
  優先順位を決める。わからないときは上司に聞く/確認を取る。
  自分だけの仕事の優先順位は最下位。
  複数の仕事があっても、それぞれの手順書をつくって、実施済みにチェックを入れておけば、やり残したもの、時間が空いているとき、どれをすべきかが判断できる。

市販のミートソースを購入したらスパゲッティ・ミートソースを作ることはできるが、ミートソースから作ることはできない。この事実をしっかり認識して、仕事の手順を書き留めて、新しい職場で、新しい上司の信頼を勝ち取ってくださいな。

あーあ

嘘発見機の回路図を、新たに手に入れたソフトで描いていたら、突然ハングアップして ぱー。最近こういうソフト使っていないから、save しつつ やるなんて やらなかったぞ。使い勝手もよくわからんから、しこしこ、やってたのね。使い方がだんだんわかってきたから、再度描くのは もっと時間がかからないだろうけど...

html タグ

html タグを使って記述する方法なんかもうとっくに忘れた。しかし、ここはタグをつかわねばならない。サーバのconfigファイルををのまま表示するためには〜なのだ。

↑といいつ、このXMPタグが有効になっちゃった。

なのだ。

http://www5.airnet.ne.jp/tomy/knowhow/tag.htm#10

log、メールを読む

システム、エラー、メール。ftpなどのlog ファイルの存在場所

/var/log/
htaccess log はさらに httpd の directory にある。
コピーを作り解凍して読む。そうでないとオリジナルが解凍したものに置換されるから。
コピーする。
#cp /var/log/xxxx.log.3.gz xxxx.log.3.copy.gz
コピーした.gz ファイルを解凍する。
# gunzip xxxx.log.3.copy.gz
おなじ directory に xxxx.log.3.copy と解凍されるから cat などで読む。

ユーザからサーバににあるメールを見たいという要望があったら

メールの保存場所

/var/spool/imap/user/[ユーザ名] /
ルートになって、該当メールかどうかをターミナルで確認したあと、ユーザのdirectory にテキストファイルとしてコピペする。
#cp /var/spool/imap/user/[ユーザ名]/[メールファイル名] /users/[ユーザ名]/sites/[メールファイル名].txt
#cd /users/[ユーザ名]/sites
#chmod 755 [メールファイル名].txt
ユーザにftpでDLしてもらう。日本語メールは ISO-2022-jp だと思うから Jeditなど適当なエディタで読んでもらう。

コメントするとWarning

コメントを投稿すると Warning ! がでるが、投稿できているというバグがある。Comments にSpam を防止する機能があるようだが、これが巧く動いていないようなので、こいつを止めちゃった。

具体的には /forum/add.php replied.php comment_reply.php 3つのファイルで, それぞれ48行目あたりにある //Block Spams の部分全てをコメントアウトした。

spam をブロックできないかもしれない、が来たら考えることにする。あるいはバージョンアプされるまでこのままだ。

P_Blog のはなしね。

MySQL

ふう。汗!汗!

Blog のdirectory はOSXserverのデフォルトのWeb保護領域が使えないのね。それでどうやって閲覧制限をかけるか悩んだのさ。

でようやくなんとかできたんだけど、再起動したら、Bogが表示できなくなっちゃったのね。泡食っちゃったよ。その原因は、前から後回しにしていた事が有ってそれが原因なんだけど、新しいことをしたためと、当然思うよね。

その理由に気がつくのに、ちと手間取ってあせっちゃったよ。OSXサーバではどうやってMySQLを自動起動するのかわからなかったので、後回しにしていたのね。それが原因だったわけ。ようやく自動起動するようにしたので、問題解決。

http://www.cosmos.ne.jp/~kaz6120/downloads/index.pl

これでシアトル日記はmikeユーザしか閲覧できないはず。まだ十分理解していないけど多分いいと思う。

P_Blog を導入したはいいけれど

うーん

MacOSXserver に始めから付属のBlogソフトはつかいものにならなかった。そこでP_Blog を導入したんだけど

1)いまのところ3つのBlog がたっている。だれかがCSSを変更すると、3つとも全部かわっちゃう

2)Windows IE では写真がみえない

3)Windows では IE でも Firefox でもCSS はデフォルトの green でしが表示されない

まだありそうだな

CGI

CGI を各ユーザのSites で有効にする。

/etc/httpd/httpd.conf
を書き換えた。
Default では、/Library/WebServer/CGI-Executable においたファイルが有効 と設定してあった。
これを、各ユーザのSites/cgi-bin 内に置いたcgiファイルのみ有効にするとした。
/etc/httpd/httpd.conf
の625行目あたり
## ScriptAlias: This controls which directories contain server scripts. ## ScriptAliases are essentially the same as Aliases, except that ## documents in the realname directory are treated as applications and ## run by the server when requested rather than as documents sent to the client. ## The same rules about trailing “/” apply to ScriptAlias directives as to ## Alias. ## # ScriptAlias /cgi-bin/ “/Library/WebServer/CGI-Executables/” ScriptAlias /cgi-bin/ “/Users/*/Sites/cgi-bin” ## ## This should be changed to whatever your ScriptAliased ## CGI directory exists, if you have that configured. ## # <Directory “/Library/WebServer/CGI-Executables” <Directory “/Users/*/Sites/cgi-bin” # AllowOverride None AllowOverride All Options None Order allow,deny Allow from all </Directory> さらに、このサーバ固有の設定が記入されているファイルを/etc/httpd/sites/ からさがした。
0000_192.168.0.2_80_mike.md.tsukuba.ac.jp.conf である。
このファイルに保護領域の設定が記入されている。
このファイルの22行目あたりは、
   <Directory “/Library/WebServer/Documents”> Options All -Indexes +ExecCGI +Includes +MultiViews # AllowOverride None AllowOverride All <IfModule mod_dav.c> DAV On </IfModule> </Directory> となっている。試行錯誤の結果だ。

CGI がうごいていることの確認

test.cgi というファイルを作成する。内容は、
    #! /usr/bin/perl     print “Content-type: text/plainnn”;     print “Hellow World”;     exit; である。改行はUNIXにすること。

  <a href=”cgi-bin/test.cgi”>Test script</a> とどっかのページに書き。これを表示してクリックすれば Hellow World と表示されたページが出現する。これがうまくいけばいい。

CGI エラーログ
○サーバ管理 ー> Web -> ログ -> アクセス
130.158.152.137 – – [22/Jun/2006:08:41:42 +0900] “GET /terui/cgi-bin/test.cgi HTTP/1.1” 200 24 “-” “Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4”
130.158.152.137 – – [22/Jun/2006:08:42:07 +0900] “GET /terui/cgi-bin/light.cgi HTTP/1.1” 404 – “-” “Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4”
130.158.152.137 – – [22/Jun/2006:08:42:15 +0900] “GET /terui/cgi-bin/bbs/light.cgi HTTP/1.1” 500 629 “-” “Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4”

○サーバ管理 ー> Web -> ログ -> エラー
[Thu Jun 22 08:42:07 2006] [error] [client 130.158.152.137] File does not exist: /Library/WebServer/Documents/error.html
[Thu Jun 22 08:42:15 2006] [error] (2)No such file or directory: exec of /Library/WebServer/Documents/terui/cgi-bin/bbs/light.cgi failed
[Thu Jun 22 08:42:15 2006] [error] [client 130.158.152.137] Premature end of script headers: /Library/WebServer/Documents/terui/cgi-bin/bbs/light.cgi

文法チェック
# perl -wc [ファイル名]
のコマンドでsyntax error をチェックする
Premature end of script headers というエラーは
1行目の#! /usr/bin/perl が誤りである。

Name “main::mode” used only once: possible typo at init.cgi line 125. というエラーがでても気にしない。これは変数に指定してあるが1回しかつかってないけどいいのか? という意味だから
syntax OK となればいい。

apacheの再起動

# /usr/sbin/apachctl restart
/usr/sbin/apachectl restart:httpd restarted

メール自動転送

メール自動転送

.forward ファイルを各ユーザのroot directory に置けばいい

普通はこれでいいのだが、以前の医学のサーバは送信者のメールのenvelopeのドメインがxxxxxx.xxxx.jpでないとsmtp サーバが受け付けないという設定であったため、大変だった。

なぜ、こんなことをしたかというと、医学のネットワークの維持管理の経費は医学の共通経費からでるのではなく、ユーザが負担することになってるからである。ネットワークを使う者はメールも使う。ユーザがネットワークを使っているかどうかは把握できない。だれでもコンセントにケーブルをつっこめば使えるからである。固定ip address を割り当てればいいが、これが大変だった。勝手にルータのip addressを記入しちゃってめちゃめちゃになったからだ。DHCPサーバを建てた理由である。医学はユーザを特定するのが事実上不可能である。認証サーバの技術はそのころはまだ確立していなかった。というわけで、医学では、医学のsmtpサーバしか使えず、なおかつ医学のドメインのメールでないと通さないということにしたのだ。

ということはこのサーバがが医学外から来たメールをそのまま自動転送するとenvelope は医学外のドメインから来たままだから医学のsmtpサーバを通らない。そこで仕方なくenvelope を書き換えて転送したのである。

現在はこの縛りがなくなったので単純に.forward を作ればいいことになったのだ。縛りをなくしたのは、ほとんどの教員が医学のサーバを利用しているからである。さらにsmtpサーバは医学のしか使えず、使うためにはID、パスワードを必要とするように設定したからである。このサーバ は医学のsmtpサーバにメールを丸投げであるが、医学のsmtpサーバはこのサーバからのメールに対しては制限なしに受け付けているのだ。

.forward の例

hoge@xxxxxx.xxxx.jp
hogehoge@nifty.com

がこのサーバにメールを残すことだ  が¥(半角)と表示される場合がある。

〜のないユーザのWebサイト

ユーザのサイト名に 〜が付かないサイトにする
ユーザのdirectory のエイリアスをトップdirectoryに作って対処する
/Library/WebServerr/Documentsにこのサーバ のトップページがおいてある。
これは サーバ管理−サイト でxxxxxx.xxxx.jp をダブルクリックして一般のタグで開いて
Webフォルダ:/Library/WebServerr/Documents
と設定してあるからである(デフォルトのまま)。
/Library/WebServerr/Documents 内にエリアスファイルを作る。ファイル名は該当するユーザ名(short 名)である。
ターミナルで
/Library/WebServerr/Documents に行き
# ln -s /Users/[ユーザのlong name]/Sites [ユーザのshort name]
# chown [ユーザのlongname]:[ユーザグループ名] [ユーザのshort name]

mike: /Library/WebServerr/Documents root# lsn ?s /Users/hogehoge/Sites hoge
mike:/ /Library/WebServerr/Documents root# chown hogehoge:students hoge これで、本来は
http://mike.md.tsukuba.ac.jp/~hogehoge/
であるが
http://xxxxxx.xxxx.jp/hoge/
でアクセスできることになる。

ユーザの追加

一般ユーザの追加

○ワークグループ マネージャを使う
基本 名前:誰誰兵  ←漢字可
ユーザID:1027  ←自動的に決まる
ユーザ名:sakuraiterumi, tsakurai  ←最初のは名前から勝手にできるから訂正する、いちど出ると訂正できなくなる。16個まで別名可能
パスワード:xxxxxxx
サーバを管理する:OFF
ログイン:ON
詳細
同時ログインを許可する
シャドウパスワード
グループ プライマリーグループID: 10250 ユーザ名:students または
グループ プライマリーグループID: 20 ユーザ名:staff
Active_member にいれること
ホーム /Users にホームを作成 1000MB
メール 有効  xxxxxx.xxxx.jp 1000MB POPとIMAP
プリント 割り当てなし
Windows 設定しない

メーリングリスト作成

http:/xxxxxx.xxxx.jp/mailman/admin から新規に作る
Name of list:任意
Initial list password: 任意(作成するこのメーリングリストの管理者用)
言語の Japanese にチェックすることを忘れずに
List creator’s (authentication) password: xxxx88←これは管理者だけが知っているやつ
http://xxxxxx.xxxx.jp/mailman/admin
から、該当するメーリングリストの名前をダブルクリックする。
該当リストの管理者のパスワード入力
preffered language からJapanese を選択しsubmitt すると日本語表示になる。
あとはここで設定する。