Моя конечная цель - настроить 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 /