• 締切済み

DBMのパス設定の仕方について教えて下さい。

こんにちわ。DBMを初めて練習してみたいと思っています。既成のcgiサンプルをサーバの画面でテストしてみたいのですが、htmlのフォームで呼ばれているcgiが認識されませんでした。中を見てみるとモジュールなど必要なものがあるのでそれは揃えました、それではだめでした。多分$DataLoc = './etc'; $Database = $DataLoc.'/db';ここの部分が文の最初の方に出てくるのですがこの設定が間違っていたのだと思いました。DBMファイルの設定について教えて下さい。よろしくお願いします。

  • Perl
  • 回答数1
  • ありがとう数1

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

dbmopen/tieの引数で指定されているファイル及び親ディレクトリのパーミッションが適切であるか確認してみては。 CGI経由ですと、どういったエラーが発生しているのか確認できない事もありますので、手元のPCにperl処理系をインストールして、簡単なスクリプトを手元でテストできるような環境を作っておいたほうが良いと思います。 CGIやPerlに慣れてるなら問題ないですが。

windws
質問者

お礼

有難うございます。パーミッションの部分を書き換えてみたらできました。気がつかなかった事を教えて頂き助かりました。有難うございました。

関連するQ&A

  • DBMについて教えてください

    最近切り替えたレンタルサーバーのサポートページで始めてDBMという言葉を知りました。 簡易的なデータベースライブラリ(そもそも、このライブラリという意味もよく・・)なのかな?となんとなく想像してるのですが、実際にどれくらいの規模のものなのか、まったく手がかりがつかめないでいます。 いろいろ検索してまわったのですが、実用するにはどうすればいい、そもそもこういうものである、などの入門の入門的なドキュメントは発見できずじまいでした。 これをうまくcgiで使うと、もしかして、データの管理(例えば、投稿してもらった小説などでも)が凄く簡潔になるのでは!?未知の世界が待っているのでは!?と実体を知らないだけに、どんどん幸せな事ばかり想像してしまっています。。(^^; どうか、DBMについてわかりやすいご説明(もしくは参考になるサイト)、こんな事ができるよ、など教えていただけないでしょうか! もう、気になって気になって・・・ よろしくお願いします。 補足: 現在のわたしの知識は、 .linux→MACにインストールしてちらっと触った程度  ・Perl→既存の掲示板などのcgiに機能をちょっとカスタマイズする程度 です。 レンタルサーバーのHPには、DBMはGDBM_File・DB_File・ SDBM_File・NDBM_Fileのどれかを使ってください、といった内容がかかれていました。

    • ベストアンサー
    • CGI
  • PATH を返してくれるような SQL 文の書き方について

    DBサーバ+APサーバの構成です。 APサーバで動くプログラムより SQL 文を発行して、 SQLServer2005 のデータを取得できる環境にあります。 やりたいことは、BACKUP DATABASE 文を、APサーバのプログラム から発行し、DBサーバ上にバックアップデータを保存することです。 DBサーバのフォルダ構成が環境によってまちまちなので、 SQL文を投げて、DBサーバのフォルダを取得したいのですが、 SQLServer のシステムテーブルなどに格納されていたりは しないでしょうか。 表領域のフルパス名、SQLServer インストールフォルダなどを 取得できる方法があれば教えてください。 宜しくお願いします。

  • qmailの設定について

    qmailを現在稼動しているサーバ(以降Aサーバとします)から 新規で構築するサーバ(Bサーバ)に移設したいと考えております。 ただ、メールサーバの知識がなく ネット上での情報で構築しております。 BサーバはAサーバと同様の設定を望まれているため 設定ファイルを比較しながら作っているのですが ある部分で躓きました。 サイトは以下のサイトを見ながらやっています。 http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01c.html ある部分というのは、上記サイトの ■tcpserverのインストールとcdbの作成 の、/etc/tcp.smtp を作成する箇所なのですが Aサーバと同様の設定を行いたいため、tcp.smtp.dbをつくるための /etc/tcp.smtp を元のサーバから探しているのですが なぜか存在しないため(過去にだれかが消してしまったのか・・・) 情報を取得できず困っております。 そこで、質問なのですが tcp.smtp.db から/etc/tcp.smtpで記載した情報が確認できますでしょうか? または、どこかのファイルをみればこの設定がわかったりするのでしょうか? それと、上記とは異なるのですが 現在上記サイトの「■tcpserverのインストールとcdbの作成」まで 構築ができている場合のテストなのですが テスト内容がいまいちよくわかりません。 DNSは登録していないのでローカル内でのテストになるのですが とりあえず、aaaというユーザがいるため (テスト送信) /var/qmail/bin/qmail-inject to:aaa this is test ctrl + d すると、aaaのMaildirのnewにメールが入っておりました。 これはあくまで送信テストとなり、受信ができたというわけではないのでしょうか? 受信テストは別に外部からメール(aaa@ドメイン)を送り、Bサーバのaaaのnewに入っていれば できましたということになるという認識でよいでしょうか? もし、外部からということであればDDNSに登録をしないとできないということですよね? 現在、Aサーバ向けにDNSは設定されているため、A・Bは同じドメインになるのですが DNSの情報をAからBサーバに変えたときに(AからBサーバへipアドレスの書き換え)に テストをするという方法しかないのでしょうか・・・ なんかそれもおかしいような、ローカルできそうな気はしますが・・・ それとちなみにテストをするならpostfixでも同じ方法でしょうか? 長文で申し訳ございませんがわかる方ご解答をお願いいたします。 あまりこういったコンピュータ関係は詳しくないため、わかりやすくご説明頂けますと助かります。

  • Berkeley DB 1.85 -> GNU dbm への変換ツールは?

    Berkeley DB 1.85 (x86 native-endian) ファイル hoge.db -> GNU dbm ファイル hoge.gdb への変換を行うツールはありますでしょうか。 借りていたサーバで動かしていた掲示板に Ruby で書かれた CGI RuBBS を使っていま{した,す}。 # 配布元 # http://www.spc.gr.jp/bbs/RuBBS.html # 現在、アーカイブから配布とのこと ハードウェア故障に伴い環境移行しようとしたのですが、RuBBS のデータベース管理ルーチンは変わっていないものの、OpenBSD で動いていた Ruby ランタイムが Berkeley DB 1.85 を使っていた(とりあえず file コマンドはそう告げています)らしく、Debian Linux 上で動かすと過去記事が読めません。 libdb.a のインストールからスタート、は避けたいです。何とかしてツールによる形式の変換で免れたいと願っています。

  • 環境変数Pathの設定について教えてください。

    私、Microsoft Visual C++2010 Express を使用し勉強しているビギナーです。 文字数に制約があるとおもいますので、要点だけ記します。 コマンドプロンプトを操作する過程で、「〇〇〇は内部コマンド、操作可能なプログラム又はバッチファイルに認識されていません」メッセージがあり、各サイトを検索したところ、「環境変数 Path」を追記設定しなければならないという事が解りましたが、初めてなものですから、どの様に追記するのかが解りません、具体的にご教授頂ければと思い投稿しました。 ディレクトリの過程は、C:\User\YUZO>Documents>Visual Studio 2010> Projects>Sample>Sample>となっていまして最後のSample>の中に、System1.cppというファイルを作成しています。同様にSampleとは別のプロジェクトに、C:\User\YUZO>---中略---Projects>Test>Test>の中に、Main1.cppというファイルを作成しており、両方共、上記のメッセージが表示されます。 「環境設定」を開くとデフォルトでPathは、全部表示させたところ、次の様になっていました。「Microsoft SQL Server\100\Tool\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\」ここに私の場合どの様に追記すれば良いのか、具体的に教えて下さい。説明に不備があるとは思いますが宜しくお願い致します。 OS---Windows7

  • sendmail

    フォームメールのcgiを自宅サーバーで作成しようと して、サンプルのcgiを実行しようとおもったのですが、sendmailのパスを設定してくださいとあるのですがsendmailがどこにもありません。どこから入手すればよいのですか?サーバーはwindowsです。 サンプルcgiは、10日でおぼえるPerl/CGIの第5日4時限目のとこです。 よろしくお願いします。 当方はperl初心者です。

    • ベストアンサー
    • Perl
  • インターネット上のどこかにフリーでアクセスできるデータベースはありませんか?

    プログラムのテストを行いたいのですが、インターネット上でフリーで公開されているデータベースはありませんか? 欲しいのはSQL-Server, Oracle等です。 こんな情報で接続できたらと思います。 machine: oracle.database.net ID: dba PW: dba DB: sample

  • 組み込まれていないモジュールについて

    レンタルサーバを使って、PrelによるCGIを作っています。 サンプルのCGIを動作させようと思ったのですが、必要なモジュールがあり、契約しているサーバではそれらが組み込まれていませんでした。 こういう場合、自分で同様の処理をするCGIを作って動作させるしかないのでしょうか? ちなみに、そのレンタルサーバはモジュールの組み込みはやってくれないそうです(当然ですが・・・)。

    • ベストアンサー
    • Perl
  • HPにCGIメールフォームの設定について見たのですが・・・

    HPにCGIメールフォームの設定について見たのですが・・・ OCNのPageOnにてフォームCGIメールが掲載されてたのでファイルをコピーし設定しサーバーに転送したのですが動作しません。 CGIの設定仕方やどのようにすればよいのか教えてください。

  • Return-Path のデフォルト設定はどこですか?

    Vine Linuxの自宅サーバでCGIやPHPのメール自動送信スクリプト(メールフォームやメルマガやブログのコメントなどなど・・・)で、Return-Pathを設定しないで送信すると、なぜかReturn-Pathがrootならまだ良いのですがそのスクリプトとは全く関係ない普通のユーザーのメールアドレスが設定されてしまいます・・・ちなみに普通のユーザーは自分1人だけなので自分のプライベートアドレスなわけですが・・・ もちろんスクリプトを使用しない通常のメール送信のReturn-Pathは全く問題なくFromのアドレスが適用されます。 CGIのスクリプトの中をのぞいてsendmailの送信部分にオプション -f でReturn-Pathアドレスを指定すれば問題なかったのですが、他にも色々メール送信部分があるのですべて直すのは難しく根本的なところを直したいのですが、どこにReturn-Path のデフォルト設定(指定しない場合の設定)はあるのでしょうか?・・・こんな設定をした記憶はないのですが・・・せめてプライベートアドレス以外にしたいのですが・・・・ サーバのメールソフトは送信サーバにPostfix SMTP-AUTH、 受信サーバにcourier-imapを使用していますが、CGI でのメール送信はPostfix互換?のsendmailで行っています。 以上よろしくお願いします。

専門家に質問してみよう