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; } } |



So, main drawback is complexity of captchas. Captchas are getting more and more complex or even unreal to deal with. Just check twitter with query like “recaptcha” and you’ll see amazing amount of people that wonder what is going on.