このページではいつもはまってしまう設定などについてメモしたページです。大した内容ではありませんが、忘れやすいことがらを中心にまとめています。
CGIが動かない!
CGIが動かないことはよくある話で(プロはそんなことはない!)、ネット上からサンプルを持ってきたとき、環境設定が異なるためすんなり動かない。いろいろなケースがあると思うので、順だって解説したい。
Forbiddenと表示される

サーバによって若干表示がことなるが、”You don’t have permision to access~”つまりアクセス権がありませんということだ。初期設定ではファイルの持ち主しか実行できないのでchmodコマンドでアクセス権を変えてやる(ただし、慎重にやらないとセキュリティが失われます)。
Internal Server Errorと表示される

- Perlへのパスは合っているか?:cgiソースの一番最初に記述するPerlへのフルパス。環境によってことなる。Linuxでも#!/usr/bin/perl であったり#!/usr/local/bin/perlであったり、windowsであれば#!c:/perl/bin/perlであったりする。自分の環境に合わせること。Linuxであれば、wheris perlでどこにperlがインストールされているか分かります。
- OS毎に文字コードが異なっているのはこ存知だと思うが、一般的にhtmlではShift-JISが多い。これはWindowsがそうだから。UNIX系はEUC-JP。さらにUNIXとWindowsでは改行コードも違う。だからWindowsで作成したCGIスクリプトをUNIX系サーバで動作させる場合は改行コードを変更しないとエラーを吐いてしまう。HTMLファイルはどの改行コードであってもブラウザが適切に処理してくれるらしい。で、Windowsで作成したCGIスクリプトをUNIXで使おうと思えば、文字コードと改行コードを変換するnkfコマンドを使う。nkfコマンドはいろいろオプションがあるので便利。nkfで変換した後はアクセス権の再設定が必要なので要注意!
nkf -e -Lu 変換ファイル名 > 変換後のファイル名
xmmsのタイトルが文字化けする
私の必須ソフト”xmms”であるが、日本語タイトルが文字化けする。昔のバージョンだとインストールした状態でもOKだったのだが、最近のバージョンは訳の分からない文字になる。調べてみると、TurboLinuxのページ(現在はサイト閉鎖)に解説があるので参考に。ただし、入力プラグイン(xmms-mpg123)がインストールされていない場合は、入出力プラグインで選択できないのでインストールしないといけない。
sambaで接続されているwindowsのフォルダをLinuxに接続する
WindowsからLinuxのフォルダにアクセスする方法はいろいろ紹介されているが、sambaを使ってLinuxをMicrosoftネットワークに入れてやること。逆にLinuxからWindowsへアクセスしたいときもあるだろう。sambaでネットワークが共有できるなら、mountコマンドで共有できる。
mount -t smbfs -o username=hogehoge,password=naninani,codepage=cp932,iocharset=euc-jp //win2000/test /mnt/test
上文はwin2000というマシンのtestというフォルダをLinux上の/mnt/testにマウントするという意味。途中文字コードの設定があるが、このようにしておけば、windows上で漢字を使っていてもLinux上で文字化けをしないで表示させることができる。パスワードはwindows側のパスワードだが、コマンドにパスワードを書くのもどうかと思うので(当然***化はされない)、省略すれば、コマンドを実行したあとにパスワードを聞かれる。そのときは画面に表示されない。