preamble
I will start it fast, you know that nginx is cool due to it faster than apache, and you know that t-wiki is good due to it is open-source enterprise wiki used by number of Fortune 500 companies. But you should also know that t-wiki is perl application.
“Perl – The only language that looks the same before and after RSA encryption.”
Keith Bostic
nginx setup
T-wiki developers don’t believe in power of nginx, it’s the only idea that come to my mind when I think why they have number of apache examples and even web-based apache configuration but nothing for nginx. Quick search in google shows that common question is “t-wiki perl scripts don’t have extensions. How to execute them with nginx?”
So, the only way is to read documenation.
list of docs to look into:
http://wiki.nginx.org/Configuration
http://wiki.nginx.org/HttpCoreModule
http://wiki.nginx.org/Pitfalls (try it for sure)
nginx config file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | server { listen my_ip:80; server_name my_servername.com www.my_servername.com; access_log /var/log/nginx/my_servername.com.access.log; location /wiki/pub { root /var/www; } location = /wiki/bin/configure { root /var/www; allow my_ip; deny all; fastcgi_pass unix:/var/run/fcgiwrap.socket; include /etc/nginx/fastcgi_params; } location ~ /wiki/bin/(?<action>[a-z]+)(\/(?<path>.*))?$ { root /var/www; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param SCRIPT_FILENAME $document_root/wiki/bin/$action; fastcgi_param SCRIPT_NAME $action; #identifies the resource to be returned by the CGI script, #and is derived from the portion of the URI path hierarchy following #the part that identifies the script itself. fastcgi_param PATH_INFO /$path; #virtual-to-physical translation appropriate to map it onto the #server's document repository structure fastcgi_param PATH_TRANSLATED $document_root/wiki/bin/$action; include /etc/nginx/fastcgi_params; } location ~ /wiki/(^/lib|^/data|^/locale|^/templates|^/tools|^/work) { deny all; } location = /favicon.ico { access_log off; log_not_found off; } } |
