KUSANAGI環境でCGI(perl)を動かすφ(◎。◎‐)

遠藤博樹(NHN JAPAN株式会社)

開発者向けクラウドサービス「CloudGarage」のNHNテコラス社が、CMSを動かすためのCGI(perl)の設定手順について概説しています。通常、CMS(PHP)はCGI無しでも問題無く動作しますが、CGI動作が求められる場合も存在するため、その設定方法をNginx用に解説しました。また、関連プロセスの再読込みや再起動時に自動実行するように調整する手順も掲載しています。

4回目の投稿となります。
NHNテコラスの遠藤と申します。よろしくお願いいたします┏○

2,4,6月とこちらで過去3回コラムを書かせていただいてるものの、実はプライムストラテジー様の方々とお会いしたことが無かったのですが、先日(2017/7/27)当社からリリースした開発者向けのクラウドサービス「CloudGarage」のリリースパーティ上で代表の中村様、楠木様、岡田様に初めてご挨拶をさせていただくことが出来ました(;´ρ`)

短い時間でしたが、これからもKUSANAGIに関連した情報発信として書かせていただきたいことも、直接お伝え出来たので良かったです≧∇≦

CGI(perl)を動かしたい

KUSANAGIコマンドでプロビジョンされるCMSはPHPで動作するアプリケーションのためCGIが動かなくても殆どの方が問題ないのですが、中にはCMSとは別の領域にウェブサイトを公開され、そこでCGIを動かしたいというお問い合わせを適度にいただきます。

CGIを動作するようにするにはapacheとnginxで手順が異なりますが、KUSANAGIのデフォルトであるnginxを例として設定手順を紹介いたします。

色々入れる

yumでspawn-fcgi、fcgi-devel、Development Toolsをインストールします。
それぞれの役割は割愛しますが、nginxにプログラムを渡したりするのに必要です。
fcgiwrap はyumレポジトリ上に無いため、yumで入れられるfcgi-perlで動かす方法を紹介している外部サイトもそこそこあります。

 # yum --enablerepo=epel -y install spawn-fcgi fcgi-devel
 # yum -y groupinstall "Development Tools"
 # wget http://github.com/gnosek/fcgiwrap/tarball/master -O fcgiwrap.tar.gz
 # tar zxvf fcgiwrap.tar.gz
 # cd gnosek-fcgiwrap-*
 # autoreconf -i
 # ./configure
 # make
 # make install

spawn-fcgiの調整

# vim /etc/sysconfig/spawn-fcgi
以下1行を追記
OPTIONS="-u httpd -g www -a 127.0.0.1 -p 9001 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap" 

nginxの調整

nginxのconfファイル(/etc/nginx/conf.d/***.conf)に以下を追記(serverセクション内)。
追記後は念のため、 # nginx -t で構文エラーが出てないか確認してください。

 location ~ .cgi$ {
 fastcgi_pass 127.0.0.1:9001;
 fastcgi_index index.cgi;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include /etc/nginx/fastcgi_params;
 }

関連プロセスの再読込みと再起動時に自動実行するよう調整

# systemctl restart nginx
# systemctl restart spawn-fcgi
# chkconfig spawn-fcgi on

.cgiファイルを設置いただき、パーミッション755などにして動作すれば完了です。

いつも当社サポートセンターにお問い合わせいただいた時は、この参考手順をメールで書いて回答してたので、今後はコラムのURLをお伝えするようにいたします(´ー*`)


次回、10月ごろにお邪魔させていただきます。
ありがとうございました。

<< KUSANAGIはWordPressだけぢゃなぃ(´・д・`* = *´・д・`) (σ・∀・)σKUSANAGIで良くある質問3種 >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解