質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

5回答

8911閲覧

WEBページが表示されたらシェルスクリプト実行

1nakaji

総合スコア187

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/10/17 13:08

編集2016/10/17 15:18

LinuxなどでWEBページが表示される度に、
シェルスクリプトを実行するということはできるのでしょうか?

Apache2.4を使っています。

#!/bin/sh test=`date +%Y%m%d_%H-%M-%S`; echo '' > conf/autoset_html.d echo '#書き換え設定' >> conf/autoset_html.d echo '<IfModule mod_ext_filter.c>' >> conf/autoset_html.d echo ' ExtFilterDefine overwritetext mode=output intype=text/html ''\' >> conf/autoset_html.d echo ' cmd="/bin/sed '\''s|</body>|'${test}'</body>|'\''"' >> conf/autoset_html.d echo ' <FilesMatch "\.(html|php)$">' >> conf/autoset_html.d echo ' SetOutputFilter overwritetext' >> conf/autoset_html.d echo ' </FilesMatch>' >> conf/autoset_html.d echo '</IfModule>' >> conf/autoset_html.d echo '' >> conf/autoset_html.d echo '#対象ディレクトリ' >> conf/autoset_html.d echo '<Location /home>' >> conf/autoset_html.d echo ' SetOutputFilter overwritetext' >> conf/autoset_html.d echo '</Location>' >> conf/autoset_html.d service httpd graceful

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2016/10/17 15:15

シェルスクリプトを実行したい目的は何でしょうか?
1nakaji

2016/10/17 15:19

mod_ext_filterで使うための設定ファイルを作成するためのシェルスクリプトです。ドキュメントルート以下のウェブページが表示される度にシェルスクリプトが実行され、その都度違う内容を任意のウェブページに出力したいです。
guest

回答5

0

目的が不明ですが、コメントの内容から、判断して回答します。

Apache から、コンテンツファイルには手を加えずに外部コマンドを呼び出して、結果をWebブラウザに表示したいということであれば、mod_ext_filter を使うのが、比較的簡単でしょうか。

http://httpd.apache.org/docs/current/mod/mod_ext_filter.html

投稿2016/10/17 15:28

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1nakaji

2016/10/17 15:33

回答ありがとうございます。mod_ext_filterで表示する内容をアクセスのたびに変更したいんです。mod_ext_filterで表示する内容を変更するためのシェルスクリプトですね。
guest

0

CGIで実現もできますが、色々とリスクが発生します。

同じようなことをするなら、特定のログパターンを検知してコマンドを実行する。
「Swatch」を利用するという案もあります。

http://success.tracpath.com/blog/2014/02/19/swatch%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%AD%E3%82%B0%E7%9B%A3%E8%A6%96%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99/

投稿2016/10/17 13:52

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1nakaji

2016/10/17 15:11

swatchでログを監視してアクセスを検知してコマンドを実行、Webページにその実行内容を反映ということもできるのでしょうか>
nagaetty

2016/10/17 15:17

ログの検知があるのでリアルタイムにWebページに直接反映することは難しいかと思います。
1nakaji

2016/10/17 15:20

ご連絡ありがとうございます。そうですか。そうなるとswatchという選択も難しいですね。
guest

0

phpなら"shell_exec"、perlならsystemでシェルスクリプトを実行できます。
なんでしたらcgiをシェルスクリプトで書くことも可能です。

投稿2016/10/17 13:15

ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1nakaji

2016/10/17 15:10

これをwebページが表示されるタイミングで実行するというところが分からないです。トリガーといえばいいんでしょうか。表示するWEBページはあくまでユーザーが自由に記述したHTMLと思っていただければ。
guest

0

可能です。

以下のページが参考になるのではないでしょうか。
開眼☆シェルスクリプト CGIスクリプトを作る(1)―Webサーバへのデータは標準出力で渡す

投稿2016/10/17 13:15

編集2016/10/17 13:16
carimatics

総合スコア740

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

可能です。

ページをPHPやcgiで作成し、その中でシェルスクリプトを実行されてはいかがでしょうか?

投稿2016/10/17 13:15

AKST

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1nakaji

2016/10/17 15:08

ありがとうございます。ページの中にスクリプトは入れられないので、あくまでapacheなどの設定で実行したいです。
AKST

2016/10/17 16:17

HTMLはユーザーに自由にさせたいのであれば、Apacheのモジュールを作成してそれに処理させる方法はいかがでしょうか? ある程度プログラミングの知識は必要になってしまいますが、「Apacheモジュール開発」等で検索すれば、情報は色々と見つかるかと思います。
1nakaji

2016/10/17 16:27

なるほど、Apacheのモジュール開発というのは良さそうですね。一度試してみます。
1nakaji

2016/10/17 18:06

Apacheモジュール開発を試してみました。これが一番自由度もありそうですし良さそうです。いい情報をありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問