ApacheのCGIでソースが表示される場合の対処

December 15,2016 12:03 AM
Category:[Apache]
Tag:[Apache]
Permalink

ApacheのCGIでソースが表示される場合の対処を紹介します。

1.問題点

Linux(CentOS)にtar.gzからインストールしたApacheでCGIを動かそうとしたのですが、CGIのソースがそのままブラウザに表示されてしまいます。

httpd.confは下記のように設定済みです。

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

2.原因

原因は、CGI用のモジュールがロードされていなかったためです。

CGI用のモジュールがロードされているかどうかは下記のコマンドで確認できます。

[root@file bin]# ./apachectl -M|grep cgi
 cgid_module (shared)

「apachectl -M」は、ロードされたモジュールの一覧を表示するコマンドです。

何も表示されない場合、CGI用のモジュールがロードされていないので、次項の手順でロードします。

3.対処

CGI用のモジュールをロードするには、httpd.confの、

#LoadModule cgid_module modules/mod_cgid.so

LoadModule cgid_module modules/mod_cgid.so

に変更して、Apacheを再起動します。

# /usr/local/apache2/bin/apachectl restart

これでCGIが起動するようになりました。

4.その他

過去の情報では、

LoadModule cgi_module modules/mod_cgi.so

を設定するようになっていますが、Apacheの2.4系からworker(event) + mod_cgidのモデルが推奨されているようです。

ちなみに、インストールディレクトリでモジュールが配置されている/usr/local/apache2/modulesにもmod_cgid.soしかなく、mod_cgi.soはありませんでした。

5.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Linuxにtreeをインストールする方法

December 8,2016 12:33 AM
Category:[Linux]
Tag:[Linux]
Permalink

Linuxにtreeをインストールする方法を紹介します。

1.はじめに

treeはディレクトリ配下のファイルやディレクトリをツリー状に表示してくれるコマンドです。

が、先日インスト―ルしたCentOSにはtreeが入っていません。

ということで、Linuxにtreeをインストールする方法を紹介します。

2.treeをインストールする

yumが使える環境であれば、

# yum install tree

でインストールできます。

yumが使えない場合、インストールパッケージは下記にあります。

http://rpm.pbone.net/index.php3?stat=3&search=tree&srodzaj=3

にあります。

正常にダウンロードできない場合は、リンクの「ftp://」を「http://」に書き換えて実行してみてください。

ダウンロードしたパッケージを任意のディレクトリにアップロードして、rpmコマンドを実行すればインストールできます。

# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:tree-1.6.0-10.el7                ################################# [100%]

3.罫線が文字化けする場合の対処

インストール後、実行してみましたが、下記のように罫線が文字化けする事象に遭遇。

# tree
tqq hoge
x?? mqq test
x??     tqq aaa.h
x??     tqq aaa.cc

対処方法として、treeコマンドに「--charset=C」を付与します。

# tree --charset=C
|-- hoge
|   `-- test
|       |-- aaa.h
|       |-- aaa.cc
Comments [0] | Trackbacks [0]

MTテンプレートタグのブラケットを書き換える「MTTagBracketChangerプラグイン」

December 4,2016 12:55 AM
Category:[テンプレートタグ]
Tag:[MovableType, MTTagBracketChanger, Plugin]
Permalink

MTテンプレートタグのブラケットを書き換える「MTTagBracketChangerプラグイン」を公開します。

これは Movable Type Advent Calendar 2016 4日目の記事です。

1.はじめに

Movable Typeのテンプレートタグは、

<mt:Entries>
  <mt:EntryTitle>
</mt:Entries>

という風に、各タグの前後は"<"と">"、いわゆるブラケット(厳密にはアングルブラケット)で括るようになっています。

このブラケットを「別の文字に書き換えられないだろうか?」というくだらないことを、MTを始めた頃に考えたりしたのですが、当時はPerlもろくに読めずに挫折しました。

それから年月も経ってふとそのことを思い出し、今回作ってみました。

何の役にも立ちませんが、

[mt:Entries]
  [mt:EntryTitle]
[/mt:Entries]

などのフォーマットで動作するので、5分くらいは楽しめると思います。

下記のようなフォーマットもできそうですが面倒なのでやめました。

<?php mt:Entries?>
  <?php mt:EntryTitle?>
<?php /mt:Entries?>

2.プラグインのダウンロード・インストール

下記のリンクをクリックして、MTTagBracketChangerのプラグインアーカイブをダウンロードします。

MTTagBracketChanger_0_01.zip

プラグインアーカイブを展開し、pluginsフォルダにあるMTTagBracketChangerフォルダをMovable Typeのアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で「MTTagBracketChanger~」が表示されればインストール完了です。

プラグイン設定画面

3.使い方

システム管理画面のプラグイン設定画面で「MTTagBracketChanger~」→「設定」をクリックし、「開始文字」と「終了文字」を設定します。デフォルト状態は何も設定されていません。

設定後、テンプレートタグのブラケットを書き換えてみてください。正規表現で使われる文字を設定する場合は必ずエスケープしてください。

プラグイン設定画面

4.注意事項

全ての動作を確認していないので不具合がありましたらご了承ください。

また、プラグインはテンプレートタグ処理のメイン部分に手をいれているため、設定した文字によっては管理画面(=テンプレートタグを使っている)が正常に表示されなくなる可能性があります。

管理画面が正常に表示されなくなった場合、プラグインを削除すれば元に戻ります。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages