web-dev-qa-db-ja.com

nginxへのikiwikiのインストール-fastcgi / fcgiラッパー

私の最終的な目標はikiwikiをセットアップすることです。現在の目標は、fcgiラッパーをnginxで機能させることです。これにより、次のステップに進むことができます...

Ikiwikiページは、fcgiラッパーの例としてこのページを指摘しています。

http://technotes.1000lines.net/?p=2

これまでのところ、aptitudeを介してikiwikiおよびlibfcgi-Perlモジュールをインストールしました。

aptitude install libfcgi-Perl
aptitude install ikiwiki

それらのパッケージといくつかの最小限の依存関係パッケージをインストールしました。

したがって、technotesのガイドに続く次のステップでは、 http://technotes.1000lines.net/fastcgi-wrapper.pl を取得しましたが、実際にこのファイルを配置する場所がわかりません...実行してくださいサービスとして実行しますか?

スクリプトは/ var/run/nginxにソケットファイルを作成しますが、そのディレクトリは存在しません。手動で作成しますか?

したがって、cgiラッパーの.plファイルに加えて、パラメーター用に別のcgiファイルも定義する必要があります。私のconfがこのように見える場合...

    server {
        listen 80;
        server_name notes.domain.org;

        access_log /www/notes/public_html/notes.domain.org/log/access.log;
        error_log /www/notes/public_html/notes.domain.org/log/error.log;

        location / {
                root /www/notes/public_html/notes.domain.org/public/;
                index index.html;
        }

  }

そして、私はcgi-binディレクトリを持っていません。構造内で正確に作成する必要があります。それに関しては、confに含める前に、明らかに以下を更新する必要がありますが、正確にはわかりません。これがどのように機能するか。

# /cgi-bin configuration
location ~ ^/cgi-bin/.*\.cgi$ {
  gzip off;
  fastcgi_pass  unix:/var/run/nginx/Perl_cgi-dispatch.sock;  [1]*
  fastcgi_param SCRIPT_FILENAME /www/blah.com$fastcgi_script_name; [2]*
  include fastcgi_params; [3]*
}

また、ユーザーはwww-dataと/var/runはルート所有ですが、アクセスを許可する適切な方法は何ですか?

ヒントをいただければ幸いです。

2
meder omuraliev

apitudeを介してfcgiwrapをインストールする必要があります。箱から出して働いた。

ほとんどのnginxチュートリアルは、Debian固有ではないため、車輪の再発明を試みるか、古いソフトウェアまたは構成を使用してみてください。だから注意して、いつもより少し読んでください。

fyi、私のcgiロケーションブロック:

location ~ \.cgi {
        root    /usr/lib;
        fastcgi_pass  unix:/var/run/fcgiwrap.socket;
          # Fastcgi parameters, include the standard ones
        include /etc/nginx/fastcgi_params;
        # Adjust non standard parameters (SCRIPT_FILENAME)
        fastcgi_param SCRIPT_FILENAME  /usr/lib$fastcgi_script_name;
        fastcgi_param  AUTH_USER          $remote_user;
        fastcgi_param  REMOTE_USER    $remote_user;

}

/ etc/nginx/fastcgi_params

fastcgi_param   QUERY_STRING        $query_string;
fastcgi_param   REQUEST_METHOD      $request_method;
fastcgi_param   CONTENT_TYPE        $content_type;
fastcgi_param   CONTENT_LENGTH      $content_length;

fastcgi_param   SCRIPT_FILENAME     $request_filename;
fastcgi_param   SCRIPT_NAME     $fastcgi_script_name;
fastcgi_param   REQUEST_URI     $request_uri;
fastcgi_param   DOCUMENT_URI        $document_uri;
fastcgi_param   DOCUMENT_ROOT       $document_root;
fastcgi_param   SERVER_PROTOCOL     $server_protocol;

fastcgi_param   GATEWAY_INTERFACE   CGI/1.1;
fastcgi_param   SERVER_SOFTWARE     nginx/$nginx_version;

fastcgi_param   REMOTE_ADDR     $remote_addr;
fastcgi_param   REMOTE_PORT     $remote_port;
fastcgi_param   SERVER_ADDR     $server_addr;
fastcgi_param   SERVER_PORT     $server_port;
fastcgi_param   SERVER_NAME     $server_name;

ikiwikiのものは/ usr/lib/cgi-binにあり、 http:// server/cgi-bin / からアクセスできます。

1
jojoo