• ベストアンサー

Webからshファイルの起動はできますか?

Linux上で動いているWebサーバー(apache)から、 スクリプト(shファイル)の起動は可能でしょうか? Web画面でボタンを押すとLinuxのスクリプトが動く仕組を 作りたいのですが。ソースの記述方法を教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

CGIモジュールを組み込めば可能です。 CGIはPerlで書かれることが多いですが、Cやシェルスクリプトでも作成することが可能です。 CGIの中身をシェルスクリプトで記述し、結果として適切なレスポンスを返すようにすればよいでしょう。 sample.cgi : #!/bin/sh echo "Content-Type: text/html; charset=Windows-31J" echo "" echo "<HTML>" echo "<HEAD>" echo " <TITLE>サンプル</TITLE>" echo "</HEAD>" echo "<BODY>" echo " <P>本文</P>" echo "</BODY>" echo "</HTML>" exit 0

zerokara
質問者

お礼

有難う御座いました。助かりました。

関連するQ&A

  • Apacheを起動したい

    WebサーバをやってみたくてVine Linuxをインストールしました。 まだLANは接続していませんが、接続しないとApacheは起動できないんでしょうか? "Apache"を検索すると見つからず、"apache"ならフォルダとファイルが1つずつみつかりました。 ファイルの方は、 /bin/kill -HUP 'cat /var/run/httpd.pid 2>/dev/nul1' などと書かれていました。 Vine Linuxでたぶんapacheがインストールされたと思ったんですが、どうやったらapacheが起動できるんでしょうか?

  • Apacheの起動について・・・

    今回初めてLinuxに挑戦してます。 RedHat Linux 7.2をWebサーバのとしてインストールしました。 Apache_1.3.20も一緒にインストールされました。 今回はApache_1.3.27を使用したいので、HPよりダウンロードして、 インストールを行いました。 インストールはなんとか上手くいき起動も可能なのですが、 /sbin/chkconfig --level 35 httpd on のコマンドで自動起動にする対象のApacheは1.3.27のほうにしたいのです。 ※現状では、1.3.20のほうが上がります。 インストール済みのApache設定は、/etc/httpd/conf/ 後からインストールしたApache設定は、/usr/local/apache/conf/ のhttpd.confになるようです。 Linuxの起動時にApache_1.3.27が自動で起動されるように 設定したいのですが、どうにもわかりません。 ネットで検索して、 「自動起動するために起動スクリプトを /etc/init.d または /etc/rc.d/init.d にコピーします」 とまでは解ったのですが、ファイルをそのままコピーしていいのか、どうすればいいのか検討がつきません。 どなたか教えて下さい。

  • VB.NETからLINUXのSH起動

    お世話になります。 タイトルの通りなのですが、WindowsクライアントのVB.NETプログラムからLinuxサーバーにある shプログラムを起動したいのですが、良い方法がありましたら ご教授願えないでしょうか? VB.NETからではなく、別の方法でWindowsクライアントから LinuxサーバーのSHを動かす方法があれば合わせてお願いします。

  • sshdが自動起動するのは何故?

    Ubuntu(Linux)がよくわかっていない者です。 Ubuntu(10.04)をインストールしました。 その後に、Windows PCからリモート管理できるように、openssh-serverパッケージをインストールしました。そして、sshでリモート接続できるようになりました。 ただ、Ubuntuを起動すると何故 sshdが自動的に起動されるのかその仕組みがわかりません。 Apache HTTP Server(apache2)の場合、"sysv-rc-conf --list apache2"で確認すると、ランレベル2, 3, 4, 5がONになっていますし、/etc/rc5.d/S91apache2 等があるので自動的に起動するのは納得できました。 しかし、sshdについては /etc/rc5.d/ディレクトリなどにその起動スクリプトは見つかりませんでした。 どのような仕組みでsshdは自動起動されるのでしょうか?

  • Linuxサーバーでwebの公開。

    Linuxサーバーでアパッチのソフトを使ってwebを公開しています。 そのwebからcsvファイルをダウンロードしたいのですが、”ファイル未検出”と表示されてしまいます。アパッチにcsvファイルを認識させ、ダウンロードさせるにはどうしたら良いでしょう?教えていただけませんか?

  • Vine LinuxのFirefoxについて

    ファイル(CGI、html等)をサーバにアップロードして,http://localhost/ファイル名.htmlでHTMLを表示させて検索ボタンを押し実行を試みたのですが、検索結果画面が出ず,画面が固まったまま検索結果画面がでません。 検索スクリプトですが、外部のWebサービスAPIを呼び出して検索結果を得る単純なものです.検索ボタンを押しても初期画面で固まったまま結果画面が出ないのはどうしてでしょうか?初歩的な質問で恐縮ではございますが、ご存知な方教えて下さい。 OS:Vine Linux 4 サーバー:Apache Webプラウザ:Firefox

  • あるエクセルファイルの未読管理をWEB上で行うには?

    今、ある1つのエクセルファイルがサーバー上に 置いてあって各自、顧客からの障害や要望を そこに記述していっています。 ただ、この方法だといつ記述されたか 分からないし、どこまで誰が確認したかが さっぱり分からないのでうまくWEB上で 確認できる仕組みが欲しいのですが 市販ソフトでもフリーのCGIでも とにかくそのようなことが実現できる方法 をご存知の方教えて下さい。 できればあまり難しくない方法で。 よろしくお願いします!

    • ベストアンサー
    • HTML
  • ウェブブラウザからウェブサーバを再起動するには

    ルートでウェブサーバを再起動させるには、ルート権限で次のようにコマンドに打ち込み実行すれば大丈夫です。 # service httpd restart しかし、個人ユーザからではうまくいきません。 $ service httpd restart そこで、sudoを使って実行することにしました。(visudoで適当に編集します。) $ sudo service httpd restart ちゃんと実行できました。 しかし、ここで問題があります。ウェブブラウザからユーザ名apacheとして実行すると、ウェブサーバは停止してしまい、それから起動することはありませんでした。(もちろん、sudoできるように、visudoで適当に編集をしています。) まとめると、一般ユーザからsudoを使ってウェブサーバを再起動させられるのに、ウェブブラウザ(ユーザ名: apache)からはどうしてできないのでしょうか。そして、どのようにすればウェブブラウザからウェブサーバを再起動させられるのでしょうか。

  • 別セッションでのWebシステムの起動方法が分かりません。

    別セッションでのWebシステムの起動方法が分かりません。 現在、Webで別のWebシステムが起動するメニュー画面を作成しています。 そのメニュー画面経由でWebシステムを複数立ち上げると、セッションが共有されてしまい、別ユーザとかでログインできません。(※javascriptのwindow.openを使用しています。) 別セッションで画面を起動するのはどうすれば良いでしょうか? 【環境】 サーバOS Red Hat Linux ソフトウェア:Apache 言語:php クライアントOS:Windows XP sp3 ブラウザ:IE8 ※ 「メニュー」<-「新規セッション」やレジストリの変更など、ユーザが操作するのではなく、 プログラムで制御したいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • Webからアクセスし、画面のボタンを押すとサーバーで任意のスクリプトが起動するというようなことはできるのでしょうか。

    RHL9.0でApache2.0を使用しています。 サーバーに今test.shというシェルスクリプトがあります。これは例えばあるファイルをあるディレクトリ以下に作成してパーミッションや所有者を変更したりできるものです。 taroさんがブラウザから/cgi-bin/change.cgiというページにアクセスして、自分のアカウントをテキストボックスに入れて実行のボタンを押すと、上記のスクリプトが実行され、所有者がtaroさんになるというようなことは可能でしょうか。 要するにcgiでUNIXのコマンドやスクリプトを実行させたいと言うことなのですが。単にcgiスクリプトの中に system("/…/test.sh 引数");と書いても実行してくれませんでした。 あと、テキストボックスに入力したテキストをtest.shの引数とすることも可能でしょうか。

    • ベストアンサー
    • CGI