在nginx上安装ikiwiki – fastcgi / fcgi包装

我的最终目标是设置ikiwiki,我目前的目标是获得一个fcgi包装器为nginx工作,所以我可以继续下一步…

ikiwiki页面指出了这个页面作为一个fcgi包装的例子:

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

到目前为止,我已经通过aptitude安装了ikiwiki和libfcgi-perl模块:

aptitude install libfcgi-perl aptitude install ikiwiki 

它安装了这些软件包以及一些最小的依赖包。

所以下一步在技术指南后,我抓住http://technotes.1000lines.net/fastcgi-wrapper.pl,但我不知道在哪里实际放置此文件…我作为一个服务运行它?

该脚本在/ var / run / nginx中创build套接字文件,但该目录不存在..我手动创build它吗?

所以除了cgi包装器的.pl文件之外,我还需要为参数定义一个单独的cgi文件。 如果我的configuration文件看起来像这样

  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目录,我应该在哪里创build它,在我的结构中,我明显需要更新下面的代码,但是我只是不确定这将如何工作。

 # /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拥有的,授予它访问权的正确方式是什么?

任何提示赞赏。

你应该通过apitude安装fcgiwrap 。 开箱即用。

大多数的nginx教程吸引人,因为它们不是debian特定的,试着重新发明轮子或使用旧的软件或configuration。 所以要小心,多读一点。

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 /