KUSANAGI上でnginxでmailmannoCGIを動かしたい
TOP › Forums › 使い方全般(Fixing KUSANAGI) › KUSANAGI上でnginxでmailmannoCGIを動かしたい
KUSANAGI上でnginxでmailmannoCGIを動かしたい
- This topic has 1 reply, 2 voices, and was last updated 7 years, 10 months ago by nullpopopo.
-
AuthorPosts
-
-
2017年2月2日 at 10:39 #110
皆様
こんにちは。寺薗と申します。
やや困ったことに出くわしてしまいましたので、ご相談させてください。うちのサイトはWordPressをメインにしつつあるのですが、実は一般的なサーバーとしても運用していて、その中にCGIを利用しなければならないものが出てきました。はっきり申し上げますとmailmanです。
mailmanはウェブインタフェースがPythonをベースとしたCGIプログラムで、メール管理はこのウェブインタフェースからしかできません(その他の操作は割とコマンドラインなどで対応できるのですが)。
なお、管理用のツールは/usr/lib/mailman/cgi-bin以下に存在しています。今回いろいろなウェブを参考にして、以下のようなやり方をとってみました。
・既存のKUSANAGI環境に影響を与えないように、ポート8080をベースとしてmailman専用の環境を構築
・こちら (http://blog.asial.co.jp/838) を参考にspawn−fcgiをインストール。
・php-fastcgiを/usr/bin以下に作成。#!/bin/sh
if [grep -c "nginx" /etc/passwd
= “1” ]; then
FASTCGI_USER=nginx
elif [grep -c "www-data" /etc/passwd
= “1” ]; then
FASTCGI_USER=www-data
elif [grep -c "http" /etc/passwd
= “1” ]; then
FASTCGI_USER=http
else
# Set the FASTCGI_USER variable below to the user that
# you want to run the php-fastcgi processes asFASTCGI_USER=
fi/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9001 -C 6 -u $FASTCGI_USER -f /usr/bin/php-cgi
ポイントですが、いちばん最後の行で本来はポート9000のところ、これがすでに使用されていたため、9001都への区しています。
・この状態でサービス起動
sudo systemctl start php-fastcgi (正常に終了)
・こちら (http://jhshi.me/2014/11/16/mailman-configuration-with-nginx-plus-fastcgi-plus-postfix-on-ubuntu/) を参考に、Mailman用のconfファイルmailman.confを/etc/nginx/conf.d以下に作成server {
server_name example.jp;
listen 8080;root /usr/lib/mailman/cgi-bin;
location /mailman {
root /usr/lib/mailman/cgi-bin;
fastcgi_split_path_info (^/mailman/[^/]+)(/.*)$;
fastcgi_pass unix:///var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}location /mailman-icons {
alias /usr/lib/mailman/icons;
}location /pipermail {
alias /usr/lib/mailman/archives/public;
autoindex on;
}
}・これでnginxを再起動(reload)して試してみているのですが、確かにサイトアクセスはしているものの、ずっとアクセスしっぱなしでmailman管理画面が出てこない、という状態になってしまっています。CGIとしてうまく動作していないようです。
他の設定もいろいろ試してみたのですが、どうもKUSANAGI側ですでに設定されているFastCGIの設定とかち合っている可能性があります。ただ、そこに手を入れるのはあまりに危険なので、なるべく触れずに…というところです。
なお、サーバーのメインの設定(ポート80を使用)は別途別ファイルで管理しており、そちらは問題なく稼働しています。
また、「ずっとアクセスし続ける」という症状がファイアウォールによるものの可能性があるため、念のためfirewalldの稼働を止めて試してもみたのですが、結果は変わりません。あまりKUSANAGIの利用方法としてCGIを使う(PHP以外の)というやり方は考えにくいかと思いますが、実は既存コンテンツでも一部CGIをまだ利用しているものがありますので、CGIが稼働できるとありがたい、という面はあります。
私もnginxの管理に慣れていないという面もありますが、何かヒント、あるいは解決法になります点をご教示いただけますと大変助かります。何卒よろしくお願いいたします。
-
2017年2月2日 at 17:54 #111
お世話になります。濱田です。
上記の情報のみでの判断となってしまいますが、
/usr/bin/php-fastcgi
で TCP 9001番ポートを指定されておりますが、一方で
/etc/nginx/conf.d/mailman.conf
では、UNIXドメインソケットを指定されておりますので、この不一致が原因で正常にアクセスできないのでは、と推察します。以上、ご確認いただけますでしょうか。
-
-
AuthorPosts
- You must be logged in to reply to this topic.