【過去ネタ】ちょこっとメモ

このページではいつもはまってしまう設定などについてメモしたページです。大した内容ではありませんが、忘れやすいことがらを中心にまとめています。

CGIが動かない!

CGIが動かないことはよくある話で(プロはそんなことはない!)、ネット上からサンプルを持ってきたとき、環境設定が異なるためすんなり動かない。いろいろなケースがあると思うので、順だって解説したい。

Forbiddenと表示される

ブラウザで表示される”Forbidden”

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

Internal Server Errorと表示される

ブラウザで表示される”Internal Server Error”
  1. Perlへのパスは合っているか?:cgiソースの一番最初に記述するPerlへのフルパス。環境によってことなる。Linuxでも#!/usr/bin/perl であったり#!/usr/local/bin/perlであったり、windowsであれば#!c:/perl/bin/perlであったりする。自分の環境に合わせること。Linuxであれば、wheris perlでどこにperlがインストールされているか分かります。
  2. 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側のパスワードだが、コマンドにパスワードを書くのもどうかと思うので(当然***化はされない)、省略すれば、コマンドを実行したあとにパスワードを聞かれる。そのときは画面に表示されない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.