2004/12/29(水)AWStats導入記

2004/12/29 4:00 PC(Linux)
そういやAWStats入れてなかったな(過去1回挫折)と思いだして、入れてみることにする。

dselectで入れてみたが、なんかどこに入ったのかよく分からない(あとで見直してみたら/usr/lib/cgi-bin/に入っていた気配)。
アンインストールしてやり直すことにする。

なお、参考サイトは↓、とても充実。
http://cyberam.dip.jp/linux_server/log/awstats60_main.html

手順ログ。
1. perlのバージョンをチェック - 5.8.3 OK
2. httpd.confのログ記録方式をチェック - combined で変更の必要なし。
3. AWStats6.2 stableをダウンしてtar -xvzfで展開。
4. 解凍したディレクトリのwwwroot/cgi-bin中のファイルをawstats.model.confを除いて設置箇所に転送。
5. mkdir /etc/awstatsして、wwwroot/cbi-bin中のawstats.model.confを/etc/awstatsに転送
6. mv /etc/awstats/awstats.model.conf awstats.conf.org
7. cp awstats.conf.org awstats.conf
8. awstats.conf書き換え

51c51
< LogFile="/var/log/httpd/mylog.log"
> LogFile="/var/log/apache/access.log"

147c147
< SiteDomain=""
> SiteDomain="dt8.jp"

197c197
< DirData="."
> DirData="/var/www/cgi-bin/awstats/awstats_db"

206c206
< DirCgi="/cgi-bin"
> DirCgi="/cgi-bin/awstats"

216c216
< DirIcons="/icon"
> DirIcons="/cgi-bin/awstats/icon"

455c455
< SkipHosts=""
> SkipHosts="REGEX[^192\.168\.]"

862c862
< Lang="auto"
> Lang="jp"

9. 解凍したディレクトリのwwwroot/iconディレクトリを設置箇所に転送。
10. 設置箇所のディレクトリに任意名のdbディレクトリ(awstats_dbとした)を作成。
11. cron設定で、cron.houlyディレクトリにawstatsの更新スクリプトを書いて設置。

なお、cron.hourlyが無かったのでmkdir /etc/cron.houlyして、/etc/crontabに

01 * * * * root test -e /usr/sbin/anacron || run-parts --report /etc/cro
n.hourly

を追加。本当はこのままだとログのローテートに引っかかって記録されないログが出てきてしまうが、まあ今回はこれで良しとしておく。

静的なリンクのみでファイルを吐く方法もあると思うのだが調べていない。その場合、awstats.plはwwwエリアから隠せる。こんなんで、セキュリティ大丈夫だろうか……

それにしてもconfigがでかい。このサイズだと私のemacsの腕では編集が大変である。guiっぽい管理ツールの導入をそろそろ考えた方が良いのだろうか。むーん。

2004/12/17(金)perlの処置

2004/12/17 14:00 PC(Linux)
per.5.8を入れた理由を思い出した。どうやらmysql関係のlibが5.8じゃないと動かなかったらしい。
さて、
・5.8系と5.6系はバイナリ非互換とかなんかそんな話。
・debianのstableはほとんどが5.6系依存で固められている。
・が、5.8でないと動かないソフトもある。(mysql関係等)
・個別コンパイルすれば、5.8系でまとめることは可能。

という線らしい。しかしなんかやだなあ。PHPじゃあるまいし……

とりあえず、よくよく考えてみたらmod_perlを入れる意味というかmod_perlちゃんと動く気がしないので止めて、見なかったことにした。今のうちのサイトで動いてるCGIはグローバル変数の初期化・お掃除をちゃんとやってる気がしない。dirtyなCGIをぽこぽこ実験するサイトなのだから、mod_perlで動かないのが出てくると切り分けがややこしいしストレスチックになる。かといって、拡張子変えたりLocation切り分けで棲み分けるのもなんだかばかばかしい。

とりあえず、このままほっておいてパッケージで入るものだけで頑張ろう。どうしてもmakeしなきゃいけないものはやるにしてもね。

2004/12/16(木)apache死亡事件顛末 in perl5.8 <-> perl5.6.1

2004/12/16 17:00 PC(Linux)
apacheを殺してしまった問題。

一番最悪の殺人方法で、apacheのパッケージを削除してしまった。

原因。なぜ入れたのかは覚えていないが、現在インストールされているのがperl-5.8(unstable)。で、perl-5.6系でないと動かないパッケージを入れようとしたところ、dselectの依存解決に任せていたら、↓こんなことになった。

The following packages will be REMOVED:
aalib1 abiword abiword-common abiword-gtk abiword-plugins apache
apache-common apache-dev apache-utils apel ark asiya24-vfont autoconf
automake css-mode defoma docbook docbook-xml dpkg-dev emacs21 fontconfig
gconf gdk-imlib1 gdm gnome-s gnome-bin gnome-common gnome-core
gnome-libs-data gnome-panel gnome-panel-data gnome-session gnome-terminal
gnome-users-guide gs gs-common gsfonts gsfonts-x11 html-helper-mode
imagemagick imlib-base imlib1 jdk1.1 jvim-canna kab kaffe-pthreads karm kate
kcalc kcharselect kchart kcoloredit kcron kde kdebase kdebase-audiolibs
kdebase-libs kdelibs3 kdelibs3-bin kdepasswd kdepim-libs kdf kdict kdm kedit
kfind kformula kfract kghostview khexedit kiconedit kinput2-canna-wnn kit
kivio kjots kmail knewsticker knode knotes koffice koffice-libs konqueror
konsole kontour korganizer korn koshell kpackage kpaint kpm kpresenter
kruler kscreensaver ksirc ksnapshot kspread ksysv kterm ktimer kugar kuser
kview kword lbxproxy libapache-mod-ruby libarts libdbd-mysql-perl
libdbi-perl libfontconfig1 libgconf11 libgdk-pixbuf-gnome2 libgdk-pixbuf2
libgimp1.2 libglade-gnome0 libglade0 libgnome-vfs-common libgnome-vfs0
libgnome32 libgnomeprint-bin libgnomeprint-data libgnomeprint15
libgnomesupport0 libgnomeui32 libgnorba27 libgtk1.2 libgtkxmhtml1
libimage-size-perl libkdenetwork1 libkmid libkonq3 libmagick5
libnet-daemon-perl libplrpc-perl libqt2 libungif4g libwmf0.2-2 libxaw7
libxft1 libxft2 mc-common mew mozilla mozilla-browser mozilla-mailnews
mozilla-psm mysql-client mysql-server nessus openssl perl perl-modules php4
php4-dev php4-mysql proftpd proftpd-common proxymngr psfontmgr rep-gtk rpm
sawfish scrollkeeper secpolicy sgml-base sgml-data skk skkinput
ttf-xtt-wadalab-gothic ttf-xtt-watanabe-mincho twm vflib2 watanabe-vfont
x-ttcidfont-conf x-window-system x-window-system-core xaw3dg xbase-clients
xdm xemacs21 xemacs21-basesupport xemacs21-bin xemacs21-mule
xemacs21-support xfonts-abi xfwp xlib6g xlibs xnest xterm yc-el

どうもperl(perl-5.8)を削除しようとしたらしい。慌てて止めたが、後の祭り。消えた可能性があるのを全て確認し、入れ直した。もしかすると、動いてないdaemonがあるかもしれない他、apache上でのperl-CGIの実行速度が落ちた気がする。

実行速度が落ちたことに関して考え得る原因:
1.apacheのパッケージが狂った
2.perlのパッケージが狂った
3.apacheでmod_perl,speedycgiかなんかが動いていた

1. 2.は分からないのでとりあえずおいておくとして、3に関してはmod_perl.soやspeedyCGIが入っていた形跡がないので、可能性としてはmod_pelのapacheへの静的コンパイル。記憶あやふや。

とりあえず、トップページのカウンターを入れ替えてごまかす。
e-counterだとcgiを5回呼び出すことになるので、夢カウンターに。……これで前の実行速度の感覚に近づくってことはやっぱりmod_perlがくさいのだがどうだろう。

perl 5.6への巻き戻し方法はよくわからない。日本語ソースもないが、英語ソースもどうも?

2004/10/26(火)csc日本語環境整備

2004/10/26 16:00 PC(Linux)
csc環境での日本語環境整備、不備の手直し。

まず、やっぱりというかメインをLANG=Cにして、アプリごとに切り替えるなんてのはだめだった。netscapeはLANG=jaでないと意地でも日本語入力窓が開きやがりません。勿論表示もおかしい。

[fail]
.cshrcの
LANG C

LANG ja
に修正して…… 失敗。
しまった、.tcshrcがあればそっちを見るのだった。

[success]
.tcshrcの
LANG C

LANG ja
kinput2 &
に修正。

この間、.Xresouces辺りまで含めてあちこち書き換えてしまったほか、~/lib,~/manを消したらemacsがsegmentation faultで立ち上がらなくなったりとか。

emacs問題は、結局LANGが原因の頻出でjaにすると大丈夫でした。なんかユーザ辞書消しちゃって作れなくて怒られてるという話なのかな…… しかしLANG環境が変わるとsfするなんて、やっぱりunixに一般ユーザが乗り換えるの無理なんじゃなーいの!?

2004/10/26(火)tgif format(.obj) -&gt; eps

2004/10/26 16:00 PC(Linux)
拡張子が.objであるtgifフォーマットから、ghostview等で見られる.epsへの変換方法。

tgifがある環境で、コマンドラインから

$ tgif -print -eps *.obj

で一括変換可能。

しかし、tgifはwindows版無いのな。そろそろcygwin包囲網が狭まっている予感。

2004/09/27(月)WinSCP -&gt; CSC(Solaris)

2004/09/27 16:00 PC(Linux)
WinSCPでCSCに入ると、ファイルリストの取得に失敗する問題。

"ディレクトリのリストに不正な行"と言われてしまう。
原因に関してはここを参照。
http://www.tab2.jp/~winscp/requirements.html

上記サイトと見比べながら"ls -al"をあちこちで打ってみて判明。cscではグループがリストされない。グループがないとWinSCPはパースに失敗し、上記のエラーメッセージを出す。

さて、原因はわかったのだが、対処方法にいまいち納得がいかない。WinSCPはこの事態を想定したオプションを備えているようなのだが……

ログイン設定の、環境-SCP-その他のオプション-LSにグループ名を追加、がまさにこれに該当するはずなのだがやったところでうんともすんとも。

そんなわけで以下のようにした。

1.ログイン側の.cshrcに
alias ls 'ls -g'
を追加。

2.ログイン設定の、環境-SCP-その他のオプション-エイリアスのクリアのチェックを外す。

3.ログイン設定の、環境-SCP-シェルの入力で、
/bin/csh
とする。

これで一応動く。なんか変だ。

2004/08/24(火)備忘メモ

2004/08/24 7:00 PC(Linux)
ど忘れ防止のメモです。
[Linux]
Ctrl+Z での中断プロセスは、fg/bgで再開。
kill -9 id で超強制終了。-HUPって互換あるんだっけ?
[emacs編]
・バッファ窓
C-x 1 1つに
C-x 2 2つに
C-x o 窓移動
C-x b 表示切り替え

・検索
C-s/C-r 前方・後方

・編集
C-Space マーク開始
C-W カット
C-Y ペースト
C-k 1行カット
Esc C コピー(いくらなんでもEsc Cは…… 割り当て直した方が良い気がする)

・Undo/取消
C-x u Undo(今回C-zに割り当てました。2動作はどうよ?)
C-g Cancel(意外とよく忘れる)
DynamicMacroとか便利そうなのは分かるんだけど、キー体系が複雑になると恒常的に使い続けない限り忘れ去っていくに決まっているのさ。Windowsじゃもう、Sakuraで決定してるからどうにもね。

2004/08/24(火).emacsいじったが……

2004/08/24 6:00 PC(Linux)
emacsがあまりに使いにくいままだったので、色々いじってみようと思い立つ。
があああああ、一部ギブアップ。
以下 .emacsへの追加部分。
;;選択範囲の表示
(transient-mark-mode t)

;;UndoをCtrl+Zで
(global-set-key "\C-z" 'undo)

;;全域選択をCtrl+Aで
(global-set-key "\C-a" 'mark-whole-buffer)

;;Home/Endはファイルの最初/最後
(global-set-key "\e[1~" 'beginning-of-buffer)
(global-set-key "\e[4~" 'end-of-buffer)

;;時間表示
(display-time)

;;桁表示
(column-number-mode 1)

;; show-paren
(show-paren-mode t)
(setq show-paren-style 'mixed)
(set-face-background 'show-paren-match-face "gray10")
(set-face-foreground 'show-paren-match-face "SkyBlue")
基本的にはWindowsライクになるようにした。
show-parenはかっこの対応関係を見やすくするもの。

さらに、html-helper-modeをdselectでインストールしておいた。

敗北したのは[Ctrl + Home/End] や[Ctrl + ↓]に割り当てが出来なかった点。探しても情報が出てこないし(googleで探しにくいのは分かってもらえると思う)、自分でも考えられる限り試してみたがダメだった。エラーか認識してくれないか、どちらか。

設定にもあるが、Putty + xtermでは home -> \e[1 , end -> \e[4 となる。ここら辺に秘密がありそうだが…… 攻め方としては、

emacsに端末設定を割り当てる方法がある?
端末の文字認識自体をいじる?
.emacsに書く方法が何かしらある?

、のいずれかだろう。xtermのバージョンが古いのではないかという節もある。

調べている途中でadd-hook 'term-setup-hookなんてのを見つけたが、効果無しである。

emacsについては一度総ざらいしなければならないのだろう、もううんざりだが。
OK キャンセル 確認 その他