Назад | Перейти на главную страницу

Установка ikiwiki на nginx - оболочка fastcgi / fcgi

Моя конечная цель - настроить ikiwiki, моя текущая цель - заставить работать оболочку fcgi для nginx, чтобы я мог перейти к следующему шагу ...

Страница ikiwiki указывает эту страницу как пример оболочки fcgi:

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

Пока что я установил модули ikiwiki и libfcgi-perl через aptitude:

aptitude install libfcgi-perl
aptitude install ikiwiki

Он установил эти пакеты, а также несколько пакетов с минимальной зависимостью.

Итак, следующий шаг после руководства в технотах, я взял http://technotes.1000lines.net/fastcgi-wrapper.pl но я не уверен, где на самом деле разместить этот файл ... запускать его как службу?

Сценарий создает файл сокета в / var / run / nginx, но этот каталог не существует .. создать его вручную?

Поэтому в дополнение к файлу .pl для оболочки cgi мне также нужно определить отдельный файл 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, где именно я должен его создать в своей структуре, и в связи с этим мне, очевидно, придется обновить приведенное ниже, прежде чем я включу его в свою конфигурацию, но я просто не совсем уверен как это сработает.

# /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 принадлежит root, как правильно предоставить ему доступ?

Любые советы приветствуются.

вы должны установить fcgiwrap через apitude. работает из коробки.

большинство руководств по 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: // сервер / cgi-bin /