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月ごろにお邪魔させていただきます。
ありがとうございました。